commit 3572da179b871c90ae31b706bfcd44bd3c76cf95 parent 8e0d64c4eac862a3955906915ee07f1e2784fe80 Author: nolash <dev@holbrook.no> Date: Wed, 9 Jun 2021 22:28:54 +0200 Update 6.9 Diffstat:
48 files changed, 6241 insertions(+), 20 deletions(-)
diff --git a/Makefile b/Makefile @@ -67,7 +67,7 @@ devserver-global: $(PELICAN) -lr $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS) -b 0.0.0.0 publish: - "$(PELICAN)" "$(INPUTDIR)" -o "$(OUTPUTDIR)" -s "$(PUBLISHCONF)" $(PELICANOPTS) + "$(PELICAN)" "$(INPUTDIR)" -t ./lash -o "$(OUTPUTDIR)" -s "$(PUBLISHCONF)" $(PELICANOPTS) local: "$(PELICAN)" "$(INPUTDIR)" -o "$(LOCALDIR)" -s "$(CONFFILE)" $(PELICANOPTS) diff --git a/content/20210419_docker_python.rst b/content/20210419_docker_python.rst @@ -6,7 +6,7 @@ Local python repository :author: Louis Holbrook :tags: docker,python,devops :slug: docker-offline-2-python -:summary: How to not be forced being online when forced to use docker +:summary: Feeding python packages to your offline Docker setup :series: Offline Docker :seriesprefix: docker-offline :seriespart: 2 @@ -14,9 +14,10 @@ Local python repository :status: published -.. CAUTION:: +.. + .. CAUTION:: - This is a purely technical article. You should probably be `this geeky <https://g33k.holbrook.no/c18beedd>`_ to continue reading. + This is a purely technical article. You should probably be `this geeky <https://g33k.holbrook.no/c18beedd>`_ to continue reading. In the previous part of this series we were able to connect a Docker network to a virtual interface on our host, neither of which have access to the internet. That means we are ready to host content for the container locally. And we will start out with creating a local Python repository. diff --git a/content/20210420_docker_offline.rst b/content/20210420_docker_offline.rst @@ -14,9 +14,10 @@ The routing to freedom :status: published -.. CAUTION:: +.. + .. CAUTION:: - This is a purely technical article. You should probably be `this geeky <https://g33k.holbrook.no/8319a926>`_ to continue reading. + This is a purely technical article. You should probably be `this geeky <https://g33k.holbrook.no/8319a926>`_ to continue reading. Five years ago I decided that I wanted to be able to work from anywhere, anytime. Four years ago, that promise was kept. In part. diff --git a/content/20210421_web_shapshot.rst b/content/20210421_web_shapshot.rst @@ -49,9 +49,10 @@ So what can we do? Copies and proofs are definitely keywords here. Fortunately, Look, no head ============= -.. WARNING:: - - Nerdy zone ahead +.. + .. WARNING:: + + Nerdy zone ahead A good start is to dump the document source to disk, then calculating and storing the sum of it. diff --git a/content/20210505_wasm_c_bare.rst b/content/20210505_wasm_c_bare.rst @@ -0,0 +1,258 @@ +wasm and C - The bare necessities +################################# + +:date: 2021-05-05 06:15 +:author: Louis Holbrook +:category: Code +:tags: wasm,c,clang,llvm +:slug: wasm-c-bare +:summary: The bare minimum needed for two-way communication between wasm and C +:lang: en +:status: published + + +I am currently resuming my self-improvement task of learning Webassembly. Or, I should rather say, *using* Webassembly. + +Since I have some optimized small code chunks that I want to use in an embedded environment, it seemed sensible that the first step would be to establish two-way communication with C. + +In my last outing around three years ago, I was using Emscripten_ to bridge the gap. That tool adds quite a few bells and whistles, and doesn't quite yield that warm, fuzzy bare-metal rush. Emscripten_ relies on Clang_ and LLVM_, all of which seem to have gotten their :code:`wasm` support built-in in the meantime (at least on my archlinux system). This it integrates nicely with wabt_ - the swiss-army knife of Webassembly. + +So how far do we get with just clang_, LLVM_ and wabt_ ? Let's see if we at least can set up a code snippet which simply writes *"foobar"* to memory. The host will write *"foo"*, and :code:`wasm` will write *"bar"*. + + + +Without libc +============ + +This excellent `tutorial by Surma <https://surma.dev/things/c-to-webassembly/>`_ provides a good starting point. Go ahead and **read that first**. This text is not a Webassembly primer, so the following will make a lot more sense if you do. + +That setup still adds some magic. Namely, the *memory* and *symbol table* are here added by the *wasm linker*. It would be even more fun to pass this from the host system instead. + +And so we start: [1]_ + +.. include:: code/wasm-c-bare/bare.c + :code: c + :number-lines: 0 + +Compiling this without linking gives us a hint on what needs to be defined. + +.. code-block:: bash + + $ clang --target=wasm32 -nostdlib -nostartfiles -o bare.wasm -c bare.c + $ wasm-objdump -x bare.wasm + bare.wasm: file format wasm 0x1 + + Section Details: + + Type[2]: + - type[0] () -> nil + - type[1] (i32) -> nil + Import[4]: + - memory[0] pages: initial=0 <- env.__linear_memory + - table[0] type=funcref initial=0 <- env.__indirect_function_table + - global[0] i32 mutable=1 <- env.__stack_pointer + - func[0] sig=1 <env.call_me_sometime> <- env.call_me_sometime + Function[1]: + - func[1] sig=0 <foo> + Code[1]: + - func[1] size=138 <foo> + Custom: + - name: "linking" + - symbol table [count=4] + - 0: F <foo> func=1 binding=global vis=hidden + - 1: G <env.__stack_pointer> global=0 undefined binding=global vis=default + - 2: D <__heap_base> undefined binding=global vis=default + - 3: F <env.call_me_sometime> func=0 undefined binding=global vis=default + Custom: + - name: "reloc.CODE" + - relocations for section: 3 (Code) [5] + - R_wasm_GLOBAL_INDEX_LEB offset=0x000007(file=0x000099) symbol=1 <env.__stack_pointer> + - R_wasm_GLOBAL_INDEX_LEB offset=0x00001c(file=0x0000ae) symbol=1 <env.__stack_pointer> + - R_wasm_MEMORY_ADDR_SLEB offset=0x000031(file=0x0000c3) symbol=2 <__heap_base> + - R_wasm_FUNCTION_INDEX_LEB offset=0x000073(file=0x000105) symbol=3 <env.call_me_sometime> + - R_wasm_GLOBAL_INDEX_LEB offset=0x000086(file=0x000118) symbol=1 <env.__stack_pointer> + Custom: + - name: "producers" + +Using nodejs as the host, we check if we can instantiate a :code:`WebAssembly` object + +.. include:: code/wasm-c-bare/bare_naive.js + :code: javascript + :number-lines: 0 + +Running this tells us we are apparently missing a property :code:`env` in the imports object. + +.. code-block:: bash + + $ node bare_naive.js + /home/lash/src/tests/wasm/bare/bare_naive.js:8 + const i = new WebAssembly.Instance(m, imports); + ^ + + TypeError: WebAssembly.Instance(): Import #0 module="env" error: module is not an object or function + +That seems to match with the :code:`Import` section in the :code:`objdump` output above. Let's stick the *memory* and *table* in there. [2]_ + +And let's make a bold guess that the callback function :code:`call_me_sometime` needs to go in there aswell. + +.. include:: code/wasm-c-bare/bare.js + :code: javascript + :number-lines: 0 + +The linker needs a little help from us for this: + +- Our callback function will not be available at link time, so we have to :code:`--allow-undefined` to promise that the host has got this covered. +- :code:`--import-memory` and :code:`--import-table` to enable us to get memory and symbol table from the host. +- :code:`--export="foo"` to make sure we only export exactly what we intend to from our :code:`wasm`. + + +.. code-block:: bash + + $ clang --target=wasm32 -nostdlib -nostartfiles -Wl,--no-entry -Wl,--export="foo" -Wl,--import-memory -Wl,--import-table -Wl,--allow-undefined -o bare.wasm bare.c + + +And that should give us: + +.. code-block:: bash + + $ node bare.js + heap is at: 66560 + heap contains: foobar + +This way of pointing to memory is of course grossly inadequate *and* unsafe *and* ridiculous for any purpose more advanced that this one. So some proper memory management would not be a bad thing. + + +Adding libc +=========== + +And what do you know. In other news since last time I looked at this is the addition of "a libc for WebAssembly programs built on top of WASI system calls." [wasi-libc]_. Let's see if we can add a slightly less manual way of handling memory with :code:`malloc` and :code:`memcpy` + +.. include:: code/wasm-c-bare/bare_libc.c + :code: c + :number-lines: 0 + +As you see, we need a few more parameters for the compiler and linker at this point. The :code:`--target=wasm32-unknown-wasi --sysroot /opt/wasi-libc .. /opt/wasi-libc/lib/wasm32-wasi/libc.a` is needed to hook us up with headers and symbols for the libc. + +My archlinux puts that sysroot in :code:`/opt/wasi-libc`, that may of course not be the case elsewhere. + +.. code-block:: bash + + $ clang -DHAVE_LIBC=1 --target=wasm32-unknown-wasi --sysroot /opt/wasi-libc -nostdlib -nostartfiles -Wl,--no-entry -Wl,--export="foo" -Wl,--import-memory -Wl,--import-table -Wl,--allow-undefined -o bare.wasm bare.c /opt/wasi-libc/lib/wasm32-wasi/libc.a + $ wasm-objdump -x bare.wasm + + bare.wasm: file format wasm 0x1 + + Section Details: + + Type[3]: + - type[0] (i32) -> nil + - type[1] () -> nil + - type[2] (i32) -> i32 + Import[3]: + - memory[0] pages: initial=2 <- env.memory + - table[0] type=funcref initial=1 <- env.__indirect_function_table + - func[0] sig=0 <call_me_sometime> <- env.call_me_sometime + Function[7]: + - func[1] sig=1 <foo> + - func[2] sig=2 <malloc> + - func[3] sig=2 <dlmalloc> + - func[4] sig=0 <free> + - func[5] sig=0 <dlfree> + - func[6] sig=1 <abort> + - func[7] sig=2 <sbrk> + Global[2]: + - global[0] i32 mutable=1 - init i32=67072 + - global[1] i32 mutable=0 <__heap_base> - init i32=67072 + Export[2]: + - func[1] <foo> -> "foo" + - global[1] -> "__heap_base" + Code[7]: + - func[1] size=171 <foo> + - func[2] size=10 <malloc> + - func[3] size=6984 <dlmalloc> + - func[4] size=10 <free> + - func[5] size=1908 <dlfree> + - func[6] size=4 <abort> + - func[7] size=78 <sbrk> + Data[2]: + - segment[0] memory=0 size=7 - init i32=1024 + - 0000400: 6261 7a62 6172 00 bazbar. + - segment[1] memory=0 size=500 - init i32=1032 + - 0000408: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 0000418: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 0000428: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 0000438: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 0000448: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 0000458: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 0000468: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 0000478: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 0000488: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 0000498: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 00004a8: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 00004b8: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 00004c8: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 00004d8: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 00004e8: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 00004f8: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 0000508: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 0000518: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 0000528: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 0000538: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 0000548: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 0000558: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 0000568: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 0000578: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 0000588: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 0000598: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 00005a8: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 00005b8: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 00005c8: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 00005d8: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 00005e8: 0000 0000 0000 0000 0000 0000 0000 0000 ................ + - 00005f8: 0000 0000 .... + Custom: + - name: "name" + - func[0] <call_me_sometime> + - func[1] <foo> + - func[2] <malloc> + - func[3] <dlmalloc> + - func[4] <free> + - func[5] <dlfree> + - func[6] <abort> + - func[7] <sbrk> + Custom: + - name: "producers" + +What luxury. And of course, our :code:`bare.wasm` file just grew from 350 bytes to 10k... + +We don't have to change our :code:`javascript` code at this point. Simply run again, and get: + +.. code-block:: bash + + $ node bare.js + heap is at: 67088 + heap contains: foobazbar + + +.. _Emscripten: https://emscripten.org/ + +.. _LLVM: https://llvm.org/ + +.. _clang: http://clang.org/ + +.. _wabt: https://github.com/WebAssembly/wabt + +.. _libc for wasi: https://github.com/WebAssembly/wasi-libc + +.. + + .. [1] :code:`__heap_base` will be set by default by the wasm environment, and is thus available as an external symbol. + +.. + + .. [2] After linking the memory symbol meeds to be called :code:`memory` instead of :code:`__linear_memory` for some reason. Thus we add both here for clarity. + + +.. + + .. [wasi-libc] https://github.com/WebAssembly/wasi-libc diff --git a/content/20210508_nft_tokenid_content.rst b/content/20210508_nft_tokenid_content.rst @@ -0,0 +1,161 @@ +The NFT token id as URI +####################### + +:date: 2021-05-08 19:14 +:modified: 2021-05-10 09:18 +:category: Code +:author: Louis Holbrook +:tags: nft,evm,hash,key-value store,decentralized storage +:slug: nft-tokenid-content +:lang: en +:summary: How to embed asset references for NFTs that are independent of providers in the current standard. +:status: published + + +Let's consider an NFT that works like a badge for participating in development of a software project. + +This token is awarded as a proof that the task was completed. + +To make things more fun, each NFT should have some unique, immutable content attached to it. + +In other words, the properties of this token, once set, should never change. + +Nor should they disappear. + +So how do we refer to the artwork asset within the token standard? + + +It was acceptable at the time +============================= + +The ERC721 standard is not explicit about where the assets that belong with the NFT can be discovered and resolved. + +At the time when the standard was adopted by the Ethereum community, there were multiple *"[...] Alternatives considered: put all metadata for each asset on the blockchain (too expensive), use URL templates to query metadata parts (URL templates do not work with all URL schemes, especially P2P URLs), multiaddr network address (not mature enough)."* Furthermore, they *"[...] considered an NFT representing ownership of a house, in this case metadata about the house (image, occupants, etc.) can naturally change."* [EIP721]_ + +A "changing house" doesn't sound quite like what we need. And anyway; if we stick a good old web2 URI in there, then that will end up on the great bonfire of dead links before long. + + +Image, schmimage +================ + +To be honest, I find the presumption in the optional EIP721 metadata structure to be surprisingly short-sighted. It *specifically* defines the asset as an image, and at the same time is presupposes that only a *single* asset file will be used. + +We may want to add *multiple* sources, so this is another obstacle for us. + +So how to get around this, while still playing nice with existing implementations out there? Two ideas come to mind: + +- Embed a *thumbnail* as a preview of the artwork using a :code:`base64` *data URI* [1]_ in the metadata. Stick :code:`name` and :code:`description` on it, and the schema is still fulfilled. +- *Extend* the structure with a list of *attachments* that *our* application layer knows about. Of course, each of these can have the same format as above. + +In other words: + +.. include:: code/nft-tokenid-content/erc721_metadata_schema_base.json + :code: json + + +Mirror, mirror +============== + +Since the asset reference shouldn't change, we can refer to it by its fingerprint or `content address <https://en.wikipedia.org/wiki/Content-addressable_storage>`_. If we define that the resource can be looked up over HTTP by that fingerprint as its basename, then we are free to define and modify whatever list of mirrors for that resource that's valid for any point in time. The application layer would simply try the endpoints one after another. + +We take the :code:`sha2-256` of the asset reference (the json file above, free of evil whitespace and newlines): + +.. code-block:: bash + + $ cat reference.json | jq -c -j | sha256sum | awk '{ print $1; }' + 3fdfbfe3b510b69f90cd92618e4c1ec76cf8b9c330bc2da1922acda8f84f9551 + +Imagine we had a mirror list of https://foo.com and https://bar.com/baz/. Then our application would try these urls in sequence, stopping at the first that returns a valid result: + +.. code-block:: text + + https://foo.com/3fdfbfe3b510b69f90cd92618e4c1ec76cf8b9c330bc2da1922acda8f84f9551 + https://bar.com/baz/3fdfbfe3b510b69f90cd92618e4c1ec76cf8b9c330bc2da1922acda8f84f9551 + +Once we receive the content, all we have to do is hash it ourselves and verify that the sum matches the basename of the URI. If it doesn't the result is of course not valid and we continue down the list, appropriately banning the mischievous server then throrougly harassing its admin. + + +Cast away +========= + +Since our fingerprint is 32 bytes, it fits exactly inside the :code:`tokenId` (:code:`uint256`). Let's decide to big-endian numbers when converting (I find them easier to make sense of). In that case our hash from the reference turns into this modest number: + +.. code-block:: python + + # python3 + >>> hx = bytes.fromhex('3fdfbfe3b510b69f90cd92618e4c1ec76cf8b9c330bc2da1922acda8f84f9551') + >>> int.from_bytes(hx, byteorder='big') + 28891040728719892888467057134569335350980764617882743994259054993630416573777 + +As long as we're composing the :code:`evm` inputs ourselves, we don't really have to worry about the integer representation in this particular case. But the interface is defined as an integer type, and other mortals may be using higher level interfaces, we have to be explicit about our choice. + + +Welcoming mint +============== + +Assume we have a method :code:`mintTo(address _recipient, uint256 _tokenId)` on our NFT contract. The Solidity signature of that contract is :code:`edb20b7e` [3]_. If I were to mint to myself then the input to the contract would be: + +.. code-block:: text + + edb20b7e000000000000000000000000185cbce7650ff7ad3b587e26b2877d95568805e33fdfbfe3b510b69f90cd92618e4c1ec76cf8b9c330bc2da1922acda8f84f9551 + +Broken down: + +.. code-block:: text + + signature: edb20b7e + address, zero-padded: 000000000000000000000000185cbce7650ff7ad3b587e26b2877d95568805e3 + token id: 3fdfbfe3b510b69f90cd92618e4c1ec76cf8b9c330bc2da1922acda8f84f9551 + +The corresponding web3.js code would look like: + +.. code-block:: javascript + + const c = new web3.eth.Contract([...], '0x...'); + c.methods.mintTo('0x185cbce7650ff7ad3b587e26b2877d95568805e3', 28891040728719892888467057134569335350980764617882743994259054993630416573777).call(); + +To satisfy the `tokenURI` method, we can generate a string that's prefix with sha256 as a "scheme" [4]_. A bit of (unoptimized) solidity helps us out here: + +.. include:: code/nft-tokenid-content/tohex.sol + :code: solidity + +This will return :code:`sha256:3fdfbfe3b510b69f90cd92618e4c1ec76cf8b9c330bc2da1922acda8f84f9551` for :code:`tokenId` :code:`3fdfbfe3b510b69f90cd92618e4c1ec76cf8b9c330bc2da1922acda8f84f9551` as input, provided that the :code:`tokenId` actually exists. That may seem a bit useless at first, but consider the scenario where we want to interface with other NFTs aswell. Or perhaps we are implementing a contract that optionally can support a static web2 URI in storage. By doing it this way, all bases are covered. + + +Decentralized identifiers +========================= + +Even better would be to add redundancy with autonomous decentralized storage. However, networks like `Swarm <https://ethswarm.org>`_ and `IPFS <https://ipfs.io>`_ use their own hashing recipes. That means that for every network referenced, we'd have to define an *alternative* in our reference structure. + +Referencing the canonical :code:`sha256` aswell as the :code:`Swarmhash` for the same item could then look like this [5]_: + + +.. include:: code/nft-tokenid-content/erc721_metadata_schema_swarm.json + :code: json + +---- + +.. + + .. [1] Yes, they are valid URIs actually: https://www.rfc-archive.org/getrfc.php?rfc=2397 + +.. + + .. [2] Likely it would be prudent to start using the official :code:`sha3` instead of :code:`sha2` these days, also because the :code:`sha2` hash is not a builtin for :code:`evm`. But neither is :code:`sha3`. The :code:`keccak256` Bitcoin uses, which EVM has inherited, is a pre-cursor to the :code:`keccak` published as the *official* :code:`sha3`. Still, :code:`keccak256` and :code:`sha3` is used interchangeably in opcode lists (and previously in `Solidity <https://docs.soliditylang.org/en/v0.8.0/050-breaking-changes.html#functions>`_ too). This has caused me quite a fair bit of confusion, I might add. Apart from it being ambiguous, the :code:`keccak256` tooling is also less common in the wild. Therefore :code:`sha2` seems like a safer bet for our experiments. It's not broken yet, after all. + +.. + + .. [3] The hex result of :code:`keccak256("mintTo(address,uint256)")` + + +.. + + .. [4] *Data URI* is of no use here, because the hash itself is just nondescript binary data. Luckily :code:`<scheme>:<path>` is still a valid URI. + +.. + + .. [5] Here the hashes represent the media content itself, not the reference. That's why the :code:`sha256` one is different than before. + +.. + + .. [EIP721] https://eips.ethereum.org/EIPS/eip-721 diff --git a/content/20210510_ipfs_api_dissect.rst b/content/20210510_ipfs_api_dissect.rst @@ -0,0 +1,50 @@ +Dissecting the IPFS get +####################### + +:title: Dissecting the IPFS API +:date: 2021-05-01 08:40 +:slug: ipfs-api-get +:category: Code +:status: draft + + +.. code-block:: bash + + $ curl -X POST "http://localhost:5001/api/v0/object/get?arg=QmWajb6k7oT9HVTq5hgnGZqRxzwwA2g7D33MFjzd2nVcXw" + {"Links":[{"Name":"","Hash":"QmZeEX1hbQtj34TPLdbUwbFtQBGAmanTVUB6HuiTcrLrfQ","Size":262158},{"Name":"","Hash":"QmWdaV34ArzVJH2Si9CxS9b5SxCnmU1HMuEXNA137XoV4f","Size":262158},{"Name":"","Hash":"QmUgSEJDRj7So3x7n8RaUfiLfcDy5CyqY7btJdm6B7z4Ae","Size":131390}],"Data":"\u0008\u0002\u0018\ufffd\ufffd( \ufffd\ufffd\u0010 \ufffd\ufffd\u0010 \ufffd\ufffd\u0008"} + +.. code-block:: bash + + $ curl -X POST "http://localhost:5001/api/v0/get?arg=QmZeEX1hbQtj34TPLdbUwbFtQBGAmanTVUB6HuiTcrLrfQ" | hexdump -C -n1024 + 00000010 4c 64 62 55 77 62 46 74 51 42 47 41 6d 61 6e 54 |LdbUwbFtQBGAmanT| + 00000020 56 55 42 36 48 75 69 54 63 72 4c 72 66 51 00 00 |VUB6HuiTcrLrfQ..| + 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| + * + 00000060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 |....0000644.0000| + 00000070 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 |000.0000000.0000| + 00000080 31 30 30 30 30 30 30 00 31 34 30 34 36 31 35 33 |1000000.14046153| + 00000090 30 33 36 00 30 31 37 31 37 32 00 20 30 00 00 00 |036.017172. 0...| + 000000a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| + * + 00000100 00 75 73 74 61 72 00 30 30 00 00 00 00 00 00 00 |.ustar.00.......| + 00000110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| + * + 00000140 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 |.........0000000| + 00000150 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 |.0000000........| + 00000160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| + * + 00000200 47 49 46 38 39 61 f4 01 7b 01 f7 fb 00 94 31 17 |GIF89a..{.....1.| + 00000210 ac c7 d8 a8 c6 ec d5 70 4b 90 8a 71 e9 cd a9 c6 |.......pK..q....| + +.. code-block:: bash + + $ curl -X POST "http://localhost:5001/api/v0/get?arg=QmZeEX1hbQtj34TPLdbUwbFtQBGAmanTVUB6HuiTcrLrfQ" | dd bs=512 skip=1 > pat.gif + $ curl -X POST "http://localhost:5001/api/v0/get?arg=QmWdaV34ArzVJH2Si9CxS9b5SxCnmU1HMuEXNA137XoV4f" | dd bs=512 skip=1 >> pat.gif + $ curl -X POST "http://localhost:5001/api/v0/get?arg=QmUgSEJDRj7So3x7n8RaUfiLfcDy5CyqY7btJdm6B7z4Ae" | dd bs=512 skip=1 >> pat.gif + +.. code-block:: bash + + $ curl -X POST "http://localhost:5001/api/v0/cat?arg=QmWajb6k7oT9HVTq5hgnGZqRxzwwA2g7D33MFjzd2nVcXw" -o pat2.gif + $ diff pat2.gif pat.gif + $ echo $? + 0 diff --git a/content/20210516_village_protocol.rst b/content/20210516_village_protocol.rst @@ -0,0 +1,322 @@ +A village network protocol +########################## + +:date: 2021-05-19 10:40 +:category: Hygiene +:author: Louis Holbrook +:tags: p2p,protocol,network,crm,privacy,f2f,community +:slug: village-network-protocol +:summary: What would truly peer-to-peer CRM backend look like? +:lang: en +:status: published + + +What would truly peer-to-peer CRM backend look like? And at that, once that respected the right of the "customer" to choose how it wants to represent itself in the context? + +Perhaps by Modeling the network on how villages treat strangers and their own, and how you would go about interacting with them. + +Here's an initial stab at describing what such a meta-protocol could look like. + +.. There is no truth. There is only perspective and predictability. + +Terms +===== + +Individual + A subjective structure where the thing being described is the thing that described it. + +User + A particular perception of an individual by an entity in the network. + +Userspec + Data structure containing details about a user. May or may not be public. + +Locals + A group of individuals acknowledging each other as part of a group, and who share views on users. + +Local + A member of a group of locals, from the shared perspective of an individual and another local. + +Localslist + The individuals making up a group of locals, from the perspective of a local. + +Stranger + A user as percieved by a group of locals. + +Strangerlist + All users that may speak to the locals, from the perspective of a local. To be shared among locals. + +Strangerspec + Userspec created by a local describing a user. To be shared among locals. + +Entity + An individual or any derived representation of it (user, stranger, local). + +Peer + An entity coupled with connection information + +Content address + SHA256 sum of arbitrary content + +Key setup + May be an individual key, or a specification describing how to generate keys for a particular relation. + + +Roles +===== + + +The individuals +--------------- + +Are free to have their own opinion of what they are. + +When interacting with others, they are free to choose what they say about what they are. + +An individual initially *defines itself* in the network. + + +The users +--------- + +A user is a view of an individual as defined by one or more other individuals. + +It may be how an individual presents itself to an particular individual or a group. + +It may also be how an individual or a group presents another individual to itself. + + +The locals +---------- + +Locals are a group of individuals who wish to share a view of themselves and prejudice about others. + +An individual will not be treated as a local unless it and its local counterpart considers it a local. + +Locals may acknowledge strangers with or without proof. + +If one local changes opinion about a stranger, all locals should change their opinon to the same. + +If one local excludes a stranger, all locals should exclude the stranger. + +You can't keep secrets in a village. If someone says something to another local, it must assume all locals will get to know what was said. + + +The strangers +------------- + +A stranger is a user that's not considered local by a group of locals. + +A stranger may not speak to a local until the local has decided it can. + +If a stranger may speak to one local, it may speak all locals. + + +Identifiers +=========== + +The :code:`individual_id` is the identifier of an individual consists of the content address of some basic public data about the entity registering itself. The :code:`individual_id` is immutable. + +Any local will refer to another local by its :code:`individual_id`. + +A :code:`user_id` is the content address of an :code:`individual_id` together with the content address of some basic data describing the perception of the individual. + +Locals describe stranger by a pair of :code:`individual_id` and :code:`user_id`. Let us call this :code:`stranger_id`. The :code:`stranger_id` is immutable. + +The data represented by the :code:`user_id` in a :code:`stranger_id` is visible to locals, and may or may not be public. + + +State description +================= + +A user keeps a state towards other entities consisting of the following content-addresses, in the given order: + +1. Previous state +2. Userspec + +A local keeps a state towards its locals consisting of the following content-addresses, in the given order. + +1. Previous state +2. Userspec +3. Localslist +4. Locals state +5. Strangerslist +6. Strangers state + +The state is represented by the content address of the concatenation of these content-addresses, in the given order. + +Any state change will be signed by the key resolvable through the :code:`individual_id`. + + +Previous state +-------------- + +The content address of the previous state. Will be :code:`0` in the first state. + + +Userspec +-------- + +The individual as it wants to be perceived in the current context. There is no guarantee that the individual will be viewed in this way by others. + + +Localslist +---------- + +A lexiographically ordered array of :code:`individual_id` that define the individuals in a group of locals. + +All locals must keep this list in the same state. + + +Locals state +------------ + +A local's last recorded state of each of the locals, in the same order as :code:`Localslist`. + +The recorded state is the same content address as in the state description section above. + +All locals must strive to keep this in the same state. + + +Strangerslist +------------- + +A lexiographically ordered pointer array representing a local's opinion of which users that can communicate with locals. [1]_ + +Combination of :code:`stranger_id` and a *vote* on the specific user. + +The vote can be in one of three states: + +- Value :code:`0`, meaning local has acknowledged the user, explicitly or by following other locals. We call this state "deferred." +- Value :code:`-1`, meaning a local has vetoed the user. We call this state "vetoed." +- Any other value, which is the content-address of the proof accepted by the local. [2]_ We call this state "accepted." + +Typically, the initial vote value is :code:`0`. The value may change at any time, but may never change back to :code:`0` once set to another value. + +A user that is part of the list, but not vetoed, is referred to as "acknowledged." + +The Strangerslist state may be differ between locals, but they should strive to keep it the same. + + +Strangers state +--------------- + +The local's version of the current user state of the strangers, in the same order as the :code:`Strangerlist`. + +The Strangers state may differ between locals, but they should strive to keep it the same. + + +Behavior of locals +================== + +A local may announce itself as *active* or *passive*. This should be part of the :code:`Userspec` in the locals context. + + +Specifically, this affects the way it "votes" on strangers. A passive local: + +- Will always *veto* a user if *at least one active local* has vetoed it. +- Will always *accept* a user if *all active locals* have accepted it. [3]_ + +Typically, a passive local will be a bot, for example an always-online node that guarantees availability of the locals so users can request state changes. + +There must be at least two active locals in any group of locals. + + +Veto dissent +------------ + +If a local vetoes a stranger, then all locals should cut communication with that stranger. + +Vetoes should be adopted by all locals. + +If, however, other locals consider the veto to be issued in error, there are two possible outcomes: + +1. The vetoing local(s) abandon(s) the veto. [4]_ +2. The vetoing individual(s) is/are excluded by the locals. + + +Network +======= + +Any entity needs to define and announce itself as a :code:`peer` in order to be available on the network. + +A "peer" is the coupling of network connection information to an :code:`individual_id`. + + +Discoverability +--------------- + +Peers are kept in a `DHT <https://en.wikipedia.org/wiki/Distributed_hash_table>`_. + +Peers must be discoverable by their locals affiliation. [5]_ + + +Users +----- + +Users open single-request connections to other users to annonunce, look up and prune peers. + +Users may request state changes for themselves, or relay such requests for other users. + + +Locals +------ + +Locals keep open connections (streams) with each other. + +Locals continually exchange state changes. + +Locals should be able to audit the chain of state changes of other locals. + + +Between locals and users +------------------------ + +Strangers *acknowledged* by locals open single-request connections to a local to announce state changes. + +Locals may open single-request connections to a user to announce a change to the state of the :code:`Userspec` of a stranger. [6]_ + +Individuals are free to deny connections from non-locals, for example if the entity has been sending garbage requests. The implementation of such sanctions is deferred to the application layer. + + +Encryption +========== + +An individual may keep content totally private on the network. + +A user may keep different encryption keys for different contexts. + +If a stranger shares a key setup with a local, that setup will be shared among all locals. A local will expect to be able to communicate with a strangerr using this key setup. + +The stranger must be able to change the key setup towards locals. + +The locals may be able to change the key setup towards a stranger. + +The protocol should allow anything from simple symmetric key exchanges to complex forward/backward secrecy schemes. + +.. + + .. [1] Insert in this sorted list will face scaling issues when locals need to acknowledge a lot of users. The lists can be split into `buckets <https://en.wikipedia.org/wiki/Bucket_%28computing%29>`_, either statically (for example two-byte prefixes) or dynamically after crossing a certain threshold. It should not be necessary to store empty buckets. + +.. + + .. [2] This proof may map to what's commonly known as *kyc information*. + + +.. + + .. [3] Perhaps with the further limitation that all active users must have accepted with the *same* proof. Otherwise, how will the passive local choose which proof to accept. + +.. + + .. [4] Observe that since the vote state cannot change back to :code:`0`, "cancelling" the veto can only be done by adding proof. + +.. + + .. [5] What exactly uniquely identifies a group of locals on the network in such a way that it cannot be hi-jacked or spoofed still needs to be thought through. Perhaps it can be a combination of a specific name with a signature from the "founders;" the first (two or more) locals in it. + +.. + + .. [6] A use-case here would be where the locals make a change for the user due to an out-of-band request from the user. This is *not* the :code:`Strangerspec`; it is the user's current :code:`Userspec` for the given context. Of course, it's up to the user to accept the change. It may in turn request a new state change to the locals to revert it. + + diff --git a/content/20210524_docker_npm.rst b/content/20210524_docker_npm.rst @@ -0,0 +1,249 @@ +Local npm repository +#################### + +:date: 2021-05-25 11:47 +:category: Offlining +:author: Louis Holbrook +:tags: docker,npm,nodejs,javascript,devops +:slug: docker-offline-3-npm +:summary: Feeding npm packages to your offline Docker setup +:series: Offline Docker +:seriesprefix: docker-offline +:seriespart: 3 +:lang: en +:status: published + + +As expected, serving a local ``npm`` repository is a *lot* less straightforward than that for ``pip`` and ``python``. + +The npm registry uses the :code:`CouchDB` nosql server as backend to resolve dependencies and serve resource metadata. The :code:`npm` CLI tool expects a corresponding json response to requests that cite the *name* (and not the path) of the package. + +Let's ask the `registry <https://registry.npmjs.org>`_ [1]_ for the package ``ftp``, and have a look at the response (excerpt): + + +.. code-block:: console + + $ curl -X GET https://registry.npmjs.org/ftp | jq + { + "_id": "ftp", + "_rev": "113-89fe76508a7ece41b4c9a157114f966f", + "name": "ftp", + "description": "An FTP client module for node.js", + "dist-tags": { + "latest": "0.3.10" + }, + "versions": { + + + + "0.3.10": { + "name": "ftp", + "version": "0.3.10", + "author": { + "name": "Brian White", + "email": "mscdex@mscdex.net" + }, + "description": "An FTP client module for node.js", + "main": "./lib/connection", + "engines": { + "node": ">=0.8.0" + }, + "dependencies": { + "xregexp": "2.0.0", + "readable-stream": "1.1.x" + }, + "scripts": { + "test": "node test/test.js" + }, + "keywords": [ + "ftp", + "client", + "transfer" + ], + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/mscdex/node-ftp/raw/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/mscdex/node-ftp.git" + }, + "bugs": { + "url": "https://github.com/mscdex/node-ftp/issues" + }, + "homepage": "https://github.com/mscdex/node-ftp", + "_id": "ftp@0.3.10", + "_shasum": "9197d861ad8142f3e63d5a83bfe4c59f7330885d", + "_from": "https://github.com/mscdex/node-ftp/tarball/v0.3.10", + "_resolved": "https://github.com/mscdex/node-ftp/tarball/v0.3.10", + "_npmVersion": "1.4.28", + "_npmUser": { + "name": "mscdex", + "email": "mscdex@mscdex.net" + }, + "maintainers": [ + { + "name": "mscdex", + "email": "mscdex@mscdex.net" + } + ], + "dist": { + "shasum": "9197d861ad8142f3e63d5a83bfe4c59f7330885d", + "tarball": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz" + }, + "directories": {} + } + }, + + +That looks a lot like embellished contents of the basic package.json set up by :code:`npm init`, except it's wrapped in a versions array. It also explicitly defines an *absolute* url to a `tarball` under the `dist` key. [2]_ + + +How low can you go +================== + +It seems that all that's needed is a json index page served for the package name subpath of repository path, together with the tarball itself. We check this by putting together an utterly pointless package ``foobarbarbar``: + +**foobarbarbar/index.js** + +.. include:: code/docker-offline-3-npm/foobarbarbar/index.js + :code: javascript + :name: foobarbarbar/index.js + +**foobarbarbar/package.json** + +.. include:: code/docker-offline-3-npm/foobarbarbar/package.json + :code: json + :name: foobarbarbar/package.json + +Then make a tarball from those two files named ``foobarbarbar-1.0.0.tgz``, take the sha1 sum of it, + +Remembering our `virtual interface setup from the pip example <{filename}/20210419_docker_python.rst>`_ we stick it behind our webserver (here with npm sub-path) and add our minimal version json wrapper: + +**package.json** + +.. include:: code/docker-offline-3-npm/package.json + :code: json + :name: package.json + + +Making introductions +==================== + +The central trick here is to serve a json document as the "directory index" of the HTTP server. It's useful to remind ourselves at this point that we are *not* setting up a *registry* but a *repository* that contains provisions for a *locked* or *frozen* dependency graph. The former would surely need some of the ``CouchDB`` magic to resolve dependencies. Our assumption is that the latter can theoretically be realized using static files. + +In other words; just as with the previous `python repository example <{filename}/20210419_docker_python.rst>`_, we don't try to handle dependency resolutions for pip, but merely serve the actual package files after dependences have been resolved. + +With Apache Web Server, using the ``package.json`` as the directory index is as easy as: + +.. code-block:: markup + + <Directory "/srv/http/npm"> + DirectoryIndex package.json + </Directory> + +Of course adjusting the `Directory` path as needed to match the local setup. + +Make sure that the tarball and the latter `package.json` can be found in the `foobarbarbar` virtual subfolder of the above `Directory` directive path: + +.. code-block:: console + + $ ls /srv/http/npm/foobarbarbar/ + -rw-r--r-- 1 root root 351 May 24 18:38 foobarbarbar-1.0.0.tgz + -rw-r--r-- 1 root root 380 May 25 09:36 package.json + +Set the registry entry in your ``~./npmrc`` as follows: + +.. code-block:: ini + + registry=http://10.1.2.1/npm + +Then restart the Apache server and give it a go: + +.. code-block:: console + + $ npm install --verbose foobarbarbar + npm verb cli [ '/usr/bin/node', '/usr/bin/npm', 'install', '--verbose', 'foobarbarbar' ] + npm info using npm@7.13.0 + npm info using node@v16.1.0 + [...] + npm http fetch GET 200 http://10.1.2.1/npm/foobarbarbar/ 6ms + [...] + npm http fetch GET 200 http://10.1.2.1/npm/foobarbarbar/foobarbarbar-1.0.0.tgz 25ms + [...] + added 2 packages in 545ms + npm timing command:install Completed in 70ms + [...] + + +Cache dodging +============= + +Seriously, ``npm --help`` leaves a lot to be desired. However, the online ``npm install`` documentation does not yield any more clues as to whether it gives you an option of ignoring local cache like you can with ``pip --no-cache``. This is a major pain in the ass, as you have to remember to keep your ``~/.npm`` folder clean between each install attempt. Otherwise, changes you make to the repository won't be used by ``npm install``. + +While testing, it pays to use a folder fairly close to the fs root, like a subfolder in `tmp`. That way, you won't be thrown off by some stray `node_modules` folder somewhere down the tree. + + +Think locally, act locally +========================== + +Serving packages globally apparently comes down to this: + +1. Pull the ``package.json`` versions list from a proper registry. +2. Get the tarball +3. Transform the absolute package url to our host instead. (sigh) +4. (optional) Prune all the versions and metadata which is not needed (anything that's not in our minimal ``foobarbarbar`` example above). + +Obviously, this is an annoyingly large amount of work to code up parsing and retrieval for. + +Incidentally, there is a very nice tool called `verdaccio <https://verdaccio.org>`_ which gets us most of the way there. [3]_ Its *storage* directory [4]_ uses exactly the directory structure we need. After retrieving a package collection using it as a proxy, getting the files in place is merely a case of copying [5]_ the files from the *storage* directory to the corresponding webserver directory. + +Looking at the ``package.json`` versions wrapper saved by ``verdaccio``, however, we see that it still preserves the absolute path of the upstream registry. Sadly we are still left with doing the third task ourselves. + +As parsing json is one of my least favorite things in the world, I won't include the code for this last step here. For now it's sufficient that we understand the minimums required for manually setting up and serving a static, local, offline npm repository. Regardless of the pain involved. + + +Making it personal +================== + +Whether we massage jsons ourselves or lazily resort to ``verdaccio``, the final step we need to take is the same: Setting the registry url in the npm configuration of the docker image. + +This is merely a case of setting the registry url in the `npmrc <https://docs.npmjs.com/cli/v6/configuring-npm/npmrc#files>`_ inside the container. + +.. code-block:: console + + $ docker run -it [...] npm config ls -l | grep etc/npmrc + globalconfig = "/usr/etc/npmrc" + +To get at our manually provided ``foobarbarbar`` package from before, the dockerfile will be (using archlinux): + +.. code-block:: docker + + [...] + RUN pacman -S nodejs npm + RUN mkdir -vp /usr/etc + RUN echo "registry=http:/10.1.2.1/npm" > /usr/etc/npmrc + WORKDIR /root + RUN npm install foobarbarbar + +.. + + .. [1] This was the registry address I had in my `~/.npmrc` or whether I put it in myself. + +.. + + .. [2] I have tried using a relative path instead, both with and without a leading ``/``, but in either case the install then errors our complaining that the lock file is "corrupt." Whether the schema allows a base-url setting I do not know, as the schema documentation doesn't seem to be readily available. + +.. + + .. [3] In fact, ``verdaccio`` by itself solves the particular problem that we're trying to solve; providing an offline repository alternative. The task at hand, however, is to understand how to cope *without* using other tools than what can be considered base infrastructure (i.e. a web server). + +.. + + .. [4] Should be ``/etc/verdaccio/storage``; see ``/etc/verdaccio/config.yaml`` + +.. + + .. [5] An alternative approach would be to set the storage path to point to the same folder as the web server is serving. However, since we need to mess with the tarball paths diff --git a/content/20210609_iup.rst b/content/20210609_iup.rst @@ -0,0 +1,20 @@ +Internet up monitor +################### + +:date: 2021-06-09 22:26 +:category: Hygiene +:author: Louis Holbrook +:tags: bash,systemd,network +:slug: internet-up-monitor +:summary: A small script to detect internet status +:lang: en +:status: draft + + +.. include:: code/iup/iup.sh + :code: python + + +.. include:: code/iup/iup.service + :code: systemd + diff --git a/content/20210609_python_pipe_args.rst b/content/20210609_python_pipe_args.rst @@ -0,0 +1,15 @@ +Python pipe args +################ + +:date: 2021-06-09 22:08 +:category: Code +:author: Louis Holbrook +:tags: python,cli +:slug: python-pipe-args +:summary: Getting arguments as piped input or positionals +:lang: en +:status: draft + + +.. include:: code/python-pipe-atgs + :code: python diff --git a/content/code/docker-offline-3-npm/foobarbarbar-1.0.0.tgz b/content/code/docker-offline-3-npm/foobarbarbar-1.0.0.tgz Binary files differ. diff --git a/content/code/docker-offline-3-npm/foobarbarbar/index.js b/content/code/docker-offline-3-npm/foobarbarbar/index.js @@ -0,0 +1,7 @@ +module.exports = { + 'smth': smth, +} + +function smth() { + console.log('foo'); +} diff --git a/content/code/docker-offline-3-npm/foobarbarbar/package.json b/content/code/docker-offline-3-npm/foobarbarbar/package.json @@ -0,0 +1,8 @@ +{ + "name": "foobarbarbar", + "version": "1.0.0", + "description": "Foo repo", + "main": "index.js", + "author": "Foo Bar", + "license": "GPL3", +} diff --git a/content/code/docker-offline-3-npm/ftp_package.json b/content/code/docker-offline-3-npm/ftp_package.json @@ -0,0 +1,21 @@ +{ + "name": "foo", + "versions": { + "1.0.0": { + "name": "foo", + "version": "1.0.0", + "description": "Foo repo", + "main": "index.js", + "author": "", + "license": "ISC", + "dependencies": { + "bar": "0.0.1" + }, + "dist": { + "shasum": "30db46b324f1b99234d2492b68cb6f1794d82c79", + "tarball": "http://localhost/npm/foo/foo-1.0.0.tgz" + } + + } + } +} diff --git a/content/code/docker-offline-3-npm/package.json b/content/code/docker-offline-3-npm/package.json @@ -0,0 +1,18 @@ +{ + "name": "foobarbarbar", + "versions": { + "1.0.0": { + "name": "foobarbarbar", + "version": "1.0.0", + "description": "Foo repo", + "main": "index.js", + "author": "Foo Bar", + "license": "GPL3", + "dist": { + "shasum": "2ccd68498ef5f2bfa00f0e1e59f44686fdb296ee", + "tarball": "http://10.1.2.1/npm/foobarbarbar-1.0.0.tgz" + } + + } + } +} diff --git a/content/code/iup/iup.service b/content/code/iup/iup.service @@ -0,0 +1,10 @@ +[Unit] +Description=Internet connection poller +After=multi-user.target + +[Service] +ExecStart=/usr/local/bin/iup.sh +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/content/code/iup/iup.sh b/content/code/iup/iup.sh @@ -0,0 +1,73 @@ +#!/bin/bash + +f="/run/user/$UID/probe_up" +rm -f $f + +up() { + #ip route | awk '{ if (/^default/) c=$5; if (c ~ /^tun/ ) { o="VPN"; c=0; } if ( c ~ /^wlp/ ) { o="CLEAR"; c=0; } } END { print o }' + #ip route | awk 'BEGIN { o="CLEAR";} { if ( /^0.0.0.0/ ) { if ($5 ~ /^tun/) { o="VPN"; c=""; } } } END { print o; }' >&3 + #truncate -s0 $f + #exec 3<>$f + #r=`ip route | awk 'BEGIN { o="CLEAR";} { if ( $2 ~ dev && $3 ~ /^tun/ ) o="VPN" } END { print o; }'` + #echo -e "\033[32m$r\033[39m" >&3 + #exec 3>&- + #exit 0 + if [ ! -f $f ]; then + logger -p info "iup up" + fi + touch $f +} +down() { + #truncate -s0 $f + #exec 3<>$f + #echo "DOWN" >&3 + #exec 3>&- + #exit 0 + if [ -f $f ]; then + logger -p info "iup down" + fi + rm -f $f +} + +argh() { + logger -p info "iup die" + rm -f $f + exit 0 +} + +IUP_DELAY=${IUP_DELAY:-$1} +if [ -z $IUP_DELAY ]; then + IUP_DELAY=5 +fi +logger -p debug iup started with delay $IUP_DELAY + +hosts=() +while read h; do + hosts+=($h) +done < $HOME/.config/iup 2> /dev/null +if [ ${#hosts[@]} -eq "0" ]; then + # use cnn, google as default + hosts=(8.8.8.8 151.101.193.67) + logger -p warn missing hosts input file, using default: ${hosts[@]} +fi + +trap argh SIGINT +trap argh SIGTERM +trap argh SIGQUIT + +while true; do + isup="" + for h in ${hosts[@]}; do + ping -c1 $h -w1 -q &> /dev/null + if [ $? -eq '0' ]; then + up + isup=1 + #logger -p debug "ping success $h" + break + fi + done + if [ -z $isup ]; then + down + fi + sleep $IUP_DELAY +done diff --git a/content/code/nft-tokenid-content/erc721_metadata_schema_base.json b/content/code/nft-tokenid-content/erc721_metadata_schema_base.json @@ -0,0 +1,17 @@ +{ + "name": "Foo", + "description": "Foo image", + "image": "data:image/gif;base64,R0lGODlhDgARAKEDAAAAAOjqAPP1APDw8CH+EUNyZWF0ZWQgd2l0aCBHSU1QACwAAAAADgARAAACO5wHqXdrClocodbUaGg34qoBHaJtl7VYIfqBZxepb5C6NBvbIlyucO6jPUIK1CMiSCYvDIVS4GhCJoYCADs=" + "attachments": [ + { + "name": "Bar", + "description": "Bar image", + "image": "data:image/gif;base64," + }, + { + "name": "Baz", + "description": "Baz image", + "image": "data:image/gif;base64," + } + ] +} diff --git a/content/code/nft-tokenid-content/erc721_metadata_schema_swarm.json b/content/code/nft-tokenid-content/erc721_metadata_schema_swarm.json @@ -0,0 +1,17 @@ +{ + "name": "Foo", + "description": "Foo image", + "image": "data:image/gif;base64,R0lGODlhDgARAKEDAAAAAOjqAPP1APDw8CH+EUNyZWF0ZWQgd2l0aCBHSU1QACwAAAAADgARAAACO5wHqXdrClocodbUaGg34qoBHaJtl7VYIfqBZxepb5C6NBvbIlyucO6jPUIK1CMiSCYvDIVS4GhCJoYCADs=" + "alternatives": [ + { + "name": "Foo", + "description": "Foo image", + "image": "bzz:4b9149ee4550f2d786f9ba6584b79a30ee14ae05ff6e84a0f7c7561a14e3b779" + }, + { + "name": "Foo", + "description": "Foo image", + "image": "sha256:d036a4ce7f929b632256225b2bebd81bdd558d3bfe3d96faae61db664708c16f" + } + ] +} diff --git a/content/code/nft-tokenid-content/tohex.sol b/content/code/nft-tokenid-content/tohex.sol @@ -0,0 +1,43 @@ +contract NFT { + + uint256[] token; + mapping(uint256 => uint256) tokenIndex; // map token id to master token array index position + + [...] + + function tokenURI(uint256 _tokenId) public pure returns(string memory) { + bytes32 token_bytes; + bytes memory out; + uint8 t; + uint256 c; + + token_bytes = bytes32(token[tokenIndex[_tokenId]]); + + out = new bytes(64 + 7); + out[0] = "s"; + out[1] = "h"; + out[2] = "a"; + out[3] = "2"; + out[4] = "5"; + out[5] = "6"; + out[6] = ":"; + + c = 7; + for (uint256 i = 0; i < 32; i++) { + t = (uint8(_data[i]) & 0xf0) >> 4; + if (t < 10) { + out[c] = bytes1(t + 0x30); + } else { + out[c] = bytes1(t + 0x57); + } + t = uint8(_data[i]) & 0x0f; + if (t < 10) { + out[c+1] = bytes1(t + 0x30); + } else { + out[c+1] = bytes1(t + 0x57); + } + c += 2; + } + return string(out); + } +} diff --git a/content/code/python-pipe-args/stdinargs.py b/content/code/python-pipe-args/stdinargs.py @@ -0,0 +1,19 @@ +import sys +import select +import argparse + + def stdincheck(): + h = select.select([sys.stdin], [], [], 0) # 0 = poll, noblock + if len(h[0]) > 0: + v = h[0][0].read() + return v.rstrip() + return None + + argparser = argparse.ArgumentParser() + argparser.add_argument('val', nargs='?', default=stdincheck(), type=str, help='input val') + args = argparser.parse_args(sys.argv[1:]) + + if args.val == None: + argparser.error('value but be specified on stdin or as first positional argument') + + print(args.val) diff --git a/content/code/wasm-c-bare/bare.c b/content/code/wasm-c-bare/bare.c @@ -0,0 +1,12 @@ +#include "string.h" + +extern unsigned char __heap_base; +extern void call_me_sometime(unsigned char *b); + +void foo() { + unsigned char *buf = (unsigned char*)&__heap_base; + *(buf+3) = 'b'; + *(buf+4) = 'a'; + *(buf+5) = 'r'; + call_me_sometime(buf); +} diff --git a/content/code/wasm-c-bare/bare.js b/content/code/wasm-c-bare/bare.js @@ -0,0 +1,25 @@ +const fs = require('fs'); + +const memory = new WebAssembly.Memory({initial: 2}); +const table = new WebAssembly.Table({initial: 3, element: 'anyfunc'}); +const importsObj = { + env: { + memory: memory, + __linear_memory: memory, + __indirect_function_table: table, + call_me_sometime: (n) => { + let a = new Uint8Array(memory.buffer, n, 9) + a.set([0x66, 0x6f, 0x6f], 0); + console.debug('heap is at: ' + n); + console.log('heap contains: ' + new TextDecoder().decode(a)); + }, + }, +} + +async function init() { + const code = fs.readFileSync('./bare.wasm'); + const m = new WebAssembly.Module(code); + const i = new WebAssembly.Instance(m, importsObj); + i.exports.foo(); +} +init(); diff --git a/content/code/wasm-c-bare/bare_libc.c b/content/code/wasm-c-bare/bare_libc.c @@ -0,0 +1,27 @@ +#ifdef HAVE_LIBC +#include <string.h> +#include <stdlib.h> +#endif + +extern unsigned char __heap_base; +extern void call_me_sometime(unsigned char *b); + +void foo() { + +#ifdef HAVE_LIBC + unsigned char *buf; + buf = malloc(9); + memcpy(buf+3, "bazbar", 6); +#else + unsigned char *buf = (unsigned char*)&__heap_base; + *(buf+3) = 'b'; + *(buf+4) = 'a'; + *(buf+5) = 'r'; +#endif + call_me_sometime(buf); + +#ifdef HAVE_LIBC + free(buf); +#endif + +} diff --git a/content/code/wasm-c-bare/bare_naive.js b/content/code/wasm-c-bare/bare_naive.js @@ -0,0 +1,10 @@ +const fs = require('fs'); + +const imports = {} + +async function init() { + const code = fs.readFileSync('./bare.wasm'); + const m = new WebAssembly.Module(code); + const i = new WebAssembly.Instance(m, imports); +} +init(); diff --git a/content/misc/docker-offline-npm/package.json b/content/misc/docker-offline-npm/package.json @@ -0,0 +1,1586 @@ +{ + "name": "ftp", + "versions": { + "0.1.0": { + "name": "ftp", + "version": "0.1.0", + "author": { + "name": "Brian White", + "email": "mscdex@mscdex.net" + }, + "description": "An FTP client module for node.js", + "main": "./ftp", + "engines": { + "node": ">=0.4.0" + }, + "keywords": [ + "ftp", + "client", + "transfer" + ], + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/mscdex/node-ftp/raw/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "git://github.com/mscdex/node-ftp.git" + }, + "_id": "ftp@0.1.0", + "_engineSupported": true, + "_npmVersion": "0.3.18", + "_nodeVersion": "v0.4.5", + "directories": {}, + "files": [ + "" + ], + "_defaultsLoaded": true, + "dist": { + "shasum": "2966666b4cf967efffd85acf2ab42fe5e10bdb35", + "tarball": "https://registry.npmjs.org/ftp/-/ftp-0.1.0.tgz" + }, + "contributors": [] + }, + "0.1.1": { + "name": "ftp", + "version": "0.1.1", + "author": { + "name": "Brian White", + "email": "mscdex@mscdex.net" + }, + "description": "An FTP client module for node.js", + "main": "./ftp", + "engines": { + "node": ">=0.4.0" + }, + "keywords": [ + "ftp", + "client", + "transfer" + ], + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/mscdex/node-ftp/raw/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "git://github.com/mscdex/node-ftp.git" + }, + "_id": "ftp@0.1.1", + "_engineSupported": true, + "_npmVersion": "0.3.18", + "_nodeVersion": "v0.4.6", + "directories": {}, + "files": [ + "" + ], + "_defaultsLoaded": true, + "dist": { + "shasum": "3349d08a87363187fefacd4a658b2b0963603a48", + "tarball": "https://registry.npmjs.org/ftp/-/ftp-0.1.1.tgz" + }, + "contributors": [] + }, + "0.1.2": { + "name": "ftp", + "version": "0.1.2", + "author": { + "name": "Brian White", + "email": "mscdex@mscdex.net" + }, + "description": "An FTP client module for node.js", + "main": "./ftp", + "engines": { + "node": ">=0.4.0" + }, + "keywords": [ + "ftp", + "client", + "transfer" + ], + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/mscdex/node-ftp/raw/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "git://github.com/mscdex/node-ftp.git" + }, + "_npmUser": { + "name": "mscdex", + "email": "mscdex@mscdex.net" + }, + "_id": "ftp@0.1.2", + "dependencies": {}, + "devDependencies": {}, + "optionalDependencies": {}, + "_engineSupported": true, + "_npmVersion": "1.1.12", + "_nodeVersion": "v0.6.14", + "_defaultsLoaded": true, + "dist": { + "shasum": "1fb520b0375dad7e62c70b28b0b2393a7dbf95c9", + "tarball": "https://registry.npmjs.org/ftp/-/ftp-0.1.2.tgz" + }, + "scripts": {}, + "maintainers": [ + { + "name": "mscdex", + "email": "mscdex@mscdex.net" + } + ], + "directories": {}, + "contributors": [] + }, + "0.1.3": { + "name": "ftp", + "version": "0.1.3", + "author": { + "name": "Brian White", + "email": "mscdex@mscdex.net" + }, + "description": "An FTP client module for node.js", + "main": "./ftp", + "engines": { + "node": ">=0.4.0" + }, + "keywords": [ + "ftp", + "client", + "transfer" + ], + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/mscdex/node-ftp/raw/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/mscdex/node-ftp.git" + }, + "_id": "ftp@0.1.3", + "dist": { + "shasum": "f9c956693e620d8330cfedd965c5b6420179baa2", + "tarball": "https://registry.npmjs.org/ftp/-/ftp-0.1.3.tgz" + }, + "scripts": {}, + "maintainers": [ + { + "name": "mscdex", + "email": "mscdex@mscdex.net" + } + ], + "directories": {}, + "contributors": [] + }, + "0.1.4": { + "name": "ftp", + "version": "0.1.4", + "author": { + "name": "Brian White", + "email": "mscdex@mscdex.net" + }, + "description": "An FTP client module for node.js", + "main": "./ftp", + "engines": { + "node": ">=0.4.0" + }, + "keywords": [ + "ftp", + "client", + "transfer" + ], + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/mscdex/node-ftp/raw/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/mscdex/node-ftp.git" + }, + "_id": "ftp@0.1.4", + "dist": { + "shasum": "a5a2fb31fbcba943bd4f60842a2245d6dc3b029e", + "tarball": "https://registry.npmjs.org/ftp/-/ftp-0.1.4.tgz" + }, + "scripts": {}, + "_npmVersion": "1.1.59", + "_npmUser": { + "name": "mscdex", + "email": "mscdex@mscdex.net" + }, + "maintainers": [ + { + "name": "mscdex", + "email": "mscdex@mscdex.net" + } + ], + "directories": {}, + "contributors": [] + }, + "0.1.5": { + "name": "ftp", + "version": "0.1.5", + "author": { + "name": "Brian White", + "email": "mscdex@mscdex.net" + }, + "description": "An FTP client module for node.js", + "main": "./ftp", + "engines": { + "node": ">=0.4.0" + }, + "keywords": [ + "ftp", + "client", + "transfer" + ], + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/mscdex/node-ftp/raw/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/mscdex/node-ftp.git" + }, + "_id": "ftp@0.1.5", + "dist": { + "shasum": "05e51931672bbdeb9371729bb6d765e68410355e", + "tarball": "https://registry.npmjs.org/ftp/-/ftp-0.1.5.tgz" + }, + "scripts": {}, + "_npmVersion": "1.1.59", + "_npmUser": { + "name": "mscdex", + "email": "mscdex@mscdex.net" + }, + "maintainers": [ + { + "name": "mscdex", + "email": "mscdex@mscdex.net" + } + ], + "directories": {}, + "contributors": [] + }, + "0.1.6": { + "name": "ftp", + "version": "0.1.6", + "author": { + "name": "Brian White", + "email": "mscdex@mscdex.net" + }, + "description": "An FTP client module for node.js", + "main": "./ftp", + "engines": { + "node": ">=0.4.0" + }, + "keywords": [ + "ftp", + "client", + "transfer" + ], + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/mscdex/node-ftp/raw/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/mscdex/node-ftp.git" + }, + "_id": "ftp@0.1.6", + "dist": { + "shasum": "6244c55f7e24d36a8a1836758361b88fb53c560b", + "tarball": "https://registry.npmjs.org/ftp/-/ftp-0.1.6.tgz" + }, + "scripts": {}, + "_npmVersion": "1.1.59", + "_npmUser": { + "name": "mscdex", + "email": "mscdex@mscdex.net" + }, + "maintainers": [ + { + "name": "mscdex", + "email": "mscdex@mscdex.net" + } + ], + "directories": {}, + "contributors": [] + }, + "0.1.7": { + "name": "ftp", + "version": "0.1.7", + "author": { + "name": "Brian White", + "email": "mscdex@mscdex.net" + }, + "description": "An FTP client module for node.js", + "main": "./ftp", + "engines": { + "node": ">=0.4.0" + }, + "keywords": [ + "ftp", + "client", + "transfer" + ], + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/mscdex/node-ftp/raw/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/mscdex/node-ftp.git" + }, + "_id": "ftp@0.1.7", + "dist": { + "shasum": "92fb24d5098dd1e6debe38b792c7d57b5c112cef", + "tarball": "https://registry.npmjs.org/ftp/-/ftp-0.1.7.tgz" + }, + "scripts": {}, + "_npmVersion": "1.1.61", + "_npmUser": { + "name": "mscdex", + "email": "mscdex@mscdex.net" + }, + "maintainers": [ + { + "name": "mscdex", + "email": "mscdex@mscdex.net" + } + ], + "directories": {}, + "contributors": [] + }, + "0.2.0": { + "name": "ftp", + "version": "0.2.0", + "author": { + "name": "Brian White", + "email": "mscdex@mscdex.net" + }, + "description": "An FTP client module for node.js", + "main": "./ftp", + "engines": { + "node": ">=0.8.0" + }, + "keywords": [ + "ftp", + "client", + "transfer" + ], + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/mscdex/node-ftp/raw/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/mscdex/node-ftp.git" + }, + "_id": "ftp@0.2.0", + "dist": { + "shasum": "a6ccd136edbd44b26e904e4f76b6d6d2407b5d30", + "tarball": "https://registry.npmjs.org/ftp/-/ftp-0.2.0.tgz" + }, + "scripts": {}, + "_npmVersion": "1.1.69", + "_npmUser": { + "name": "mscdex", + "email": "mscdex@mscdex.net" + }, + "maintainers": [ + { + "name": "mscdex", + "email": "mscdex@mscdex.net" + } + ], + "directories": {}, + "contributors": [] + }, + "0.2.5": { + "name": "ftp", + "version": "0.2.5", + "author": { + "name": "Brian White", + "email": "mscdex@mscdex.net" + }, + "description": "An FTP client module for node.js", + "main": "./lib/ftp", + "engines": { + "node": ">=0.8.0" + }, + "dependencies": { + "xregexp": "*" + }, + "keywords": [ + "ftp", + "client", + "transfer" + ], + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/mscdex/node-ftp/raw/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/mscdex/node-ftp.git" + }, + "_id": "ftp@0.2.5", + "dist": { + "shasum": "21c9602f309cb52427478359b3b318a9e6d9cc81", + "tarball": "https://registry.npmjs.org/ftp/-/ftp-0.2.5.tgz" + }, + "scripts": {}, + "_npmVersion": "1.1.69", + "_npmUser": { + "name": "mscdex", + "email": "mscdex@mscdex.net" + }, + "maintainers": [ + { + "name": "mscdex", + "email": "mscdex@mscdex.net" + } + ], + "directories": {}, + "contributors": [] + }, + "0.2.6": { + "name": "ftp", + "version": "0.2.6", + "author": { + "name": "Brian White", + "email": "mscdex@mscdex.net" + }, + "description": "An FTP client module for node.js", + "main": "./lib/ftp", + "engines": { + "node": ">=0.8.0" + }, + "dependencies": { + "xregexp": "2.0.0" + }, + "keywords": [ + "ftp", + "client", + "transfer" + ], + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/mscdex/node-ftp/raw/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/mscdex/node-ftp.git" + }, + "_id": "ftp@0.2.6", + "dist": { + "shasum": "1c8046ab1b11f28c510b414a7307ddf4839ebb33", + "tarball": "https://registry.npmjs.org/ftp/-/ftp-0.2.6.tgz" + }, + "scripts": {}, + "_npmVersion": "1.1.69", + "_npmUser": { + "name": "mscdex", + "email": "mscdex@mscdex.net" + }, + "maintainers": [ + { + "name": "mscdex", + "email": "mscdex@mscdex.net" + } + ], + "directories": {}, + "contributors": [] + }, + "0.2.7": { + "name": "ftp", + "version": "0.2.7", + "author": { + "name": "Brian White", + "email": "mscdex@mscdex.net" + }, + "description": "An FTP client module for node.js", + "main": "./lib/ftp", + "engines": { + "node": ">=0.8.0" + }, + "dependencies": { + "xregexp": "2.0.0" + }, + "keywords": [ + "ftp", + "client", + "transfer" + ], + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/mscdex/node-ftp/raw/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/mscdex/node-ftp.git" + }, + "_id": "ftp@0.2.7", + "dist": { + "shasum": "28e36c8c4fbe22c436b41db82c993be7b27c2a93", + "tarball": "https://registry.npmjs.org/ftp/-/ftp-0.2.7.tgz" + }, + "scripts": {}, + "_npmVersion": "1.1.69", + "_npmUser": { + "name": "mscdex", + "email": "mscdex@mscdex.net" + }, + "maintainers": [ + { + "name": "mscdex", + "email": "mscdex@mscdex.net" + } + ], + "directories": {}, + "contributors": [] + }, + "0.2.8": { + "name": "ftp", + "version": "0.2.8", + "author": { + "name": "Brian White", + "email": "mscdex@mscdex.net" + }, + "description": "An FTP client module for node.js", + "main": "./lib/ftp", + "engines": { + "node": ">=0.8.0" + }, + "dependencies": { + "xregexp": "2.0.0" + }, + "keywords": [ + "ftp", + "client", + "transfer" + ], + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/mscdex/node-ftp/raw/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/mscdex/node-ftp.git" + }, + "_id": "ftp@0.2.8", + "dist": { + "shasum": "4fdff37b95e4e4dce01267e245984c2c7071d7e2", + "tarball": "https://registry.npmjs.org/ftp/-/ftp-0.2.8.tgz" + }, + "scripts": {}, + "_npmVersion": "1.1.69", + "_npmUser": { + "name": "mscdex", + "email": "mscdex@mscdex.net" + }, + "maintainers": [ + { + "name": "mscdex", + "email": "mscdex@mscdex.net" + } + ], + "directories": {}, + "contributors": [] + }, + "0.2.9": { + "name": "ftp", + "version": "0.2.9", + "author": { + "name": "Brian White", + "email": "mscdex@mscdex.net" + }, + "description": "An FTP client module for node.js", + "main": "./lib/ftp", + "engines": { + "node": ">=0.8.0" + }, + "dependencies": { + "xregexp": "2.0.0" + }, + "keywords": [ + "ftp", + "client", + "transfer" + ], + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/mscdex/node-ftp/raw/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/mscdex/node-ftp.git" + }, + "_id": "ftp@0.2.9", + "dist": { + "shasum": "2817b50552ac45d44eab1eccd1f783a607661e07", + "tarball": "https://registry.npmjs.org/ftp/-/ftp-0.2.9.tgz" + }, + "_from": "https://github.com/mscdex/node-ftp/tarball/v0.2.9", + "_resolved": "https://github.com/mscdex/node-ftp/tarball/v0.2.9", + "scripts": {}, + "_npmVersion": "1.2.14", + "_npmUser": { + "name": "mscdex", + "email": "mscdex@mscdex.net" + }, + "maintainers": [ + { + "name": "mscdex", + "email": "mscdex@mscdex.net" + } + ], + "directories": {}, + "contributors": [] + }, + "0.2.10": { + "name": "ftp", + "version": "0.2.10", + "author": { + "name": "Brian White", + "email": "mscdex@mscdex.net" + }, + "description": "An FTP client module for node.js", + "main": "./lib/ftp", + "engines": { + "node": ">=0.8.0" + }, + "dependencies": { + "xregexp": "2.0.0" + }, + "keywords": [ + "ftp", + "client", + "transfer" + ], + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/mscdex/node-ftp/raw/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/mscdex/node-ftp.git" + }, + "_id": "ftp@0.2.10", + "dist": { + "shasum": "c43f5f30d3bd253cbd84e2f9b4bf6c7ff34789a1", + "tarball": "https://registry.npmjs.org/ftp/-/ftp-0.2.10.tgz" + }, + "_from": "https://github.com/mscdex/node-ftp/tarball/v0.2.10", + "_resolved": "https://github.com/mscdex/node-ftp/tarball/v0.2.10", + "scripts": {}, + "_npmVersion": "1.2.14", + "_npmUser": { + "name": "mscdex", + "email": "mscdex@mscdex.net" + }, + "maintainers": [ + { + "name": "mscdex", + "email": "mscdex@mscdex.net" + } + ], + "directories": {}, + "contributors": [] + }, + "0.2.11": { + "name": "ftp", + "version": "0.2.11", + "author": { + "name": "Brian White", + "email": "mscdex@mscdex.net" + }, + "description": "An FTP client module for node.js", + "main": "./lib/ftp", + "engines": { + "node": ">=0.8.0" + }, + "dependencies": { + "xregexp": "2.0.0" + }, + "keywords": [ + "ftp", + "client", + "transfer" + ], + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/mscdex/node-ftp/raw/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/mscdex/node-ftp.git" + }, + "_id": "ftp@0.2.11", + "dist": { + "shasum": "fece823ec2fa290fe45832ba540b2c722886ad05", + "tarball": "https://registry.npmjs.org/ftp/-/ftp-0.2.11.tgz" + }, + "_from": "https://github.com/mscdex/node-ftp/tarball/v0.2.11", + "_resolved": "https://github.com/mscdex/node-ftp/tarball/v0.2.11", + "scripts": {}, + "_npmVersion": "1.2.14", + "_npmUser": { + "name": "mscdex", + "email": "mscdex@mscdex.net" + }, + "maintainers": [ + { + "name": "mscdex", + "email": "mscdex@mscdex.net" + } + ], + "directories": {}, + "contributors": [] + }, + "0.3.0": { + "name": "ftp", + "version": "0.3.0", + "author": { + "name": "Brian White", + "email": "mscdex@mscdex.net" + }, + "description": "An FTP client module for node.js", + "main": "./lib/ftp", + "engines": { + "node": ">=0.8.0" + }, + "dependencies": { + "xregexp": "2.0.0" + }, + "keywords": [ + "ftp", + "client", + "transfer" + ], + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/mscdex/node-ftp/raw/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/mscdex/node-ftp.git" + }, + "_id": "ftp@0.3.0", + "dist": { + "shasum": "18071a9459056a75119d6c4d800877d86c98ab2a", + "tarball": "https://registry.npmjs.org/ftp/-/ftp-0.3.0.tgz" + }, + "_from": "https://github.com/mscdex/node-ftp/tarball/v0.3.0", + "_resolved": "https://github.com/mscdex/node-ftp/tarball/v0.3.0", + "scripts": {}, + "_npmVersion": "1.2.17", + "_npmUser": { + "name": "mscdex", + "email": "mscdex@mscdex.net" + }, + "maintainers": [ + { + "name": "mscdex", + "email": "mscdex@mscdex.net" + } + ], + "directories": {}, + "contributors": [] + }, + "0.3.1": { + "name": "ftp", + "version": "0.3.1", + "author": { + "name": "Brian White", + "email": "mscdex@mscdex.net" + }, + "description": "An FTP client module for node.js", + "main": "./lib/ftp", + "engines": { + "node": ">=0.8.0" + }, + "dependencies": { + "xregexp": "2.0.0" + }, + "keywords": [ + "ftp", + "client", + "transfer" + ], + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/mscdex/node-ftp/raw/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/mscdex/node-ftp.git" + }, + "_id": "ftp@0.3.1", + "dist": { + "shasum": "e5a61cdd2e61e713f8f9635287c291b65d03fc73", + "tarball": "https://registry.npmjs.org/ftp/-/ftp-0.3.1.tgz" + }, + "_from": "https://github.com/mscdex/node-ftp/tarball/v0.3.1", + "_resolved": "https://github.com/mscdex/node-ftp/tarball/v0.3.1", + "scripts": {}, + "_npmVersion": "1.2.18", + "_npmUser": { + "name": "mscdex", + "email": "mscdex@mscdex.net" + }, + "maintainers": [ + { + "name": "mscdex", + "email": "mscdex@mscdex.net" + } + ], + "directories": {}, + "contributors": [] + }, + "0.3.2": { + "name": "ftp", + "version": "0.3.2", + "author": { + "name": "Brian White", + "email": "mscdex@mscdex.net" + }, + "description": "An FTP client module for node.js", + "main": "./lib/connection", + "engines": { + "node": ">=0.8.0" + }, + "dependencies": { + "xregexp": "2.0.0", + "readable-stream": "1.0.2" + }, + "keywords": [ + "ftp", + "client", + "transfer" + ], + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/mscdex/node-ftp/raw/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/mscdex/node-ftp.git" + }, + "bugs": { + "url": "https://github.com/mscdex/node-ftp/issues" + }, + "_id": "ftp@0.3.2", + "dist": { + "shasum": "9f45cd7b34eab9fae668e811a0e2f9cbbc631735", + "tarball": "https://registry.npmjs.org/ftp/-/ftp-0.3.2.tgz" + }, + "_from": "https://github.com/mscdex/node-ftp/tarball/v0.3.2", + "_resolved": "https://github.com/mscdex/node-ftp/tarball/v0.3.2", + "scripts": {}, + "_npmVersion": "1.3.2", + "_npmUser": { + "name": "mscdex", + "email": "mscdex@mscdex.net" + }, + "maintainers": [ + { + "name": "mscdex", + "email": "mscdex@mscdex.net" + } + ], + "directories": {}, + "contributors": [] + }, + "0.3.3": { + "name": "ftp", + "version": "0.3.3", + "author": { + "name": "Brian White", + "email": "mscdex@mscdex.net" + }, + "description": "An FTP client module for node.js", + "main": "./lib/connection", + "engines": { + "node": ">=0.8.0" + }, + "dependencies": { + "xregexp": "2.0.0", + "readable-stream": "1.0.2" + }, + "keywords": [ + "ftp", + "client", + "transfer" + ], + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/mscdex/node-ftp/raw/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/mscdex/node-ftp.git" + }, + "bugs": { + "url": "https://github.com/mscdex/node-ftp/issues" + }, + "_id": "ftp@0.3.3", + "dist": { + "shasum": "907a8d7e76abb332dd9d0ca801c12e390570bd2a", + "tarball": "https://registry.npmjs.org/ftp/-/ftp-0.3.3.tgz" + }, + "_from": "https://github.com/mscdex/node-ftp/tarball/v0.3.3", + "_resolved": "https://github.com/mscdex/node-ftp/tarball/v0.3.3", + "scripts": {}, + "_npmVersion": "1.3.5", + "_npmUser": { + "name": "mscdex", + "email": "mscdex@mscdex.net" + }, + "maintainers": [ + { + "name": "mscdex", + "email": "mscdex@mscdex.net" + } + ], + "directories": {}, + "contributors": [] + }, + "0.3.4": { + "name": "ftp", + "version": "0.3.4", + "author": { + "name": "Brian White", + "email": "mscdex@mscdex.net" + }, + "description": "An FTP client module for node.js", + "main": "./lib/connection", + "engines": { + "node": ">=0.8.0" + }, + "dependencies": { + "xregexp": "2.0.0", + "readable-stream": "1.0.2" + }, + "keywords": [ + "ftp", + "client", + "transfer" + ], + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/mscdex/node-ftp/raw/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/mscdex/node-ftp.git" + }, + "bugs": { + "url": "https://github.com/mscdex/node-ftp/issues" + }, + "_id": "ftp@0.3.4", + "dist": { + "shasum": "180e4201a31174807bfb8e04058f8508cedaafe1", + "tarball": "https://registry.npmjs.org/ftp/-/ftp-0.3.4.tgz" + }, + "_from": "https://github.com/mscdex/node-ftp/tarball/v0.3.4", + "_resolved": "https://github.com/mscdex/node-ftp/tarball/v0.3.4", + "scripts": {}, + "_npmVersion": "1.3.5", + "_npmUser": { + "name": "mscdex", + "email": "mscdex@mscdex.net" + }, + "maintainers": [ + { + "name": "mscdex", + "email": "mscdex@mscdex.net" + } + ], + "directories": {}, + "contributors": [] + }, + "0.3.5": { + "name": "ftp", + "version": "0.3.5", + "author": { + "name": "Brian White", + "email": "mscdex@mscdex.net" + }, + "description": "An FTP client module for node.js", + "main": "./lib/connection", + "engines": { + "node": ">=0.8.0" + }, + "dependencies": { + "xregexp": "2.0.0", + "readable-stream": "1.1.x" + }, + "keywords": [ + "ftp", + "client", + "transfer" + ], + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/mscdex/node-ftp/raw/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/mscdex/node-ftp.git" + }, + "bugs": { + "url": "https://github.com/mscdex/node-ftp/issues" + }, + "_id": "ftp@0.3.5", + "dist": { + "shasum": "dcf7bc99f423f1a75db728160ed4f6b745ccfdd3", + "tarball": "https://registry.npmjs.org/ftp/-/ftp-0.3.5.tgz" + }, + "_from": "https://github.com/mscdex/node-ftp/tarball/v0.3.5", + "_resolved": "https://github.com/mscdex/node-ftp/tarball/v0.3.5", + "scripts": {}, + "_npmVersion": "1.3.11", + "_npmUser": { + "name": "mscdex", + "email": "mscdex@mscdex.net" + }, + "maintainers": [ + { + "name": "mscdex", + "email": "mscdex@mscdex.net" + } + ], + "directories": {}, + "contributors": [] + }, + "0.3.6": { + "name": "ftp", + "version": "0.3.6", + "author": { + "name": "Brian White", + "email": "mscdex@mscdex.net" + }, + "description": "An FTP client module for node.js", + "main": "./lib/connection", + "engines": { + "node": ">=0.8.0" + }, + "dependencies": { + "xregexp": "2.0.0", + "readable-stream": "1.1.x" + }, + "keywords": [ + "ftp", + "client", + "transfer" + ], + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/mscdex/node-ftp/raw/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/mscdex/node-ftp.git" + }, + "bugs": { + "url": "https://github.com/mscdex/node-ftp/issues" + }, + "homepage": "https://github.com/mscdex/node-ftp", + "_id": "ftp@0.3.6", + "dist": { + "shasum": "144db4965d4e557454f742684b7d551cde4c3dff", + "tarball": "https://registry.npmjs.org/ftp/-/ftp-0.3.6.tgz" + }, + "_from": "https://github.com/mscdex/node-ftp/tarball/v0.3.6", + "_resolved": "https://github.com/mscdex/node-ftp/tarball/v0.3.6", + "scripts": {}, + "_npmVersion": "1.3.14", + "_npmUser": { + "name": "mscdex", + "email": "mscdex@mscdex.net" + }, + "maintainers": [ + { + "name": "mscdex", + "email": "mscdex@mscdex.net" + } + ], + "directories": {}, + "contributors": [] + }, + "0.3.7": { + "name": "ftp", + "version": "0.3.7", + "author": { + "name": "Brian White", + "email": "mscdex@mscdex.net" + }, + "description": "An FTP client module for node.js", + "main": "./lib/connection", + "engines": { + "node": ">=0.8.0" + }, + "dependencies": { + "xregexp": "2.0.0", + "readable-stream": "1.1.x" + }, + "scripts": { + "test": "node test/test.js" + }, + "keywords": [ + "ftp", + "client", + "transfer" + ], + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/mscdex/node-ftp/raw/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/mscdex/node-ftp.git" + }, + "bugs": { + "url": "https://github.com/mscdex/node-ftp/issues" + }, + "homepage": "https://github.com/mscdex/node-ftp", + "_id": "ftp@0.3.7", + "_shasum": "7f3558a94aa33c3cd1b648fde481e2e77262934d", + "_from": "https://github.com/mscdex/node-ftp/tarball/v0.3.7", + "_resolved": "https://github.com/mscdex/node-ftp/tarball/v0.3.7", + "_npmVersion": "1.4.9", + "_npmUser": { + "name": "mscdex", + "email": "mscdex@mscdex.net" + }, + "maintainers": [ + { + "name": "mscdex", + "email": "mscdex@mscdex.net" + } + ], + "dist": { + "shasum": "7f3558a94aa33c3cd1b648fde481e2e77262934d", + "tarball": "https://registry.npmjs.org/ftp/-/ftp-0.3.7.tgz" + }, + "directories": {}, + "contributors": [] + }, + "0.3.8": { + "name": "ftp", + "version": "0.3.8", + "author": { + "name": "Brian White", + "email": "mscdex@mscdex.net" + }, + "description": "An FTP client module for node.js", + "main": "./lib/connection", + "engines": { + "node": ">=0.8.0" + }, + "dependencies": { + "xregexp": "2.0.0", + "readable-stream": "1.1.x" + }, + "scripts": { + "test": "node test/test.js" + }, + "keywords": [ + "ftp", + "client", + "transfer" + ], + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/mscdex/node-ftp/raw/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/mscdex/node-ftp.git" + }, + "bugs": { + "url": "https://github.com/mscdex/node-ftp/issues" + }, + "homepage": "https://github.com/mscdex/node-ftp", + "_id": "ftp@0.3.8", + "_shasum": "d9764f8bb3eeffa3319429b88ecc4b8e75396632", + "_from": "https://github.com/mscdex/node-ftp/tarball/v0.3.8", + "_resolved": "https://github.com/mscdex/node-ftp/tarball/v0.3.8", + "_npmVersion": "1.4.21", + "_npmUser": { + "name": "mscdex", + "email": "mscdex@mscdex.net" + }, + "maintainers": [ + { + "name": "mscdex", + "email": "mscdex@mscdex.net" + } + ], + "dist": { + "shasum": "d9764f8bb3eeffa3319429b88ecc4b8e75396632", + "tarball": "https://registry.npmjs.org/ftp/-/ftp-0.3.8.tgz" + }, + "directories": {}, + "contributors": [] + }, + "0.3.9": { + "name": "ftp", + "version": "0.3.9", + "author": { + "name": "Brian White", + "email": "mscdex@mscdex.net" + }, + "description": "An FTP client module for node.js", + "main": "./lib/connection", + "engines": { + "node": ">=0.8.0" + }, + "dependencies": { + "xregexp": "2.0.0", + "readable-stream": "1.1.x" + }, + "scripts": { + "test": "node test/test.js" + }, + "keywords": [ + "ftp", + "client", + "transfer" + ], + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/mscdex/node-ftp/raw/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/mscdex/node-ftp.git" + }, + "bugs": { + "url": "https://github.com/mscdex/node-ftp/issues" + }, + "homepage": "https://github.com/mscdex/node-ftp", + "_id": "ftp@0.3.9", + "_shasum": "89327b0b0dce7577516632f46fb3f8eb756d9688", + "_from": "https://github.com/mscdex/node-ftp/tarball/v0.3.9", + "_resolved": "https://github.com/mscdex/node-ftp/tarball/v0.3.9", + "_npmVersion": "1.4.28", + "_npmUser": { + "name": "mscdex", + "email": "mscdex@mscdex.net" + }, + "maintainers": [ + { + "name": "mscdex", + "email": "mscdex@mscdex.net" + } + ], + "dist": { + "shasum": "89327b0b0dce7577516632f46fb3f8eb756d9688", + "tarball": "https://registry.npmjs.org/ftp/-/ftp-0.3.9.tgz" + }, + "directories": {}, + "contributors": [] + }, + "0.3.10": { + "name": "ftp", + "version": "0.3.10", + "author": { + "name": "Brian White", + "email": "mscdex@mscdex.net" + }, + "description": "An FTP client module for node.js", + "main": "./lib/connection", + "engines": { + "node": ">=0.8.0" + }, + "dependencies": { + "xregexp": "2.0.0", + "readable-stream": "1.1.x" + }, + "scripts": { + "test": "node test/test.js" + }, + "keywords": [ + "ftp", + "client", + "transfer" + ], + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/mscdex/node-ftp/raw/master/LICENSE" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/mscdex/node-ftp.git" + }, + "bugs": { + "url": "https://github.com/mscdex/node-ftp/issues" + }, + "homepage": "https://github.com/mscdex/node-ftp", + "_id": "ftp@0.3.10", + "_shasum": "9197d861ad8142f3e63d5a83bfe4c59f7330885d", + "_from": "https://github.com/mscdex/node-ftp/tarball/v0.3.10", + "_resolved": "https://github.com/mscdex/node-ftp/tarball/v0.3.10", + "_npmVersion": "1.4.28", + "_npmUser": { + "name": "mscdex", + "email": "mscdex@mscdex.net" + }, + "maintainers": [ + { + "name": "mscdex", + "email": "mscdex@mscdex.net" + } + ], + "dist": { + "shasum": "9197d861ad8142f3e63d5a83bfe4c59f7330885d", + "tarball": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz" + }, + "directories": {}, + "contributors": [] + } + }, + "time": { + "modified": "2019-01-09T05:34:28.418Z", + "created": "2011-04-10T04:37:58.230Z", + "0.1.0": "2011-04-10T04:37:58.603Z", + "0.1.1": "2011-04-17T18:29:06.753Z", + "0.1.2": "2012-03-28T04:25:39.561Z", + "0.1.3": "2012-07-07T14:09:44.896Z", + "0.1.4": "2012-08-29T23:35:01.916Z", + "0.1.5": "2012-09-06T14:45:30.375Z", + "0.1.6": "2012-09-10T22:57:44.703Z", + "0.1.7": "2012-09-17T20:21:05.834Z", + "0.2.0": "2012-12-16T17:01:09.286Z", + "0.2.5": "2012-12-18T03:24:54.581Z", + "0.2.6": "2012-12-18T08:10:38.305Z", + "0.2.7": "2012-12-18T23:17:04.117Z", + "0.2.8": "2012-12-31T06:28:35.040Z", + "0.2.9": "2013-03-08T16:58:02.943Z", + "0.2.10": "2013-03-11T15:32:11.191Z", + "0.2.11": "2013-03-15T17:20:31.448Z", + "0.3.0": "2013-04-06T20:14:58.724Z", + "0.3.1": "2013-04-15T10:17:01.407Z", + "0.3.2": "2013-07-13T16:23:24.442Z", + "0.3.3": "2013-08-01T23:11:40.240Z", + "0.3.4": "2013-08-10T13:45:24.473Z", + "0.3.5": "2013-11-14T05:39:11.817Z", + "0.3.6": "2014-01-09T18:45:52.082Z", + "0.3.7": "2014-05-23T23:15:03.015Z", + "0.3.8": "2014-11-10T20:44:27.600Z", + "0.3.9": "2015-03-26T03:00:53.061Z", + "0.3.10": "2015-04-05T00:36:31.902Z" + }, + "users": {}, + "dist-tags": { + "latest": "0.3.10" + }, + "_uplinks": { + "npmjs": { + "etag": "W/\"0d320d41bab9957314c6c0ed4dcd1325\"", + "fetched": 1621839931095 + } + }, + "_distfiles": { + "ftp-0.1.0.tgz": { + "url": "https://registry.npmjs.org/ftp/-/ftp-0.1.0.tgz", + "sha": "2966666b4cf967efffd85acf2ab42fe5e10bdb35", + "registry": "npmjs" + }, + "ftp-0.1.1.tgz": { + "url": "https://registry.npmjs.org/ftp/-/ftp-0.1.1.tgz", + "sha": "3349d08a87363187fefacd4a658b2b0963603a48", + "registry": "npmjs" + }, + "ftp-0.1.2.tgz": { + "url": "https://registry.npmjs.org/ftp/-/ftp-0.1.2.tgz", + "sha": "1fb520b0375dad7e62c70b28b0b2393a7dbf95c9", + "registry": "npmjs" + }, + "ftp-0.1.3.tgz": { + "url": "https://registry.npmjs.org/ftp/-/ftp-0.1.3.tgz", + "sha": "f9c956693e620d8330cfedd965c5b6420179baa2", + "registry": "npmjs" + }, + "ftp-0.1.4.tgz": { + "url": "https://registry.npmjs.org/ftp/-/ftp-0.1.4.tgz", + "sha": "a5a2fb31fbcba943bd4f60842a2245d6dc3b029e", + "registry": "npmjs" + }, + "ftp-0.1.5.tgz": { + "url": "https://registry.npmjs.org/ftp/-/ftp-0.1.5.tgz", + "sha": "05e51931672bbdeb9371729bb6d765e68410355e", + "registry": "npmjs" + }, + "ftp-0.1.6.tgz": { + "url": "https://registry.npmjs.org/ftp/-/ftp-0.1.6.tgz", + "sha": "6244c55f7e24d36a8a1836758361b88fb53c560b", + "registry": "npmjs" + }, + "ftp-0.1.7.tgz": { + "url": "https://registry.npmjs.org/ftp/-/ftp-0.1.7.tgz", + "sha": "92fb24d5098dd1e6debe38b792c7d57b5c112cef", + "registry": "npmjs" + }, + "ftp-0.2.0.tgz": { + "url": "https://registry.npmjs.org/ftp/-/ftp-0.2.0.tgz", + "sha": "a6ccd136edbd44b26e904e4f76b6d6d2407b5d30", + "registry": "npmjs" + }, + "ftp-0.2.5.tgz": { + "url": "https://registry.npmjs.org/ftp/-/ftp-0.2.5.tgz", + "sha": "21c9602f309cb52427478359b3b318a9e6d9cc81", + "registry": "npmjs" + }, + "ftp-0.2.6.tgz": { + "url": "https://registry.npmjs.org/ftp/-/ftp-0.2.6.tgz", + "sha": "1c8046ab1b11f28c510b414a7307ddf4839ebb33", + "registry": "npmjs" + }, + "ftp-0.2.7.tgz": { + "url": "https://registry.npmjs.org/ftp/-/ftp-0.2.7.tgz", + "sha": "28e36c8c4fbe22c436b41db82c993be7b27c2a93", + "registry": "npmjs" + }, + "ftp-0.2.8.tgz": { + "url": "https://registry.npmjs.org/ftp/-/ftp-0.2.8.tgz", + "sha": "4fdff37b95e4e4dce01267e245984c2c7071d7e2", + "registry": "npmjs" + }, + "ftp-0.2.9.tgz": { + "url": "https://registry.npmjs.org/ftp/-/ftp-0.2.9.tgz", + "sha": "2817b50552ac45d44eab1eccd1f783a607661e07", + "registry": "npmjs" + }, + "ftp-0.2.10.tgz": { + "url": "https://registry.npmjs.org/ftp/-/ftp-0.2.10.tgz", + "sha": "c43f5f30d3bd253cbd84e2f9b4bf6c7ff34789a1", + "registry": "npmjs" + }, + "ftp-0.2.11.tgz": { + "url": "https://registry.npmjs.org/ftp/-/ftp-0.2.11.tgz", + "sha": "fece823ec2fa290fe45832ba540b2c722886ad05", + "registry": "npmjs" + }, + "ftp-0.3.0.tgz": { + "url": "https://registry.npmjs.org/ftp/-/ftp-0.3.0.tgz", + "sha": "18071a9459056a75119d6c4d800877d86c98ab2a", + "registry": "npmjs" + }, + "ftp-0.3.1.tgz": { + "url": "https://registry.npmjs.org/ftp/-/ftp-0.3.1.tgz", + "sha": "e5a61cdd2e61e713f8f9635287c291b65d03fc73", + "registry": "npmjs" + }, + "ftp-0.3.2.tgz": { + "url": "https://registry.npmjs.org/ftp/-/ftp-0.3.2.tgz", + "sha": "9f45cd7b34eab9fae668e811a0e2f9cbbc631735", + "registry": "npmjs" + }, + "ftp-0.3.3.tgz": { + "url": "https://registry.npmjs.org/ftp/-/ftp-0.3.3.tgz", + "sha": "907a8d7e76abb332dd9d0ca801c12e390570bd2a", + "registry": "npmjs" + }, + "ftp-0.3.4.tgz": { + "url": "https://registry.npmjs.org/ftp/-/ftp-0.3.4.tgz", + "sha": "180e4201a31174807bfb8e04058f8508cedaafe1", + "registry": "npmjs" + }, + "ftp-0.3.5.tgz": { + "url": "https://registry.npmjs.org/ftp/-/ftp-0.3.5.tgz", + "sha": "dcf7bc99f423f1a75db728160ed4f6b745ccfdd3", + "registry": "npmjs" + }, + "ftp-0.3.6.tgz": { + "url": "https://registry.npmjs.org/ftp/-/ftp-0.3.6.tgz", + "sha": "144db4965d4e557454f742684b7d551cde4c3dff", + "registry": "npmjs" + }, + "ftp-0.3.7.tgz": { + "url": "https://registry.npmjs.org/ftp/-/ftp-0.3.7.tgz", + "sha": "7f3558a94aa33c3cd1b648fde481e2e77262934d", + "registry": "npmjs" + }, + "ftp-0.3.8.tgz": { + "url": "https://registry.npmjs.org/ftp/-/ftp-0.3.8.tgz", + "sha": "d9764f8bb3eeffa3319429b88ecc4b8e75396632", + "registry": "npmjs" + }, + "ftp-0.3.9.tgz": { + "url": "https://registry.npmjs.org/ftp/-/ftp-0.3.9.tgz", + "sha": "89327b0b0dce7577516632f46fb3f8eb756d9688", + "registry": "npmjs" + }, + "ftp-0.3.10.tgz": { + "url": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", + "sha": "9197d861ad8142f3e63d5a83bfe4c59f7330885d", + "registry": "npmjs" + } + }, + "_attachments": { + "ftp-0.3.10.tgz": { + "shasum": "9197d861ad8142f3e63d5a83bfe4c59f7330885d" + } + }, + "_rev": "14-d2ad25573ecb7891", + "_id": "ftp", + "readme": "Description\n===========\n\nnode-ftp is an FTP client module for [node.js](http://nodejs.org/) that provides an asynchronous interface for communicating with an FTP server.\n\n\nRequirements\n============\n\n* [node.js](http://nodejs.org/) -- v0.8.0 or newer\n\n\nInstall\n=======\n\n npm install ftp\n\n\nExamples\n========\n\n* Get a directory listing of the current (remote) working directory:\n\n```javascript\n var Client = require('ftp');\n\n var c = new Client();\n c.on('ready', function() {\n c.list(function(err, list) {\n if (err) throw err;\n console.dir(list);\n c.end();\n });\n });\n // connect to localhost:21 as anonymous\n c.connect();\n```\n\n* Download remote file 'foo.txt' and save it to the local file system:\n\n```javascript\n var Client = require('ftp');\n var fs = require('fs');\n\n var c = new Client();\n c.on('ready', function() {\n c.get('foo.txt', function(err, stream) {\n if (err) throw err;\n stream.once('close', function() { c.end(); });\n stream.pipe(fs.createWriteStream('foo.local-copy.txt'));\n });\n });\n // connect to localhost:21 as anonymous\n c.connect();\n```\n\n* Upload local file 'foo.txt' to the server:\n\n```javascript\n var Client = require('ftp');\n var fs = require('fs');\n\n var c = new Client();\n c.on('ready', function() {\n c.put('foo.txt', 'foo.remote-copy.txt', function(err) {\n if (err) throw err;\n c.end();\n });\n });\n // connect to localhost:21 as anonymous\n c.connect();\n```\n\n\nAPI\n===\n\nEvents\n------\n\n* **greeting**(< _string_ >msg) - Emitted after connection. `msg` is the text the server sent upon connection.\n\n* **ready**() - Emitted when connection and authentication were sucessful.\n\n* **close**(< _boolean_ >hadErr) - Emitted when the connection has fully closed.\n\n* **end**() - Emitted when the connection has ended.\n\n* **error**(< _Error_ >err) - Emitted when an error occurs. In case of protocol-level errors, `err` contains a 'code' property that references the related 3-digit FTP response code.\n\n\nMethods\n-------\n\n**\\* Note: As with the 'error' event, any error objects passed to callbacks will have a 'code' property for protocol-level errors.**\n\n* **(constructor)**() - Creates and returns a new FTP client instance.\n\n* **connect**(< _object_ >config) - _(void)_ - Connects to an FTP server. Valid config properties:\n\n * host - _string_ - The hostname or IP address of the FTP server. **Default:** 'localhost'\n\n * port - _integer_ - The port of the FTP server. **Default:** 21\n\n * secure - _mixed_ - Set to true for both control and data connection encryption, 'control' for control connection encryption only, or 'implicit' for implicitly encrypted control connection (this mode is deprecated in modern times, but usually uses port 990) **Default:** false\n\n * secureOptions - _object_ - Additional options to be passed to `tls.connect()`. **Default:** (none)\n\n * user - _string_ - Username for authentication. **Default:** 'anonymous'\n\n * password - _string_ - Password for authentication. **Default:** 'anonymous@'\n\n * connTimeout - _integer_ - How long (in milliseconds) to wait for the control connection to be established. **Default:** 10000\n\n * pasvTimeout - _integer_ - How long (in milliseconds) to wait for a PASV data connection to be established. **Default:** 10000\n\n * keepalive - _integer_ - How often (in milliseconds) to send a 'dummy' (NOOP) command to keep the connection alive. **Default:** 10000\n\n* **end**() - _(void)_ - Closes the connection to the server after any/all enqueued commands have been executed.\n\n* **destroy**() - _(void)_ - Closes the connection to the server immediately.\n\n### Required \"standard\" commands (RFC 959)\n\n* **list**([< _string_ >path, ][< _boolean_ >useCompression, ]< _function_ >callback) - _(void)_ - Retrieves the directory listing of `path`. `path` defaults to the current working directory. `useCompression` defaults to false. `callback` has 2 parameters: < _Error_ >err, < _array_ >list. `list` is an array of objects with these properties:\n\n * type - _string_ - A single character denoting the entry type: 'd' for directory, '-' for file (or 'l' for symlink on **\\*NIX only**).\n\n * name - _string_ - The name of the entry.\n\n * size - _string_ - The size of the entry in bytes.\n\n * date - _Date_ - The last modified date of the entry.\n\n * rights - _object_ - The various permissions for this entry **(*NIX only)**.\n\n * user - _string_ - An empty string or any combination of 'r', 'w', 'x'.\n\n * group - _string_ - An empty string or any combination of 'r', 'w', 'x'.\n\n * other - _string_ - An empty string or any combination of 'r', 'w', 'x'.\n \n * owner - _string_ - The user name or ID that this entry belongs to **(*NIX only)**.\n\n * group - _string_ - The group name or ID that this entry belongs to **(*NIX only)**.\n\n * target - _string_ - For symlink entries, this is the symlink's target **(*NIX only)**.\n\n * sticky - _boolean_ - True if the sticky bit is set for this entry **(*NIX only)**.\n\n* **get**(< _string_ >path, [< _boolean_ >useCompression, ]< _function_ >callback) - _(void)_ - Retrieves a file at `path` from the server. `useCompression` defaults to false. `callback` has 2 parameters: < _Error_ >err, < _ReadableStream_ >fileStream.\n\n* **put**(< _mixed_ >input, < _string_ >destPath, [< _boolean_ >useCompression, ]< _function_ >callback) - _(void)_ - Sends data to the server to be stored as `destPath`. `input` can be a ReadableStream, a Buffer, or a path to a local file. `useCompression` defaults to false. `callback` has 1 parameter: < _Error_ >err.\n\n* **append**(< _mixed_ >input, < _string_ >destPath, [< _boolean_ >useCompression, ]< _function_ >callback) - _(void)_ - Same as **put()**, except if `destPath` already exists, it will be appended to instead of overwritten.\n\n* **rename**(< _string_ >oldPath, < _string_ >newPath, < _function_ >callback) - _(void)_ - Renames `oldPath` to `newPath` on the server. `callback` has 1 parameter: < _Error_ >err.\n\n* **logout**(< _function_ >callback) - _(void)_ - Logout the user from the server. `callback` has 1 parameter: < _Error_ >err.\n\n* **delete**(< _string_ >path, < _function_ >callback) - _(void)_ - Deletes a file, `path`, on the server. `callback` has 1 parameter: < _Error_ >err.\n\n* **cwd**(< _string_ >path, < _function_ >callback) - _(void)_ - Changes the current working directory to `path`. `callback` has 2 parameters: < _Error_ >err, < _string_ >currentDir. Note: `currentDir` is only given if the server replies with the path in the response text.\n\n* **abort**(< _function_ >callback) - _(void)_ - Aborts the current data transfer (e.g. from get(), put(), or list()). `callback` has 1 parameter: < _Error_ >err.\n\n* **site**(< _string_ >command, < _function_ >callback) - _(void)_ - Sends `command` (e.g. 'CHMOD 755 foo', 'QUOTA') using SITE. `callback` has 3 parameters: < _Error_ >err, < _string >responseText, < _integer_ >responseCode.\n\n* **status**(< _function_ >callback) - _(void)_ - Retrieves human-readable information about the server's status. `callback` has 2 parameters: < _Error_ >err, < _string_ >status.\n\n* **ascii**(< _function_ >callback) - _(void)_ - Sets the transfer data type to ASCII. `callback` has 1 parameter: < _Error_ >err.\n\n* **binary**(< _function_ >callback) - _(void)_ - Sets the transfer data type to binary (default at time of connection). `callback` has 1 parameter: < _Error_ >err.\n\n### Optional \"standard\" commands (RFC 959)\n\n* **mkdir**(< _string_ >path, [< _boolean_ >recursive, ]< _function_ >callback) - _(void)_ - Creates a new directory, `path`, on the server. `recursive` is for enabling a 'mkdir -p' algorithm and defaults to false. `callback` has 1 parameter: < _Error_ >err.\n\n* **rmdir**(< _string_ >path, [< _boolean_ >recursive, ]< _function_ >callback) - _(void)_ - Removes a directory, `path`, on the server. If `recursive`, this call will delete the contents of the directory if it is not empty. `callback` has 1 parameter: < _Error_ >err.\n\n* **cdup**(< _function_ >callback) - _(void)_ - Changes the working directory to the parent of the current directory. `callback` has 1 parameter: < _Error_ >err.\n\n* **pwd**(< _function_ >callback) - _(void)_ - Retrieves the current working directory. `callback` has 2 parameters: < _Error_ >err, < _string_ >cwd.\n\n* **system**(< _function_ >callback) - _(void)_ - Retrieves the server's operating system. `callback` has 2 parameters: < _Error_ >err, < _string_ >OS.\n\n* **listSafe**([< _string_ >path, ][< _boolean_ >useCompression, ]< _function_ >callback) - _(void)_ - Similar to list(), except the directory is temporarily changed to `path` to retrieve the directory listing. This is useful for servers that do not handle characters like spaces and quotes in directory names well for the LIST command. This function is \"optional\" because it relies on pwd() being available.\n\n### Extended commands (RFC 3659)\n\n* **size**(< _string_ >path, < _function_ >callback) - _(void)_ - Retrieves the size of `path`. `callback` has 2 parameters: < _Error_ >err, < _integer_ >numBytes.\n\n* **lastMod**(< _string_ >path, < _function_ >callback) - _(void)_ - Retrieves the last modified date and time for `path`. `callback` has 2 parameters: < _Error_ >err, < _Date_ >lastModified.\n\n* **restart**(< _integer_ >byteOffset, < _function_ >callback) - _(void)_ - Sets the file byte offset for the next file transfer action (get/put) to `byteOffset`. `callback` has 1 parameter: < _Error_ >err." +} +\ No newline at end of file diff --git a/content/misc/web_snapshot/078d9fe6be070de0d378a6e903f8558a7da4917cba5c95ca453ae1936541e4f6.txt b/content/misc/web_snapshot/078d9fe6be070de0d378a6e903f8558a7da4917cba5c95ca453ae1936541e4f6.txt @@ -0,0 +1,34 @@ +HTTP/2 200 +server: nginx/1.19.5 +date: Mon, 03 May 2021 07:11:49 GMT +content-type: text/html;charset=UTF-8 +content-length: 44156 +x-archive-orig-server: Apache-Coyote/1.1 +x-archive-orig-p3p: CP="This is not a P3P policy! See https://www.sitevision.se/p3p" +x-archive-orig-x-ua-compatible: IE=EDGE +x-archive-orig-set-cookie: JSESSIONID=70CB97D88797521FB3CDE8E0FEAF6B38; Path=/; Secure +x-archive-orig-set-cookie: sv-uts="MmEzNWQzMDAtNjVhMS0xMWU3LWJjM2EtMGNjNDdhNmIyODgwIzIjMTQ5OTcxMjg1MzA0MA=="; Version=1; Max-Age=31536000; Expires=Tue, 10-Jul-2018 18:54:13 GMT; Path=/ +x-archive-orig-cache-control: no-cache +x-archive-orig-pragma: no-cache +x-archive-orig-expires: Tue, 01 Jan 1980 12:01:01 GMT +x-archive-orig-vary: Accept-Encoding +x-archive-orig-date: Mon, 10 Jul 2017 18:54:13 GMT +x-archive-orig-connection: close +x-archive-orig-content-length: 39910 +x-archive-guessed-content-type: text/html +x-archive-guessed-charset: utf-8 +memento-datetime: Mon, 10 Jul 2017 18:54:09 GMT +link: <https://www.botkyrka.se/arkiv/nyhetsarkiv/nyheter-startsida/2017-07-10-angaende-uttalanden-av-journalisten-janne-josefsson-om-bibliotek-botkyrka.html>; rel="original", <https://web.archive.org/web/timemap/link/https://www.botkyrka.se/arkiv/nyhetsarkiv/nyheter-startsida/2017-07-10-angaende-uttalanden-av-journalisten-janne-josefsson-om-bibliotek-botkyrka.html>; rel="timemap"; type="application/link-format", <https://web.archive.org/web/https://www.botkyrka.se/arkiv/nyhetsarkiv/nyheter-startsida/2017-07-10-angaende-uttalanden-av-journalisten-janne-josefsson-om-bibliotek-botkyrka.html>; rel="timegate", <https://web.archive.org/web/20170710185409/https://www.botkyrka.se/arkiv/nyhetsarkiv/nyheter-startsida/2017-07-10-angaende-uttalanden-av-journalisten-janne-josefsson-om-bibliotek-botkyrka.html>; rel="first memento"; datetime="Mon, 10 Jul 2017 18:54:09 GMT", <https://web.archive.org/web/20170710185409/https://www.botkyrka.se/arkiv/nyhetsarkiv/nyheter-startsida/2017-07-10-angaende-uttalanden-av-journalisten-janne-josefsson-om-bibliotek-botkyrka.html>; rel="memento"; datetime="Mon, 10 Jul 2017 18:54:09 GMT", <https://web.archive.org/web/20170710195309/https://www.botkyrka.se/arkiv/nyhetsarkiv/nyheter-startsida/2017-07-10-angaende-uttalanden-av-journalisten-janne-josefsson-om-bibliotek-botkyrka.html>; rel="next memento"; datetime="Mon, 10 Jul 2017 19:53:09 GMT", <https://web.archive.org/web/20210228075606/https://www.botkyrka.se/arkiv/nyhetsarkiv/nyheter-startsida/2017-07-10-angaende-uttalanden-av-journalisten-janne-josefsson-om-bibliotek-botkyrka.html>; rel="last memento"; datetime="Sun, 28 Feb 2021 07:56:06 GMT" +content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org analytics.archive.org pragma.archivelab.org +x-archive-src: liveweb-20170710191241/live-20170710182000-wwwb-app4.us.archive.org.warc.gz +server-timing: captures_list;dur=225.031237, exclusion.robots;dur=0.083422, exclusion.robots.policy;dur=0.075783, RedisCDXSource;dur=4.625433, esindex;dur=0.010085, LoadShardBlock;dur=199.161945, PetaboxLoader3.datanode;dur=63.454510, CDXLines.iter;dur=16.910823, load_resource;dur=71.682923, PetaboxLoader3.resolve;dur=35.250727 +x-app-server: wwwb-app203 +x-ts: 200 +x-tr: 341 +x-location: All +x-cache-key: httpsweb.archive.org/web/20170710185409/https://www.botkyrka.se/arkiv/nyhetsarkiv/nyheter-startsida/2017-07-10-angaende-uttalanden-av-journalisten-janne-josefsson-om-bibliotek-botkyrka.htmlDE +x-rl: 0 +x-na: 0 +x-page-cache: HIT +x-nid: - + diff --git a/content/misc/web_snapshot/0c657ec25e55e72702b0473f62e6d632dece992485f67c407ed1f748b3f40bc2.txt b/content/misc/web_snapshot/0c657ec25e55e72702b0473f62e6d632dece992485f67c407ed1f748b3f40bc2.txt @@ -0,0 +1,687 @@ +<!DOCTYPE html><html lang="en-us" data-reactroot=""><head><meta name="google-site-verification" content="Sc6OGUq5heWyOLFpCb_2K6mX7vFrWKGANts4QDUmgOY"/><meta name="google-site-verification" content="QDPLbDJXTQNT0n69mvNADCeRmwnbkYyL20OKJAVCKq8"/><meta name="ir-site-verification-token" value="-1270174611"/><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0,maximum-scale=10.0"/><meta charSet="utf-8"/><meta name="ROBOTS" content="INDEX, FOLLOW"/><title>I Tried to Block Amazon From My Life. It Was Impossible</title><link rel="shortcut icon" type="image/png" href="https://i.kinja-img.com/gawker-media/image/upload/c_fill,f_auto,fl_progressive,g_center,h_80,q_80,w_80/fdj3buryz5nuzyf2k620.png"/><link rel="apple-touch-icon" type="image/png" href="https://i.kinja-img.com/gawker-media/image/upload/c_fill,f_auto,fl_progressive,g_center,h_200,q_80,w_200/fdj3buryz5nuzyf2k620.png"/><meta name="msapplication-square70x70logo" content="https://i.kinja-img.com/gawker-media/image/upload/c_fill,f_auto,fl_progressive,g_center,h_80,q_80,w_80/fdj3buryz5nuzyf2k620.png"/><meta name="msapplication-square150x150logo" content="https://i.kinja-img.com/gawker-media/image/upload/c_fill,f_auto,fl_progressive,g_center,h_200,q_80,w_200/fdj3buryz5nuzyf2k620.png"/><link rel="dns-prefetch" href="//kinja.com"/><link rel="dns-prefetch" href="//i.kinja-img.com"/><link rel="dns-prefetch" href="//x.kinja-static.com"/><link rel="dns-prefetch" href="//f.kinja-static.com"/><link rel="dns-prefetch" href="//www.googletagservices.com"/><link rel="dns-prefetch" href="//pubads.g.doubleclick.net"/><link rel="dns-prefetch" href="//stats.g.doubleclick.net"/><link rel="dns-prefetch" href="//tpc.googlesyndication.com"/><link rel="dns-prefetch" href="//pagead2.googlesyndication.com"/><link rel="dns-prefetch" href="//adservice.google.com"/><link rel="dns-prefetch" href="//securepubads.g.doubleclick.net"/><link rel="dns-prefetch" href="https://ir-na.amazon-adsystem.com"/><link rel="dns-prefetch" href="https://fls-na.amazon-adsystem.com"/><link rel="dns-prefetch" href="//imasdk.googleapis.com"/><link rel="dns-prefetch" href="//tps10232.doubleverify.com"/><link rel="dns-prefetch" href="//c.amazon-adsystem.com"/><link rel="dns-prefetch" href="//aax.amazon-adsystem.com"/><link rel="dns-prefetch" href="//www.google-analytics.com"/><link rel="preconnect" href="https://i.kinja-img.com"/><link rel="preconnect" href="//x.kinja-static.com"/><link rel="preconnect" href="//f.kinja-static.com" crossorigin=""/><link rel="preload" href="https://f.kinja-static.com/assets/fonts/proxima/proxima_nova_cond_reg-webfont.woff2?08252015" as="font" type="font/woff2" crossorigin=""/><link rel="preload" href="https://f.kinja-static.com/assets/fonts/proxima/proxima_nova_cond_reg_it-webfont.woff2?08252015" as="font" type="font/woff2" crossorigin=""/><link rel="preload" href="https://f.kinja-static.com/assets/fonts/proxima/proxima_nova_cond_sbold-webfont.woff2?08252015" as="font" type="font/woff2" crossorigin=""/><link rel="preload" href="https://f.kinja-static.com/assets/fonts/proxima/proxima_nova_cond_sbold_it-webfont.woff2?08252015" as="font" type="font/woff2" crossorigin=""/><link rel="preload" href="https://hbx.media.net/bidexchange.js?cid=8CUL2TG3D&version=5.1&dn=gizmodo.com" as="script"/><link rel="alternate" type="application/rss+xml" title="Gizmodo - All stories" href="https://gizmodo.com/rss"/><meta name="keywords" content="Blocking the tech giants, Amazon, video, Gizmodo"/><meta name="news_keywords" content="Blocking the tech giants, Amazon, video, Gizmodo"/><meta name="twitter:url" content="https://gizmodo.com/i-tried-to-block-amazon-from-my-life-it-was-impossible-1830565336"/><meta name="publish-date" content="2019-01-22T16:45:00.336Z"/><link rel="canonical" href="https://gizmodo.com/i-tried-to-block-amazon-from-my-life-it-was-impossible-1830565336"/><meta name="description" content="Not even a custom-built VPN could stop Jeff Bezos's behemoth from slipping through the digital cracks."/><meta property="og:title" content="I Tried to Block Amazon From My Life. It Was Impossible"/><meta property="og:type" content="article"/><meta name="author" content=""/><meta property="og:url" content="https://gizmodo.com/i-tried-to-block-amazon-from-my-life-it-was-impossible-1830565336"/><meta property="og:description" content="Not even a custom-built VPN could stop Jeff Bezos's behemoth from slipping through the digital cracks."/><meta property="og:locale" content="en_US"/><meta property="og:site_name" content="Gizmodo"/><meta property="og:image" content="https://i.kinja-img.com/gawker-media/image/upload/c_fill,f_auto,fl_progressive,g_center,h_675,pg_1,q_80,w_1200/bsqpiq54nzotifgm3ki7.jpg"/><meta property="fb:app_id" content="44615671688"/><meta property="fb:pages" content="5718758966"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="gizmodo"/><meta name="twitter:title" content="I Tried to Block Amazon From My Life. It Was Impossible"/><meta name="twitter:description" content="Not even a custom-built VPN could stop Jeff Bezos's behemoth from slipping through the digital cracks."/><meta name="twitter:image" content="https://i.kinja-img.com/gawker-media/image/upload/c_fill,f_auto,fl_progressive,g_center,h_675,pg_1,q_80,w_1200/bsqpiq54nzotifgm3ki7.jpg"/><script async="" src="//js-sec.indexww.com/ht/p/183957-47751755686051.js"></script><script> + window.headertag = window.headertag || {}; + window.headertag.cmd = window.headertag.cmd || []; + window.headertag.cmd.push(function() { + var rtiData = window.headertag.getIdentityInfo(); + + var responsePending = 0; + for (var rtiPartner in rtiData) { + if (rtiData.hasOwnProperty(rtiPartner) && rtiData[rtiPartner].responsePending === true) { + responsePending = 1; + break; + } + } + + // Subscribe if response is pending + if (responsePending) { + window.headertag.subscribeEvent('rti_partner_request_complete', false, function(eventName, eventData) { + rtiData = window.headertag.getIdentityInfo(); + }) + } + });</script><script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');</script><script async=""> + window.advBidxc = window.advBidxc || {}; + window.advBidxc.exec = window.advBidxc.exec || []; + window.advBidxc.customerId = "8CUL2TG3D"; + window.advBidxc.domain = "gizmodo.com"; + window.advBidxc.version = 5.1; + window.advBidxc.startTime = new Date().getTime(); + (function(d) { + var e = d.createElement('script'); + e.src = 'https://hbx.media.net/bidexchange.js?cid='+ window.advBidxc.customerId +'&version='+window.advBidxc.version+'&dn='+ window.advBidxc.domain; + e.async = true; + d.getElementsByTagName("head")[0].appendChild(e); + }(document)); + </script><script async="" src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script><script async=""> + window.googletag = window.googletag || {}; + window.googletag.cmd = window.googletag.cmd || []; + </script><script src="https://tagan.adlightning.com/gomedia/op.js" defer=""></script><script type="module" src="/x-kinja-static/assets/new-client/vendors~adEditor~adManager~ads~alertsUnsubscribePage~categoryPage~channelSectionPage~commerceDashboa~889ce567.605f4672a6e632feb172.js"></script><script type="module" src="/x-kinja-static/assets/new-client/vendors~adEditor~adManager~ads~alertsUnsubscribePage~categoryPage~channelSectionPage~commerceDashboa~7b1b7e0e.994f92c7ef2bc7ec576f.js"></script><script type="module" src="/x-kinja-static/assets/new-client/vendors~adEditor~adManager~ads~categoryPage~channelSectionPage~commerceDashboard~curatedHomepage~err~3a83c825.f1659867955d1e9372d1.js"></script><script type="module" src="/x-kinja-static/assets/new-client/vendors~adManager~ads.bb4beeef363a52ee03af.js"></script><script type="module" src="/x-kinja-static/assets/new-client/adEditor~adManager~ads~alertsUnsubscribePage~categoryPage~channelSectionPage~commerceDashboard~error~6e1f78b6.35904ab525349a54dc28.js"></script><script type="module" src="/x-kinja-static/assets/new-client/adEditor~adManager~ads~categoryPage~channelSectionPage~commerceDashboard~errorPage~experiments~featu~42cc5848.da1e8c7386bce24919c3.js"></script><script type="module" src="/x-kinja-static/assets/new-client/adManager~ads~commerceDashboard~errorPage~featureSwitchPage~profilePage~specialSection~splashPage~st~16e8a900.690695a77c3a61299559.js"></script><script type="module" src="/x-kinja-static/assets/new-client/adManager~ads.13652741c94a9d287705.js"></script><script type="module" src="/x-kinja-static/assets/new-client/vendors~adEditor~ads~alertsUnsubscribePage~categoryPage~channelSectionPage~commerceDashboard~curated~ee56329e.2ddccfdfd16d0aac8f85.js"></script><script> + window._user = new Promise((resolve, reject) => { + window._fasttoken = function (response) { + if (response && response.meta &&response.meta.status === 200) { + resolve(response.data); + } else { + reject(response ? response.meta : ''); + } + }; + }); + </script><script src="https://kinja.com/api/profile/accountwithtoken?jsonp=_fasttoken&newFollows=true" defer=""></script><script> + window.blockthrough = window.blockthrough || { aa_detect_cmd: [] }; + </script><script> + window.cnxps = {}; + window.cnxps.cmd = []; + </script><script> + window.pbjs = window.pbjs || {}; + window.pbjs.cmd = window.pbjs.cmd || []; + async function getUserStatus() { + const { accountState } = await window._user; + return (accountState || {}).id; + } + window.pbjs.cmd.push(() => { + getUserStatus().then(value => { + const userIds = window.pbjs.getConfig('userSync').userIds; + const britePoolId = userIds && userIds.find(uId => uId.name === 'britepoolId'); + if (britePoolId && britePoolId.params && value) { + britePoolId.params.ppid = value; + } + }); + }); + </script><style data-styled="" data-styled-version="5.1.0">.hMndXN{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ +data-styled.g8[id="sc-1out364-0"]{content:"hMndXN,"}/*!sc*/ +.kVnoAv{color:#222;-webkit-transition:color 0.1s ease-out;transition:color 0.1s ease-out;box-shadow:inset 0 -2px 0 #0075B2;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ +.kVnoAv:hover{color:#0075B2;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ +data-styled.g10[id="sc-145m8ut-0"]{content:"kVnoAv,"}/*!sc*/ +.bYIjtl{fill:currentColor;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ +data-styled.g23[id="iyvn34-0"]{content:"bYIjtl,"}/*!sc*/ +.cGboph{width:32px;height:32px;background-color:#0075B2;border-radius:50%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}/*!sc*/ +@media only screen and (min-width:50em){.cGboph{margin-right:8px;}}/*!sc*/ +.cGboph .iyvn34-0{fill:#FFF;}/*!sc*/ +data-styled.g24[id="iyvn34-1"]{content:"cGboph,"}/*!sc*/ +.BiRlJ{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}/*!sc*/ +data-styled.g70[id="bxm4mm-15"]{content:"BiRlJ,"}/*!sc*/ +.evEDSN{font-family:ProximaNovaCond,Arial Narrow,sans-serif;color:#CCC;font-size:0.875rem;width:100%;margin-left:0;margin-right:0;-webkit-letter-spacing:0.1rem;-moz-letter-spacing:0.1rem;-ms-letter-spacing:0.1rem;letter-spacing:0.1rem;text-transform:uppercase;line-height:28px;}/*!sc*/ +@media only screen and (min-width:37.37em){.evEDSN{line-height:29px;}}/*!sc*/ +data-styled.g71[id="bxm4mm-16"]{content:"evEDSN,"}/*!sc*/ +.dJGqTR{text-align:center;border-bottom:#E5E5E5 1px solid;border-top:#E5E5E5 1px solid;box-sizing:content-box;padding:1rem 0;position:relative;margin:1rem 0;width:100%;}/*!sc*/ +@media only screen and (min-width:50em){.dJGqTR{min-width:728px;min-height:90px;}}/*!sc*/ +data-styled.g72[id="bxm4mm-17"]{content:"dJGqTR,"}/*!sc*/ +@media only screen and (min-width:63.75em){.jaQPro{max-width:none;margin:0 auto;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}}/*!sc*/ +.jaQPro .sc-11qwj9y-1{max-width:none;padding-top:0;}/*!sc*/ +.jaQPro .sc-11qwj9y-0{float:none;border:0;width:100%;margin:0 auto;}/*!sc*/ +.jaQPro .ynugv2-2{display:none;}/*!sc*/ +data-styled.g80[id="sc-157agsr-0"]{content:"jaQPro,"}/*!sc*/ +.irOnwd{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;background:#000;}/*!sc*/ +data-styled.g86[id="vuc0jk-0"]{content:"irOnwd,"}/*!sc*/ +.pplqO{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;margin:0;}/*!sc*/ +.pplqO > li:first-child{margin-left:-8px;}/*!sc*/ +@media only screen and (max-width:49.94em){.pplqO{width:calc((100vw - 16px) * 1 - 16px);}}/*!sc*/ +@media only screen and (min-width:50em) and (max-width:63.69em){.pplqO{width:calc((100vw - 24px) * 1 - 24px);}}/*!sc*/ +@media only screen and (min-width:63.75em) and (max-width:85.19em){.pplqO{width:calc((100vw - 24px) * 1 - 24px);}}/*!sc*/ +@media only screen and (min-width:85.25em){.pplqO{width:calc((1364px - 32px) * 1 - 32px);}}/*!sc*/ +data-styled.g87[id="vuc0jk-1"]{content:"pplqO,"}/*!sc*/ +.cqNwLV{text-transform:uppercase;line-height:24px;font-size:15px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:0 8px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;color:#7D7D7D;}/*!sc*/ +.cqNwLV:hover{background:#222;color:#F5F5F5;}/*!sc*/ +.cqNwLV:hover > a,.cqNwLV:hover > a:hover,.cqNwLV:hover > a:active,.cqNwLV:hover > a:focus,.cqNwLV:hover > a.focus{color:#F5F5F5;}/*!sc*/ +.cqNwLV > a{position:relative;top:1px;}/*!sc*/ +.cqNwLV > a,.cqNwLV > a:hover,.cqNwLV > a:active,.cqNwLV > a:focus,.cqNwLV > a.focus{-webkit-text-decoration:none;text-decoration:none;color:#CCC;}/*!sc*/ +data-styled.g88[id="vuc0jk-2"]{content:"cqNwLV,"}/*!sc*/ +.ixMznA{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;padding:0 8px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;}/*!sc*/ +.ixMznA::after{width:1px;height:14px;background-color:#666;content:'';}/*!sc*/ +data-styled.g89[id="vuc0jk-3"]{content:"ixMznA,"}/*!sc*/ +.bGlSMu{--scale:1;}/*!sc*/ +data-styled.g92[id="sc-2d8w30-0"]{content:"bGlSMu,"}/*!sc*/ +.bRnfTk{position:relative;height:calc(32px * var(--scale));display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}/*!sc*/ +.bRnfTk svg{position:absolute;-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-transform:scale(var(--scale));-ms-transform:scale(var(--scale));transform:scale(var(--scale));}/*!sc*/ +.bRnfTk.avclub{width:calc(150px * var(--scale));}/*!sc*/ +.bRnfTk.avclub svg{top:-40%;}/*!sc*/ +.bRnfTk.deadspin{width:calc(254px * var(--scale));}/*!sc*/ +.bRnfTk.deadspin svg{top:0%;}/*!sc*/ +.bRnfTk.earther{width:calc(217px * var(--scale));}/*!sc*/ +.bRnfTk.earther svg{top:-1%;}/*!sc*/ +.bRnfTk.gizmodo{width:calc(225px * var(--scale));}/*!sc*/ +.bRnfTk.gizmodo svg{top:0%;}/*!sc*/ +.bRnfTk.jalopnik{width:calc(228px * var(--scale));}/*!sc*/ +.bRnfTk.jalopnik svg{top:0%;}/*!sc*/ +.bRnfTk.jezebel{width:calc(206px * var(--scale));}/*!sc*/ +.bRnfTk.jezebel svg{top:0%;}/*!sc*/ +.bRnfTk.kotaku{width:calc(212px * var(--scale));}/*!sc*/ +.bRnfTk.kotaku svg{top:-10%;}/*!sc*/ +.bRnfTk.lifehacker{width:calc(180px * var(--scale));}/*!sc*/ +.bRnfTk.lifehacker svg{top:-25%;}/*!sc*/ +.bRnfTk.splinter{width:calc(261px * var(--scale));}/*!sc*/ +.bRnfTk.splinter svg{top:-7%;}/*!sc*/ +.bRnfTk.theinventory{width:calc(258px * var(--scale));}/*!sc*/ +.bRnfTk.theinventory svg{top:-13%;}/*!sc*/ +.bRnfTk.theroot{width:calc(205px * var(--scale));}/*!sc*/ +.bRnfTk.theroot svg{top:-20%;}/*!sc*/ +.bRnfTk.theonion{width:calc(262px * var(--scale));}/*!sc*/ +.bRnfTk.theonion svg{top:-22%;}/*!sc*/ +.bRnfTk.thetakeout{width:calc(140px * var(--scale));}/*!sc*/ +.bRnfTk.thetakeout svg{top:-34%;}/*!sc*/ +.bRnfTk.kinja{width:calc(152px * var(--scale));}/*!sc*/ +.bRnfTk.kinja svg{top:-22%;}/*!sc*/ +.bRnfTk.gomedia{width:calc(241px * var(--scale));}/*!sc*/ +.bRnfTk.gomedia svg{top:-20%;}/*!sc*/ +.bRnfTk.deals{width:calc(203px * var(--scale));}/*!sc*/ +.bRnfTk.deals svg{top:-10%;}/*!sc*/ +.bRnfTk.kinjavideo{width:calc(243px * var(--scale));}/*!sc*/ +.bRnfTk.kinjavideo svg{top:-6%;}/*!sc*/ +.bRnfTk.io9{width:calc(76px * var(--scale));}/*!sc*/ +.bRnfTk.io9 svg{top:-27%;}/*!sc*/ +data-styled.g93[id="sc-2d8w30-1"]{content:"bRnfTk,"}/*!sc*/ +.keLEgo{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ +.keLEgo + svg,.keLEgo + .iyvn34-0{margin-left:4px;}/*!sc*/ +data-styled.g94[id="j48i5d-0"]{content:"keLEgo,"}/*!sc*/ +.fuDdQ{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:100%;white-space:nowrap;pointer-events:none;}/*!sc*/ +.fuDdQ svg + span{margin-left:4px;}/*!sc*/ +.fuDdQ .iyvn34-0 + span{margin-left:4px;}/*!sc*/ +data-styled.g95[id="j48i5d-1"]{content:"fuDdQ,"}/*!sc*/ +.gtqrij{width:auto;height:42px;padding:0 2rem;border:transparent 1px solid;border-radius:21px;border-color:#0075B2;color:#0075B2;font-size:1rem;text-align:center;line-height:42px;background-color:#FFF;-webkit-transition:background-color 0.2s ease-out,border-color 0.2s ease-out,color 0.2s ease-out;transition:background-color 0.2s ease-out,border-color 0.2s ease-out,color 0.2s ease-out;}/*!sc*/ +.gtqrij .j48i5d-1 > svg{margin-bottom:2px;}/*!sc*/ +.gtqrij .iyvn34-0{margin-bottom:2px;}/*!sc*/ +.gtqrij:hover,.gtqrij:active,.gtqrij:focus{color:#00324c;border-color:#00324c;background-color:#fff;}/*!sc*/ +.gtqrij:hover .j48i5d-1 > svg,.gtqrij:active .j48i5d-1 > svg,.gtqrij:focus .j48i5d-1 > svg{stroke:#00537f;}/*!sc*/ +@media only screen and (max-width:49.94em){}/*!sc*/ +.huUfNr{width:100%;height:42px;padding:0 2rem;border:transparent 1px solid;border-radius:0;border-color:transparent;color:#FFF;font-size:1rem;text-align:center;line-height:42px;background-color:#0075B2;-webkit-transition:background-color 0.2s ease-out,border-color 0.2s ease-out,color 0.2s ease-out;transition:background-color 0.2s ease-out,border-color 0.2s ease-out,color 0.2s ease-out;}/*!sc*/ +.huUfNr .j48i5d-1 > svg{margin-bottom:2px;}/*!sc*/ +.huUfNr .iyvn34-0{margin-bottom:2px;}/*!sc*/ +.huUfNr:hover,.huUfNr:active,.huUfNr:focus{color:#fff;border-color:transparent;background-color:#00537f;}/*!sc*/ +.huUfNr:hover .j48i5d-1 > svg,.huUfNr:active .j48i5d-1 > svg,.huUfNr:focus .j48i5d-1 > svg{stroke:#fff;}/*!sc*/ +@media only screen and (max-width:49.94em){}/*!sc*/ +data-styled.g96[id="j48i5d-2"]{content:"gtqrij,huUfNr,"}/*!sc*/ +.hLOPcM{background-color:#F5F5F5;border-top:1px solid #E5E5E5;}/*!sc*/ +.hLOPcM .sc-147n754-0{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:26px 30px;}/*!sc*/ +data-styled.g159[id="sc-1cfejv7-0"]{content:"hLOPcM,"}/*!sc*/ +.bnMuAY [data-ad-load-state=loaded]{border-bottom:1px solid #E5E5E5;padding:20px 0;}/*!sc*/ +@media only screen and (max-width:969px){.bnMuAY{display:none;}}/*!sc*/ +.bnMuAY .ad-container[data-ad-load-state=loaded]{background-color:inherit;}/*!sc*/ +.bnMuAY .ad-container[data-ad-load-state=loaded] div iframe{margin:0 auto;}/*!sc*/ +.bnMuAY .ad-container[data-ad-load-state=loaded] > div{width:100% !important;}/*!sc*/ +@media only screen and (max-width:63.69em){.bnMuAY{display:none;}}/*!sc*/ +data-styled.g162[id="sc-1jotqfp-2"]{content:"bnMuAY,"}/*!sc*/ +@media only screen and (min-width:50em){.jQLKmy.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:750;}.jQLKmy.sticky-top .ad-container{padding-top:20px;background-color:#FFF;}}/*!sc*/ +.jQLKmy .ad-top-banner,.jQLKmy .ad-billboard{min-height:290px;line-height:0;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ +data-styled.g164[id="sc-1op1dd6-0"]{content:"jQLKmy,"}/*!sc*/ +.xAnsG{display:none;}/*!sc*/ +@media only screen and (min-width:50em){.xAnsG{display:block;width:100%;}}/*!sc*/ +data-styled.g165[id="sc-17y8tyw-0"]{content:"xAnsG,"}/*!sc*/ +.GHWsb{height:100%;font-size:1.5rem;color:#222;font-weight:bold;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ +.GHWsb:hover{-webkit-text-decoration:none;text-decoration:none;color:#000;}/*!sc*/ +.GHWsb .sc-2d8w30-1{--scale:0.8;}/*!sc*/ +@media only screen and (max-width:63.69em){.GHWsb .sc-2d8w30-1{--scale:0.6;}}/*!sc*/ +data-styled.g168[id="sc-8vrmk6-0"]{content:"GHWsb,"}/*!sc*/ +.kPuHKV{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-transform:uppercase;padding:0 6px;-webkit-transition:color 300ms;transition:color 300ms;white-space:nowrap;margin-right:8px;}/*!sc*/ +.kPuHKV span{color:#000;font-size:14px;font-weight:bold;height:21px;line-height:22px;-webkit-letter-spacing:1.27px;-moz-letter-spacing:1.27px;-ms-letter-spacing:1.27px;letter-spacing:1.27px;}/*!sc*/ +.kPuHKV:hover,.kPuHKV:active{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ +.kPuHKV:hover span,.kPuHKV:active span{color:#0075B2;}/*!sc*/ +.kPuHKV.section-nav__search-btn{border-right:0;}/*!sc*/ +.kPuHKV:first-child{padding-left:0;}/*!sc*/ +@media only screen and (max-width:85.19em){.kPuHKV{border:none;line-height:21px;white-space:nowrap;}}/*!sc*/ +@media only screen and (max-width:49.94em){.kPuHKV:first-child{margin-left:16px;}.kPuHKV:last-child{margin-right:16px;}}/*!sc*/ +.gdsjgU{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-transform:uppercase;padding:0 6px;-webkit-transition:color 300ms;transition:color 300ms;white-space:nowrap;margin-right:8px;border:0;padding-left:7.5px;padding-right:7.5px;font-size:17px;white-space:nowrap;}/*!sc*/ +.gdsjgU span{color:#000;font-size:14px;font-weight:bold;height:21px;line-height:22px;-webkit-letter-spacing:1.27px;-moz-letter-spacing:1.27px;-ms-letter-spacing:1.27px;letter-spacing:1.27px;}/*!sc*/ +.gdsjgU:hover,.gdsjgU:active{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ +.gdsjgU:hover span,.gdsjgU:active span{color:#0075B2;}/*!sc*/ +.gdsjgU.section-nav__search-btn{border-right:0;}/*!sc*/ +.gdsjgU:first-child{padding-left:0;}/*!sc*/ +@media only screen and (max-width:85.19em){.gdsjgU{border:none;line-height:21px;white-space:nowrap;display:none;}}/*!sc*/ +@media only screen and (max-width:49.94em){.gdsjgU:first-child{margin-left:16px;}.gdsjgU:last-child{margin-right:16px;}}/*!sc*/ +data-styled.g170[id="dfwuc8-0"]{content:"kPuHKV,gdsjgU,"}/*!sc*/ +.cXXEfi{position:relative;overflow:hidden;height:22px;margin-bottom:24px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex:1;-ms-flex:1;flex:1;-ms-overflow-style:none;-webkit-scrollbar-width:none;-moz-scrollbar-width:none;-ms-scrollbar-width:none;scrollbar-width:none;}/*!sc*/ +.cXXEfi::-webkit-scrollbar{display:none;}/*!sc*/ +@media only screen and (max-width:63.69em){.cXXEfi{margin-bottom:16px;}}/*!sc*/ +@media only screen and (min-width:50em){.cXXEfi{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;max-width:820px;}}/*!sc*/ +@media only screen and (max-width:63.69em){.cXXEfi{overflow:scroll;overflow-y:hidden;-webkit-overflow-scrolling:touch;}.cXXEfi .dfwuc8-0:not(:last-child){margin-right:4px;}}/*!sc*/ +@media only screen and (min-width:37.37em) and (max-width:49.94em){.cXXEfi{margin:0 0 16px;}}/*!sc*/ +@media only screen and (max-width:37.31em){.cXXEfi{margin:0 0 14px;}}/*!sc*/ +.kJQWeP{position:relative;overflow:hidden;height:22px;margin-bottom:24px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex:1;-ms-flex:1;flex:1;-ms-overflow-style:none;-webkit-scrollbar-width:none;-moz-scrollbar-width:none;-ms-scrollbar-width:none;scrollbar-width:none;height:100%;border:0;margin:0;padding-left:24px;}/*!sc*/ +.kJQWeP::-webkit-scrollbar{display:none;}/*!sc*/ +@media only screen and (max-width:63.69em){.kJQWeP{margin-bottom:16px;}}/*!sc*/ +@media only screen and (min-width:50em){.kJQWeP{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}}/*!sc*/ +@media only screen and (max-width:63.69em){.kJQWeP{overflow:scroll;overflow-y:hidden;-webkit-overflow-scrolling:touch;}.kJQWeP .dfwuc8-0:not(:last-child){margin-right:4px;}}/*!sc*/ +@media only screen and (min-width:37.37em) and (max-width:49.94em){.kJQWeP{margin:0 0 16px;}}/*!sc*/ +@media only screen and (max-width:37.31em){.kJQWeP{margin:0 0 14px;}}/*!sc*/ +@media only screen and (max-width:63.69em){.kJQWeP{padding-left:16px;}}/*!sc*/ +.kJQWeP ul{margin:0;}/*!sc*/ +.kJQWeP .dfwuc8-0{margin-right:4px;}/*!sc*/ +data-styled.g171[id="dfwuc8-1"]{content:"cXXEfi,kJQWeP,"}/*!sc*/ +.houbBQ{height:30px;width:1px;background-color:#CCC;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;margin-right:16px;}/*!sc*/ +@media only screen and (max-width:85.19em){.houbBQ{display:none;}}/*!sc*/ +data-styled.g172[id="dfwuc8-2"]{content:"houbBQ,"}/*!sc*/ +.gpLhlA{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:44px;height:44px;position:relative;vertical-align:middle;}/*!sc*/ +.gpLhlA > a{outline:0;line-height:0;}/*!sc*/ +.gpLhlA .js_header-userbutton{line-height:0;color:#FFF;outline:0;cursor:pointer;}/*!sc*/ +@media only screen and (max-width:49.94em){.gpLhlA{position:unset;}}/*!sc*/ +data-styled.g180[id="sc-1il3uru-2"]{content:"gpLhlA,"}/*!sc*/ +.cIhKfd{width:30px;height:30px;border-radius:50%;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;margin:0;background-position:center;background-size:cover;background-color:#0075B2;}/*!sc*/ +.cIhKfd svg{color:#FFF;}/*!sc*/ +data-styled.g181[id="sc-1il3uru-3"]{content:"cIhKfd,"}/*!sc*/ +.iehjAk{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:44px;height:44px;display:none;width:auto;}/*!sc*/ +.iehjAk.iehjAk{color:#222;}/*!sc*/ +.iehjAk.show{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ +.iehjAk:first-of-type{padding:0 6px 0 16px;}/*!sc*/ +.iehjAk:not(:first-of-type){padding:0 6px;}/*!sc*/ +.iehjAk.iehjAk{color:#222;}/*!sc*/ +.iehjAk:hover{color:#0075B2;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ +@media only screen and (min-width:50em){.iehjAk::after{content:'';width:1px;height:30px;margin-left:16px;background-color:#CCC;}}/*!sc*/ +data-styled.g190[id="xpaln1-1"]{content:"iehjAk,"}/*!sc*/ +.eZRbSg{color:#FFF;cursor:pointer;font-size:1rem;line-height:1.25rem;-webkit-transform:translate(0,4%);-ms-transform:translate(0,4%);transform:translate(0,4%);}/*!sc*/ +.eZRbSg:not(:first-child){margin-left:0.5rem;}/*!sc*/ +.eZRbSg:not(:last-child){margin-right:0.5rem;}/*!sc*/ +data-styled.g192[id="peggds-0"]{content:"eZRbSg,"}/*!sc*/ +.lfYBFc{background-color:transparent;border:1px solid transparent;border-radius:0.3125rem;color:#222;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0.3125rem 0.375rem;min-height:2rem;white-space:nowrap;}/*!sc*/ +.lfYBFc .peggds-0{color:#222;}/*!sc*/ +.lfYBFc .iyvn34-0{pointer-events:none;color:#222;}/*!sc*/ +.lfYBFc:focus{background-color:#E6F2F8;border:1px solid #E6F2F8;color:#0075B2;}/*!sc*/ +.lfYBFc:focus .peggds-0{color:#0075B2;}/*!sc*/ +.lfYBFc:focus .iyvn34-0{color:#0075B2;}/*!sc*/ +.lfYBFc:enabled:active{background-color:#d2e8f2;border:1px solid #d2e8f2;color:#006499;}/*!sc*/ +.lfYBFc:enabled:active .peggds-0{color:#006499;}/*!sc*/ +.lfYBFc:enabled:active .iyvn34-0{color:#006499;}/*!sc*/ +.lfYBFc:hover{background-color:#E5E5E5;border:1px solid #E5E5E5;color:#222;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ +.lfYBFc:hover .peggds-0{color:#222;}/*!sc*/ +.lfYBFc:hover .iyvn34-0{color:#222;}/*!sc*/ +data-styled.g194[id="peggds-2"]{content:"lfYBFc,"}/*!sc*/ +.eQNljZ{display:none;line-height:19px;color:#666;padding-left:18px;padding-bottom:16px;font-family:ProximaNovaCond,Arial Narrow,sans-serif;}/*!sc*/ +@media only screen and (min-width:50em){.eQNljZ{display:none;}}/*!sc*/ +data-styled.g254[id="wz9htl-0"]{content:"eQNljZ,"}/*!sc*/ +.jNeQKR{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:84px;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}/*!sc*/ +@media only screen and (max-width:49.94em){.jNeQKR{padding:0 6px 0 16px;height:52px;}}/*!sc*/ +@media only screen and (min-width:50em) and (max-width:63.69em){.jNeQKR{height:64px;}}/*!sc*/ +.ezoHdv{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:84px;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;height:60px;margin:0 auto;}/*!sc*/ +@media only screen and (max-width:49.94em){.ezoHdv{padding:0 6px 0 16px;height:52px;}}/*!sc*/ +@media only screen and (min-width:50em) and (max-width:63.69em){.ezoHdv{height:64px;}}/*!sc*/ +@media only screen and (max-width:49.94em){.ezoHdv{width:100%;}}/*!sc*/ +@media only screen and (max-width:63.69em){.ezoHdv nav a{padding:0 16px;overflow:hidden;}.ezoHdv nav a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}}/*!sc*/ +@media only screen and (min-width:50em) and (max-width:63.69em){.ezoHdv{width:calc((100vw - 24px) * 1 - 24px);}}/*!sc*/ +@media only screen and (min-width:63.75em) and (max-width:85.19em){.ezoHdv{width:calc((100vw - 24px) * 1 - 24px);}}/*!sc*/ +@media only screen and (min-width:85.25em){.ezoHdv{width:calc((1364px - 32px) * 1 - 32px);}}/*!sc*/ +data-styled.g282[id="sc-1f6xobn-0"]{content:"jNeQKR,ezoHdv,"}/*!sc*/ +.gYNxLk{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:44px;height:44px;}/*!sc*/ +.gYNxLk.gYNxLk{color:#222;}/*!sc*/ +.gYNxLk .icon-close{display:none;}/*!sc*/ +.gYNxLk.open .icon-close{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ +.gYNxLk.open .icon-hamburger{display:none;}/*!sc*/ +data-styled.g283[id="sc-1f6xobn-1"]{content:"gYNxLk,"}/*!sc*/ +@media only screen and (max-width:49.94em){.aJmgf{display:none;}}/*!sc*/ +data-styled.g284[id="sc-1f6xobn-2"]{content:"aJmgf,"}/*!sc*/ +.hhtTpH{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:44px;height:44px;display:none;width:auto;}/*!sc*/ +.hhtTpH.hhtTpH{color:#222;}/*!sc*/ +.hhtTpH.show{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ +.hhtTpH:first-of-type{padding:0 6px 0 16px;}/*!sc*/ +.hhtTpH:not(:first-of-type){padding:0 6px;}/*!sc*/ +.hhtTpH.hhtTpH{color:#222;}/*!sc*/ +.hhtTpH:hover{color:#0075B2;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ +@media only screen and (min-width:50em){.hhtTpH::after{content:'';width:1px;height:30px;margin-left:16px;background-color:#CCC;}}/*!sc*/ +@media only screen and (max-width:37.31em){.hhtTpH{display:none;}.hhtTpH.show{display:none;}}/*!sc*/ +data-styled.g285[id="sc-1f6xobn-3"]{content:"hhtTpH,"}/*!sc*/ +.fatwxV{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:44px;height:44px;display:none;margin-right:8px;}/*!sc*/ +.fatwxV.fatwxV{color:#222;}/*!sc*/ +.fatwxV.fatwxV{color:#000;}/*!sc*/ +.fatwxV:hover{color:#0075B2;}/*!sc*/ +@media only screen and (min-width:50em){.fatwxV{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}}/*!sc*/ +data-styled.g286[id="sc-1f6xobn-4"]{content:"fatwxV,"}/*!sc*/ +.iGGOmz{height:auto;margin:auto;}/*!sc*/ +@media only screen and (max-width:49.94em){.iGGOmz{width:calc((100vw - 16px) * 1 + 16px);}}/*!sc*/ +@media only screen and (min-width:50em) and (max-width:63.69em){.iGGOmz{width:calc((100vw - 24px) * 1 - 24px);}}/*!sc*/ +@media only screen and (min-width:63.75em) and (max-width:85.19em){.iGGOmz{width:calc((100vw - 24px) * 1 - 24px);}}/*!sc*/ +@media only screen and (min-width:85.25em){.iGGOmz{width:calc((1364px - 32px) * 1 - 32px);}}/*!sc*/ +data-styled.g288[id="sc-1f6xobn-6"]{content:"iGGOmz,"}/*!sc*/ +.hiYijV{background:rgba(255,255,255,0.99);top:0;margin-bottom:0;position:relative;width:100%;border-top:4px solid #0075B2;border-bottom:1px solid #E5E5E5;}/*!sc*/ +.hiYijV.hiYijV.hiYijV.hiYijV.hiYijV{padding:0;}/*!sc*/ +@media only screen and (min-width:37.37em){.hiYijV.open{border-bottom:none;}}/*!sc*/ +.bJAAGt{background:rgba(255,255,255,0.99);top:0;margin-bottom:0;position:relative;width:100%;border-top:4px solid #0075B2;border-bottom:1px solid #E5E5E5;position:fixed;box-shadow:0 2px 10px rgba(0,0,0,0.07);-webkit-transform:translateY(-84px);-ms-transform:translateY(-84px);transform:translateY(-84px);-webkit-transition:-webkit-transform 0;-webkit-transition:transform 0;transition:transform 0;z-index:500;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);-webkit-transition:-webkit-transform 400ms cubic-bezier(0.215,0.61,0.355,1);-webkit-transition:transform 400ms cubic-bezier(0.215,0.61,0.355,1);transition:transform 400ms cubic-bezier(0.215,0.61,0.355,1);}/*!sc*/ +.bJAAGt.bJAAGt.bJAAGt.bJAAGt.bJAAGt{padding:0;}/*!sc*/ +@media only screen and (max-width:49.94em){.bJAAGt{z-index:95;}}/*!sc*/ +@media only screen and (min-width:37.37em){.bJAAGt.open{border-bottom:none;}}/*!sc*/ +data-styled.g289[id="sc-1f6xobn-7"]{content:"hiYijV,bJAAGt,"}/*!sc*/ +.SKewC{position:relative;}/*!sc*/ +@media only screen and (min-width:50em){}/*!sc*/ +.SKewC.open{margin-top:0;position:fixed;height:100vh;top:0;bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;left:0;right:0;z-index:1112;background:#FFF;overflow-y:scroll;-webkit-overflow-scrolling:touch;}/*!sc*/ +.SKewC.open .dfwuc8-1{display:none;}/*!sc*/ +.SKewC.open .header-bar{display:none;}/*!sc*/ +.SKewC.open .z9u32j-0{position:absolute;top:0;}/*!sc*/ +@media only screen and (max-width:63.69em){.SKewC.open .wz9htl-0{display:block;}}/*!sc*/ +.SKewC.slide-overlay-active{z-index:11122;}/*!sc*/ +data-styled.g290[id="sc-1f6xobn-8"]{content:"SKewC,"}/*!sc*/ +.iSKltx{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;-webkit-flex:auto;-ms-flex:auto;flex:auto;min-width:0;margin-right:16px;}/*!sc*/ +@media only screen and (max-width:49.94em){.iSKltx{margin-right:6px;}}/*!sc*/ +@media only screen and (max-width:49.94em){.iSKltx{overflow:hidden;}}/*!sc*/ +.iSKltx .sc-8vrmk6-0{-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}/*!sc*/ +@media only screen and (max-width:49.94em){.iSKltx .sc-8vrmk6-0{width:100%;}}/*!sc*/ +.esbIeX{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;}/*!sc*/ +@media only screen and (max-width:49.94em){.esbIeX{overflow:hidden;}}/*!sc*/ +.esbIeX .sc-8vrmk6-0{-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}/*!sc*/ +@media only screen and (max-width:49.94em){.esbIeX .sc-8vrmk6-0{width:100%;}}/*!sc*/ +data-styled.g294[id="sc-1f6xobn-12"]{content:"iSKltx,esbIeX,"}/*!sc*/ +.gBwJsE{line-height:31px;max-height:30px;padding-left:16px;margin-left:16px;border-left:1px solid #CCC;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:ProximaNovaCond,Arial Narrow,sans-serif;}/*!sc*/ +@media only screen and (max-width:49.94em){.gBwJsE{display:none;}}/*!sc*/ +data-styled.g296[id="sc-1f6xobn-14"]{content:"gBwJsE,"}/*!sc*/ +.loReOC{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;}/*!sc*/ +.eyZQTX{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;}/*!sc*/ +@media only screen and (max-width:63.69em){.eyZQTX .sc-1f6xobn-4{display:none;}}/*!sc*/ +@media only screen and (max-width:49.94em){.eyZQTX .sc-1il3uru-2{display:none;}}/*!sc*/ +.eyZQTX .sc-1il3uru-1{max-height:calc(100vh - 60px);overflow-y:hidden;}/*!sc*/ +.eyZQTX ul.user-links{max-height:calc(70vh - 35px);}/*!sc*/ +.eyZQTX ul.myblogs{max-height:calc(25vh - 35px);}/*!sc*/ +data-styled.g297[id="sc-1f6xobn-15"]{content:"loReOC,eyZQTX,"}/*!sc*/ +.iuTfdC{display:none;position:absolute;top:-24px;right:0;bottom:0;left:0;background:rgba(255,255,255,0.6);}/*!sc*/ +.iuTfdC.show{display:block;}/*!sc*/ +data-styled.g298[id="sc-1f6xobn-16"]{content:"iuTfdC,"}/*!sc*/ +.kPLnOz{display:none;}/*!sc*/ +.kPLnOz.show{display:block;}/*!sc*/ +.kPLnOz.show.disabled{display:none;}/*!sc*/ +data-styled.g299[id="sc-1f6xobn-17"]{content:"kPLnOz,"}/*!sc*/ +.dJabdk{font-size:16px;line-height:21px;margin-bottom:1rem;text-transform:uppercase;}/*!sc*/ +@media only screen and (max-width:37.31em){.dJabdk{color:#7D7D7D;}}/*!sc*/ +data-styled.g303[id="z1qon0-0"]{content:"dJabdk,"}/*!sc*/ +.dnOOaU{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:39px;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;min-width:39px;-webkit-text-decoration:none;text-decoration:none;color:#0075B2;-webkit-transition:color 200ms;transition:color 200ms;}/*!sc*/ +.dnOOaU:hover{color:#00324c;}/*!sc*/ +data-styled.g304[id="sc-17x7c2u-0"]{content:"dnOOaU,"}/*!sc*/ +.boXNUH{padding:0 10px;}/*!sc*/ +data-styled.g305[id="sc-17x7c2u-1"]{content:"boXNUH,"}/*!sc*/ +.moYHu{background-color:#CCC;border-radius:3px;border:1px solid #CCC;display:grid;grid-auto-flow:column;grid-gap:1px;}/*!sc*/ +.moYHu > .sc-17x7c2u-0{background-color:white;}/*!sc*/ +.moYHu > .sc-17x7c2u-0:first-child{border-top-left-radius:3px;border-bottom-left-radius:3px;}/*!sc*/ +.moYHu > .sc-17x7c2u-0:last-child{border-top-right-radius:3px;border-bottom-right-radius:3px;}/*!sc*/ +data-styled.g306[id="sc-17x7c2u-2"]{content:"moYHu,"}/*!sc*/ +.hRfzdX{display:inline-block;}/*!sc*/ +@media only screen and (max-width:37.31em){.hRfzdX{width:100%;max-width:100%;}}/*!sc*/ +data-styled.g308[id="sc-18b1b2r-0"]{content:"hRfzdX,"}/*!sc*/ +.eLUMpW{border-radius:3px;padding:0 1rem;border-color:#CCC;}/*!sc*/ +.eLUMpW:hover,.eLUMpW:active,.eLUMpW:focus{border-color:#CCC;}/*!sc*/ +data-styled.g311[id="sc-18b1b2r-3"]{content:"eLUMpW,"}/*!sc*/ +.bemTYH{text-align:right;}/*!sc*/ +data-styled.g312[id="sc-18b1b2r-4"]{content:"bemTYH,"}/*!sc*/ +.eTUqHn{margin:2.5rem auto 0;max-width:636px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}/*!sc*/ +@media only screen and (max-width:37.31em){.eTUqHn .sc-18b1b2r-2{width:100%;margin-top:36px;}.eTUqHn .sc-18b1b2r-2 .z1qon0-0:first-child{display:none;}.eTUqHn .sc-18b1b2r-1{display:block;}.eTUqHn .btk291-0{width:100%;}}/*!sc*/ +@media only screen and (min-width:37.37em){.eTUqHn .sc-18b1b2r-1{display:none;}}/*!sc*/ +@media only screen and (min-width:50em) and (max-width:63.69em){.eTUqHn{max-width:636px;}}/*!sc*/ +@media only screen and (min-width:63.75em) and (max-width:85.19em){.eTUqHn{max-width:636px;}}/*!sc*/ +@media only screen and (min-width:85.25em){.eTUqHn{max-width:636px;}}/*!sc*/ +data-styled.g313[id="sc-18b1b2r-5"]{content:"eTUqHn,"}/*!sc*/ +.bgezzh{max-width:636px;margin:40px auto 0;}/*!sc*/ +@media only screen and (min-width:50em) and (max-width:63.69em){.bgezzh{max-width:636px;}}/*!sc*/ +@media only screen and (min-width:63.75em) and (max-width:85.19em){.bgezzh{max-width:636px;}}/*!sc*/ +@media only screen and (min-width:85.25em){.bgezzh{max-width:636px;}}/*!sc*/ +data-styled.g314[id="sc-1ib37xr-0"]{content:"bgezzh,"}/*!sc*/ +.jDNXut{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}/*!sc*/ +.jDNXut .sc-1ib37xr-1:not(:first-child){margin-top:1rem;}/*!sc*/ +data-styled.g316[id="sc-1ib37xr-2"]{content:"jDNXut,"}/*!sc*/ +.RhQju{font-family:ProximaNovaCond,Arial Narrow,sans-serif;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}/*!sc*/ +.RhQju a{color:#222;}/*!sc*/ +@media only screen and (max-width:37.31em){.RhQju{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}/*!sc*/ +data-styled.g317[id="sc-1ib37xr-3"]{content:"RhQju,"}/*!sc*/ +.cFoCAT{font-size:21px;line-height:32px;font-weight:bold;margin-right:1rem;}/*!sc*/ +@media only screen and (max-width:37.31em){.cFoCAT{margin-bottom:0.25rem;}}/*!sc*/ +data-styled.g318[id="sc-1ib37xr-4"]{content:"cFoCAT,"}/*!sc*/ +.jelKu{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}/*!sc*/ +.jelKu .peggds-2{margin-right:0.5rem;}/*!sc*/ +data-styled.g319[id="sc-1ib37xr-5"]{content:"jelKu,"}/*!sc*/ +.ftEmcV{font-size:1rem;line-height:29px;margin-bottom:0;font-family:Georgia,serif;color:#222;}/*!sc*/ +.ftEmcV.ftEmcV a{color:#0075B2;}/*!sc*/ +@media only screen and (max-width:37.31em){.ftEmcV{margin-top:0.25rem;}}/*!sc*/ +data-styled.g320[id="sc-1ib37xr-6"]{content:"ftEmcV,"}/*!sc*/ +.ciTXDk{position:relative;width:100%;height:100%;}/*!sc*/ +.ciTXDk .video-js .vjs-big-play-button{display:none;}/*!sc*/ +.ciTXDk .vjs-workinghover .vjs-subs-caps-button.vjs-menu-button-popup:hover .vjs-menu{display:none;}/*!sc*/ +.ciTXDk .video-js ul.vjs-menu-content .vjs-menu-item{margin:0;font-size:0.7rem;}/*!sc*/ +.ciTXDk .video-js ul.vjs-menu-content .vjs-menu-item-text{margin:0;font-size:0.7rem;}/*!sc*/ +.ciTXDk video{width:100%;height:100%;cursor:pointer;outline:none;}/*!sc*/ +.ciTXDk .video-js{width:100%;height:100%;}/*!sc*/ +data-styled.g328[id="srp5v4-0"]{content:"ciTXDk,"}/*!sc*/ +.bzXdEx .video-js{width:100%;height:100%;}/*!sc*/ +data-styled.g329[id="srp5v4-1"]{content:"bzXdEx,"}/*!sc*/ +.cjhGGE{position:absolute;top:0;right:0;left:0;bottom:30px;cursor:pointer;}/*!sc*/ +.cjhGGE .icon-wrapper{position:absolute;top:calc(50% + 15px);left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:15%;height:0;padding-bottom:15%;overflow:visible;}/*!sc*/ +.cjhGGE .icon{position:absolute;width:100%;height:100%;z-index:22;}/*!sc*/ +.cjhGGE .icon-wrapper::after{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle closest-side at center,rgba(0,0,0,0.25),rgba(0,0,0,0) 100%);z-index:-1;overflow:visible;}/*!sc*/ +.cjhGGE:hover .icon-wrapper::after{background:radial-gradient(circle closest-side at center,rgba(0,0,0,0.5),rgba(0,0,0,0) 100%);}/*!sc*/ +data-styled.g330[id="srp5v4-2"]{content:"cjhGGE,"}/*!sc*/ +.fbWhc{background:#000;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;height:auto;position:relative;width:100%;}/*!sc*/ +data-styled.g346[id="e0r41v-0"]{content:"fbWhc,"}/*!sc*/ +.eGvvya{max-width:636px;margin-left:auto;margin-right:auto;margin-bottom:2rem;margin-top:2rem;text-align:center;padding:10px 0;font-family:ProximaNovaCond,Arial Narrow,sans-serif;font-weight:lighter;font-style:italic;font-size:25px;line-height:37px;clear:left;margin-top:2.5rem;margin-bottom:2.5rem;border-top:2px solid #18AFED;border-bottom:2px solid #18AFED;padding-top:30px;padding-bottom:30px;position:relative;}/*!sc*/ +.eGvvya::before,.eGvvya::after{content:'';display:block;width:45px;height:0;margin:0 auto;position:relative;border-top-width:1px;border-top-style:solid;border-color:#0075B2;}/*!sc*/ +.eGvvya::before{margin-bottom:20px;}/*!sc*/ +.eGvvya::after{margin-top:20px;}/*!sc*/ +@media only screen and (min-width:37.37em){.eGvvya{max-width:66%;}}/*!sc*/ +.eGvvya .sc-196v4ms-0{display:none;}/*!sc*/ +.eGvvya .a3cloy-0{display:block;padding-left:1.125rem;padding-right:1.125rem;}/*!sc*/ +.eGvvya::before{border:0;height:42px;width:42px;position:absolute;left:calc(50% - 21px);top:-21px;background-image:url('data:image/svg+xml;utf8,<svg width="42" height="42" viewBox="0 0 42 42" xmlns="http://www.w3.org/2000/svg"><title>gizmodo-quote</title><g fill="none" fill-rule="evenodd"><path d="M41.95 20.974c0 11.583-9.392 20.974-20.976 20.974S0 32.558 0 20.974 9.39 0 20.974 0 41.95 9.39 41.95 20.974" fill="%2318AFED"/><path d="M21.8 21.422c0-6.874 3.744-9.434 9.622-9.623l.76 3.46c-3.178.38-4.74 1.894-4.647 4.453h3.51l-.002 9.245H21.8v-7.54zm-12.562 0c0-6.874 3.697-9.434 9.622-9.623l.71 3.46c-3.175.38-4.74 1.894-4.597 4.453h3.508l.004 9.245H9.238v-7.54z" fill="%23ffffff"/></g></svg>');}/*!sc*/ +.eGvvya::after{display:none;}/*!sc*/ +data-styled.g376[id="o6p93a-0"]{content:"eGvvya,"}/*!sc*/ +.bwJnjZ{font-family:ProximaNovaCond,Arial Narrow,sans-serif;font-size:14px;font-weight:bold;text-transform:uppercase;color:#0075B2;cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border:1px solid #0075B2;font-weight:normal;margin-right:8px;padding:5px 8px 3px;font-size:15px;line-height:20px;}/*!sc*/ +.bwJnjZ:hover{color:#00537f;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ +data-styled.g385[id="vxl3c2-0"]{content:"bwJnjZ,"}/*!sc*/ +.bIkJGf{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;max-width:100%;overflow:hidden;margin-bottom:10px;}/*!sc*/ +.bIkJGf:last-child{margin-right:0;}/*!sc*/ +.bIkJGf .vxl3c2-0{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}/*!sc*/ +data-styled.g386[id="qsfpej-0"]{content:"bIkJGf,"}/*!sc*/ +.dLnlzm{min-height:230px;}/*!sc*/ +@media only screen and (max-width:37.31em){.dLnlzm{min-height:260px;}}/*!sc*/ +data-styled.g484[id="wdg44t-8"]{content:"dLnlzm,"}/*!sc*/ +.fCQpxO{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:14px;line-height:19px;text-align:left;}/*!sc*/ +.fCQpxO:focus{outline:none;}/*!sc*/ +.fCQpxO a{color:#7D7D7D;}/*!sc*/ +.fCQpxO a:hover,.fCQpxO a:focus{color:#0075B2;-webkit-text-decoration:none;text-decoration:none;outline:none;}/*!sc*/ +.fCQpxO a:active{color:#00537f;}/*!sc*/ +data-styled.g517[id="sc-1ixdk2y-0"]{content:"fCQpxO,"}/*!sc*/ +.gWMcOL{display:inline-block;font-size:14px;line-height:19px;}/*!sc*/ +.gWMcOL .sc-1out364-0{color:#7D7D7D;}/*!sc*/ +.gWMcOL .sc-1out364-0:hover{color:#7D7D7D;}/*!sc*/ +data-styled.g520[id="uhd9ir-0"]{content:"gWMcOL,"}/*!sc*/ +.gKbuWQ{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;font-family:ProximaNovaCond,Arial Narrow,sans-serif;font-size:16px;line-height:21px;text-align:left;}/*!sc*/ +data-styled.g522[id="sc-1jc3ukb-0"]{content:"gKbuWQ,"}/*!sc*/ +.flaMVg{-webkit-flex-basis:40px;-ms-flex-preferred-size:40px;flex-basis:40px;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;margin-right:10px;}/*!sc*/ +.flaMVg img{width:40px;height:40px;border-radius:50%;position:unset;}/*!sc*/ +.flaMVg video{width:40px;height:40px;border-radius:50%;background-color:#F5F5F5;}/*!sc*/ +data-styled.g523[id="sc-1jc3ukb-1"]{content:"flaMVg,"}/*!sc*/ +.bjqgub{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}/*!sc*/ +.bjqgub a.permalink-bylineprop{color:#7D7D7D;}/*!sc*/ +data-styled.g524[id="sc-1jc3ukb-2"]{content:"bjqgub,"}/*!sc*/ +.hOuZKZ a,.hOuZKZ a:hover{font-size:16px;color:#000;}/*!sc*/ +data-styled.g525[id="sc-1jc3ukb-3"]{content:"hOuZKZ,"}/*!sc*/ +.iOvcxk{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ +@media only screen and (max-width:37.31em){.iOvcxk{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}}/*!sc*/ +@media only screen and (min-width:37.37em){.iOvcxk{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}}/*!sc*/ +.iOvcxk time{font-size:16px;}/*!sc*/ +data-styled.g526[id="sc-1jc3ukb-4"]{content:"iOvcxk,"}/*!sc*/ +.hYjyYh{max-height:300px;overflow:hidden;}/*!sc*/ +data-styled.g527[id="gs34tp-0"]{content:"hYjyYh,"}/*!sc*/ +.fvDBog{border-radius:5px;padding:0 1rem;margin:2rem 0;}/*!sc*/ +data-styled.g528[id="gs34tp-1"]{content:"fvDBog,"}/*!sc*/ +.gGrHbP{display:block;min-height:auto;}/*!sc*/ +data-styled.g529[id="gs34tp-2"]{content:"gGrHbP,"}/*!sc*/ +.edLJrO{padding-bottom:10px;}/*!sc*/ +data-styled.g530[id="gs34tp-3"]{content:"edLJrO,"}/*!sc*/ +.eKWSBV{font-family:"ProximaNovaCond",sans-serif;width:100%;height:auto;font-size:16px;line-height:21px;padding-bottom:4px;border-bottom:1px solid #ccc;}/*!sc*/ +data-styled.g531[id="gs34tp-4"]{content:"eKWSBV,"}/*!sc*/ +.jxwmMa{width:100%;margin:0 auto;overflow:hidden;max-width:636px;font-size:15px;font-family:Georgia,serif;font-weight:400;line-height:28px;}/*!sc*/ +data-styled.g533[id="gs34tp-6"]{content:"jxwmMa,"}/*!sc*/ +.lnIjuV{margin:40px auto 0;}/*!sc*/ +@media only screen and (max-width:37.31em){.lnIjuV{margin:40px 1.125rem 0;}}/*!sc*/ +data-styled.g536[id="sc-1evupmb-2"]{content:"lnIjuV,"}/*!sc*/ +@media only screen and (max-width:37.31em){.bGtOjR{margin:0 -1.125rem;}}/*!sc*/ +data-styled.g538[id="sc-73739c-0"]{content:"bGtOjR,"}/*!sc*/ +.gaZVrz.trc_related_container{padding:0;}/*!sc*/ +.gaZVrz .thumbnails-a{padding:0;}/*!sc*/ +data-styled.g540[id="sc-73739c-2"]{content:"gaZVrz,"}/*!sc*/ +.cQhMko{margin:40px auto 0;max-width:636px;}/*!sc*/ +data-styled.g541[id="sc-73739c-3"]{content:"cQhMko,"}/*!sc*/ +.lxopW{max-width:100%;}/*!sc*/ +.lxopW .vxl3c2-0{color:#FFF;}/*!sc*/ +.lxopW .vxl3c2-0:hover{color:#CCC;}/*!sc*/ +.lxopW .sc-1ombk85-0 .vxl3c2-0{border-color:#FFF;}/*!sc*/ +.lxopW .sc-1ombk85-0:hover .vxl3c2-0{color:#FFF;background:#FFF;}/*!sc*/ +.lxopW a:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ +.lxopW .ylqi26-1{color:#FFF;opacity:0.5;}/*!sc*/ +data-styled.g598[id="sc-1ombk85-1"]{content:"lxopW,"}/*!sc*/ +.jIlCdC{position:relative;width:100%;}/*!sc*/ +@media only screen and (min-width:63.75em){.jIlCdC{padding:0 2.5%;}}/*!sc*/ +data-styled.g599[id="gkv9lo-0"]{content:"jIlCdC,"}/*!sc*/ +.jRMTXL{width:100%;}/*!sc*/ +@media only screen and (min-width:63.75em){.jRMTXL::after{background:#FFF;bottom:0;box-sizing:inherit;content:'';display:block;height:25%;left:0;position:absolute;right:0;width:100%;}}/*!sc*/ +data-styled.g600[id="gkv9lo-1"]{content:"jRMTXL,"}/*!sc*/ +.hUZwqA{background-size:cover;background-repeat:no-repeat;background-position:center;display:block;height:0;max-width:100%;overflow:hidden;padding-bottom:56%;position:relative;width:100%;}/*!sc*/ +@media only screen and (min-width:63.75em){.hUZwqA{z-index:1;}}/*!sc*/ +.hUZwqA video{width:100%;}/*!sc*/ +data-styled.g601[id="gkv9lo-2"]{content:"hUZwqA,"}/*!sc*/ +.eMVLRp{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding:15px 20px;}/*!sc*/ +@media only screen and (min-width:63.75em){.eMVLRp{-webkit-order:-1;-ms-flex-order:-1;order:-1;padding:40px;}}/*!sc*/ +data-styled.g602[id="gkv9lo-3"]{content:"eMVLRp,"}/*!sc*/ +.PCsqk{color:#FFF;font-size:8.5vw;font-weight:normal;line-height:1.1;text-align:center;margin:0 auto;max-width:1180px;width:100%;}/*!sc*/ +@media only screen and (min-width:37.37em){.PCsqk{font-size:6vw;}}/*!sc*/ +@media only screen and (min-width:63.75em){.PCsqk{font-size:3vw;}}/*!sc*/ +.PCsqk a{color:#FFF;}/*!sc*/ +.PCsqk a:hover{color:#FFF;}/*!sc*/ +data-styled.g603[id="gkv9lo-4"]{content:"PCsqk,"}/*!sc*/ +.kQvuJE{font-size:10px;font-weight:400;line-height:1.3;-webkit-letter-spacing:0.2px;-moz-letter-spacing:0.2px;-ms-letter-spacing:0.2px;letter-spacing:0.2px;text-transform:uppercase;text-align:center;margin-top:6px;font-size:16px;line-height:24px;text-transform:inherit;margin-top:0;}/*!sc*/ +data-styled.g982[id="sc-1mn1yww-0"]{content:"kQvuJE,"}/*!sc*/ +.exzjhb{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;color:#7D7D7D;}/*!sc*/ +.exzjhb:hover{color:#0075B2;}/*!sc*/ +data-styled.g983[id="sc-1mn1yww-1"]{content:"exzjhb,"}/*!sc*/ +.lmzzDF{display:block;margin-top:40px;margin-bottom:25px;padding-bottom:calc(25px + 12px);border-bottom:1px solid #d4d4d4;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;overflow:auto;}/*!sc*/ +@media only screen and (max-width:37.31em){.lmzzDF{margin:0;margin-bottom:30px;margin-top:30px;}}/*!sc*/ +data-styled.g1039[id="sc-1eu5fsj-0"]{content:"lmzzDF,"}/*!sc*/ +.jAIBUh{max-width:250px;height:calc(250px * 9 / 16);}/*!sc*/ +@media only screen and (max-width:37.31em){.jAIBUh{width:100%;height:auto;max-width:150px;height:calc(150px * 9 / 16);}}/*!sc*/ +data-styled.g1040[id="sc-1eu5fsj-1"]{content:"jAIBUh,"}/*!sc*/ +.lfYldH{display:block;float:left;border:0 solid #CCC;padding:0;margin-left:0;margin-right:12px;margin-bottom:2px;box-shadow:none;color:#0075B2;height:auto;}/*!sc*/ +.lfYldH.lfYldH a{box-shadow:none;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ +@media only screen and (max-width:37.31em){.lfYldH{margin:6px 18px 1px 0;box-shadow:0;}}/*!sc*/ +data-styled.g1041[id="sc-1eu5fsj-2"]{content:"lfYldH,"}/*!sc*/ +.Wqznz{display:block;margin-top:0;width:auto;}/*!sc*/ +data-styled.g1042[id="sc-1eu5fsj-3"]{content:"Wqznz,"}/*!sc*/ +.jcqSJA{display:block;font-family:ProximaNovaCond,Arial Narrow,sans-serif;font-weight:600;font-size:22px;color:#222;display:block;}/*!sc*/ +.jcqSJA a{color:#222;-webkit-transition:color 0.1s ease-out;transition:color 0.1s ease-out;box-shadow:inset 0 -2px 0 #0075B2;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ +.jcqSJA a:hover{color:#0075B2;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ +@media only screen and (max-width:37.31em){.jcqSJA{display:none;}}/*!sc*/ +data-styled.g1044[id="sc-1eu5fsj-5"]{content:"jcqSJA,"}/*!sc*/ +.dGxHTb{display:block;font-family:ProximaNovaCond,Arial Narrow,sans-serif;font-weight:600;font-size:22px;color:#222;display:none;}/*!sc*/ +.dGxHTb a{color:#222;-webkit-transition:color 0.1s ease-out;transition:color 0.1s ease-out;box-shadow:inset 0 -2px 0 #0075B2;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ +.dGxHTb a:hover{color:#0075B2;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ +@media only screen and (max-width:37.31em){.dGxHTb{display:block;padding:5px 0;}}/*!sc*/ +data-styled.g1045[id="sc-1eu5fsj-6"]{content:"dGxHTb,"}/*!sc*/ +.hluOXr{display:block;font-style:italic;font-size:14px;line-height:24px;font-family:Georgia,serif;margin-top:5px;padding-top:1px;}/*!sc*/ +.hluOXr a{color:#0075B2;}/*!sc*/ +data-styled.g1046[id="sc-1eu5fsj-7"]{content:"hluOXr,"}/*!sc*/ +.jGImsi{display:block;font-family:ProximaNovaCond,Arial Narrow,sans-serif;font-size:15px;margin-top:6px;line-height:18px;}/*!sc*/ +@media only screen and (max-width:37.31em){.jGImsi{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:10px;}.jGImsi > div{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}}/*!sc*/ +.jGImsi span{color:#7D7D7D;}/*!sc*/ +.jGImsi a{color:#222;-webkit-transition:color 0.1s ease-out;transition:color 0.1s ease-out;box-shadow:inset 0 -2px 0 #0075B2;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ +.jGImsi a:hover{color:#0075B2;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ +.jGImsi a span{color:#000;}/*!sc*/ +data-styled.g1047[id="sc-1eu5fsj-8"]{content:"jGImsi,"}/*!sc*/ +.jQuhot{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-left:8px;margin-bottom:10px;}/*!sc*/ +.jQuhot:first-of-type{margin-left:0;}/*!sc*/ +@media only screen and (max-width:37.31em){.jQuhot{margin-left:0;display:block;}}/*!sc*/ +data-styled.g1048[id="sc-1eu5fsj-9"]{content:"jQuhot,"}/*!sc*/ +.ewjZpa{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;margin-left:-5px;}/*!sc*/ +.ewjZpa svg{color:#000;}/*!sc*/ +data-styled.g1050[id="sc-1eu5fsj-11"]{content:"ewjZpa,"}/*!sc*/ +.ghYQPR{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;margin-right:-5px;}/*!sc*/ +.ghYQPR svg{color:#000;}/*!sc*/ +data-styled.g1051[id="sc-1eu5fsj-12"]{content:"ghYQPR,"}/*!sc*/ +.kgkwRa{margin:0 2px;}/*!sc*/ +.kgkwRa svg{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);}/*!sc*/ +data-styled.g1052[id="sc-1eu5fsj-13"]{content:"kgkwRa,"}/*!sc*/ +.gqfcxx{max-width:1024px;width:100%;}/*!sc*/ +@media only screen and (min-width:50em) and (max-width:63.69em){.gqfcxx{max-width:1024px;}}/*!sc*/ +@media only screen and (min-width:63.75em) and (max-width:85.19em){.gqfcxx{max-width:1024px;}}/*!sc*/ +@media only screen and (min-width:85.25em){.gqfcxx{max-width:1024px;}}/*!sc*/ +.gqfcxx .sc-1lmbno3-0:not(.sc-1eow4w5-1),.gqfcxx .sc-1lmbno3-1:not(.sc-1eow4w5-1),.gqfcxx .sc-8hxd3p-0:not(.sc-1eow4w5-1),.gqfcxx .sc-1eu5fsj-0:not(.sc-1eow4w5-1),.gqfcxx .ooo3c9-0:not(.sc-1eow4w5-1),.gqfcxx .sc-1jaa1bu-0:not(.sc-1eow4w5-1),.gqfcxx p:not(.sc-1eow4w5-1),.gqfcxx ul:not(.sc-1eow4w5-1),.gqfcxx hr:not(.sc-1eow4w5-1),.gqfcxx .sc-1bwb26k-1:not(.sc-1eow4w5-1),.gqfcxx > span:not(.sc-1eow4w5-1),.gqfcxx figure:not(.sc-1eow4w5-1),.gqfcxx pre:not(.sc-1eow4w5-1){margin-left:auto;margin-right:auto;max-width:636px;}/*!sc*/ +@media only screen and (min-width:50em) and (max-width:63.69em){.gqfcxx .sc-1lmbno3-0:not(.sc-1eow4w5-1),.gqfcxx .sc-1lmbno3-1:not(.sc-1eow4w5-1),.gqfcxx .sc-8hxd3p-0:not(.sc-1eow4w5-1),.gqfcxx .sc-1eu5fsj-0:not(.sc-1eow4w5-1),.gqfcxx .ooo3c9-0:not(.sc-1eow4w5-1),.gqfcxx .sc-1jaa1bu-0:not(.sc-1eow4w5-1),.gqfcxx p:not(.sc-1eow4w5-1),.gqfcxx ul:not(.sc-1eow4w5-1),.gqfcxx hr:not(.sc-1eow4w5-1),.gqfcxx .sc-1bwb26k-1:not(.sc-1eow4w5-1),.gqfcxx > span:not(.sc-1eow4w5-1),.gqfcxx figure:not(.sc-1eow4w5-1),.gqfcxx pre:not(.sc-1eow4w5-1){max-width:636px;}}/*!sc*/ +@media only screen and (min-width:63.75em) and (max-width:85.19em){.gqfcxx .sc-1lmbno3-0:not(.sc-1eow4w5-1),.gqfcxx .sc-1lmbno3-1:not(.sc-1eow4w5-1),.gqfcxx .sc-8hxd3p-0:not(.sc-1eow4w5-1),.gqfcxx .sc-1eu5fsj-0:not(.sc-1eow4w5-1),.gqfcxx .ooo3c9-0:not(.sc-1eow4w5-1),.gqfcxx .sc-1jaa1bu-0:not(.sc-1eow4w5-1),.gqfcxx p:not(.sc-1eow4w5-1),.gqfcxx ul:not(.sc-1eow4w5-1),.gqfcxx hr:not(.sc-1eow4w5-1),.gqfcxx .sc-1bwb26k-1:not(.sc-1eow4w5-1),.gqfcxx > span:not(.sc-1eow4w5-1),.gqfcxx figure:not(.sc-1eow4w5-1),.gqfcxx pre:not(.sc-1eow4w5-1){max-width:636px;}}/*!sc*/ +@media only screen and (min-width:85.25em){.gqfcxx .sc-1lmbno3-0:not(.sc-1eow4w5-1),.gqfcxx .sc-1lmbno3-1:not(.sc-1eow4w5-1),.gqfcxx .sc-8hxd3p-0:not(.sc-1eow4w5-1),.gqfcxx .sc-1eu5fsj-0:not(.sc-1eow4w5-1),.gqfcxx .ooo3c9-0:not(.sc-1eow4w5-1),.gqfcxx .sc-1jaa1bu-0:not(.sc-1eow4w5-1),.gqfcxx p:not(.sc-1eow4w5-1),.gqfcxx ul:not(.sc-1eow4w5-1),.gqfcxx hr:not(.sc-1eow4w5-1),.gqfcxx .sc-1bwb26k-1:not(.sc-1eow4w5-1),.gqfcxx > span:not(.sc-1eow4w5-1),.gqfcxx figure:not(.sc-1eow4w5-1),.gqfcxx pre:not(.sc-1eow4w5-1){max-width:636px;}}/*!sc*/ +@media only screen and (max-width:63.69em){.gqfcxx figure figcaption{padding-left:20px;}}/*!sc*/ +.gqfcxx .sc-1lmbno3-0,.gqfcxx .sc-1lmbno3-1,.gqfcxx .sc-8hxd3p-0,.gqfcxx ul,.gqfcxx p{font-family:Georgia,serif;font-size:17px;line-height:28px;font-weight:normal;}/*!sc*/ +@media only screen and (min-width:37.37em){.gqfcxx .sc-1lmbno3-0,.gqfcxx .sc-1lmbno3-1,.gqfcxx .sc-8hxd3p-0,.gqfcxx ul,.gqfcxx p{font-size:18px;line-height:29px;}}/*!sc*/ +.gqfcxx p{margin-bottom:1.25rem;}/*!sc*/ +.gqfcxx .sc-1lmbno3-0,.gqfcxx .sc-1lmbno3-1{margin-bottom:1.5rem;}/*!sc*/ +.gqfcxx iframe{max-width:100%;}/*!sc*/ +.gqfcxx .twitter-embed iframe{margin:0 auto;}/*!sc*/ +.gqfcxx .has-image,.gqfcxx .has-embed,.gqfcxx .has-video{margin-bottom:0;width:100%;clear:left;}/*!sc*/ +.gqfcxx .ooo3c9-0{margin-bottom:1.5rem;}/*!sc*/ +.gqfcxx .has-image.has-image,.gqfcxx .has-video.has-video{margin-top:0;margin-bottom:1.5rem;position:relative;}/*!sc*/ +.gqfcxx .has-image.has-image.media-large,.gqfcxx .has-video.has-video.media-large{max-width:800px;}/*!sc*/ +.gqfcxx .has-image.has-image.media-large,.gqfcxx .has-video.has-video.media-large,.gqfcxx .has-image.has-image.media-medium,.gqfcxx .has-video.has-video.media-medium,.gqfcxx .has-image.has-image.media-small,.gqfcxx .has-video.has-video.media-small{width:auto;text-align:center;}/*!sc*/ +@media only screen and (min-width:37.37em){.gqfcxx .has-image.has-image.media-small,.gqfcxx .has-video.has-video.media-small{max-width:($main-content-max-width / 2);float:left;margin:0.5rem 1.125rem 0.5rem 0;}}/*!sc*/ +@media only screen and (max-width:49.94em){.gqfcxx .has-image.has-image.media-medium,.gqfcxx .has-video.has-video.media-medium,.gqfcxx .has-image.has-image.media-large,.gqfcxx .has-video.has-video.media-large{width:auto;margin-left:-1.125rem;margin-right:-1.125rem;}.gqfcxx .has-image.has-image.media-medium figcaption,.gqfcxx .has-video.has-video.media-medium figcaption,.gqfcxx .has-image.has-image.media-large figcaption,.gqfcxx .has-video.has-video.media-large figcaption,.gqfcxx .has-image.has-image.media-medium .video-embed__caption,.gqfcxx .has-video.has-video.media-medium .video-embed__caption,.gqfcxx .has-image.has-image.media-large .video-embed__caption,.gqfcxx .has-video.has-video.media-large .video-embed__caption{padding:0 1.125rem;}}/*!sc*/ +.gqfcxx pre{box-shadow:inset 0 0 5px 0 rgba(0,0,0,0.5);display:block;overflow:auto;padding:1.125rem;margin-bottom:1.5rem;width:auto;word-break:break-all;}/*!sc*/ +.gqfcxx pre > code{background-color:transparent;}/*!sc*/ +.gqfcxx pre p{line-height:24px;}/*!sc*/ +.gqfcxx pre,.gqfcxx pre p,.gqfcxx code{font-family:Courier,monospace;color:#222;font-size:1rem;}/*!sc*/ +.gqfcxx pre,.gqfcxx code{background-color:#F5F5F5;}/*!sc*/ +.gqfcxx code{padding:0 7px;display:inline-block;}/*!sc*/ +.gqfcxx ul{margin-bottom:1.5rem;}/*!sc*/ +.gqfcxx ul li{margin-bottom:6px;}/*!sc*/ +.gqfcxx ul.commerce li{font-family:FiraSans,sans-serif;padding-left:0;color:#666;}/*!sc*/ +.gqfcxx ul.commerce li em{color:#72AD75;font-style:normal;}/*!sc*/ +.gqfcxx ul.commerce li a{color:inherit;-webkit-text-decoration:none;text-decoration:none;box-shadow:none;}/*!sc*/ +.gqfcxx ul.commerce li a:hover strong{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/ +.gqfcxx ul.commerce li::before{display:none;}/*!sc*/ +.gqfcxx .sc-1bwb26k-1.commerce-icon{max-width:100%;}/*!sc*/ +.gqfcxx .ad-container{margin:0;width:auto;height:auto;}/*!sc*/ +.gqfcxx .ad-container[data-ad-load-state=loaded] div iframe{margin:0 auto;}/*!sc*/ +data-styled.g1293[id="r43lxo-0"]{content:"gqfcxx,"}/*!sc*/ +.jmlRJq{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;overflow-y:hidden;overflow-x:auto;}/*!sc*/ +data-styled.g1329[id="sc-12i6d45-0"]{content:"jmlRJq,"}/*!sc*/ +.dYVcML{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative;}/*!sc*/ +data-styled.g1330[id="sc-12i6d45-1"]{content:"dYVcML,"}/*!sc*/ +.ieQQVs{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ +data-styled.g1334[id="sc-1vjnuu8-0"]{content:"ieQQVs,"}/*!sc*/ +.eDTWxq{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;height:100%;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}/*!sc*/ +@media only screen and (min-width:37.37em){.eDTWxq .iyvn34-0 svg{width:24px;height:24px;}}/*!sc*/ +data-styled.g1338[id="sc-15g8630-0"]{content:"eDTWxq,"}/*!sc*/ +.jrhsMX{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ +.jrhsMX > *{margin:0 4px;min-width:32px;color:#7D7D7D;-webkit-transition:color 200ms ease-in-out;transition:color 200ms ease-in-out;}/*!sc*/ +.jrhsMX > *:first-child{margin-left:0;}/*!sc*/ +.jrhsMX a:hover{-webkit-text-decoration:none;text-decoration:none;color:#0075B2;}/*!sc*/ +data-styled.g1339[id="sc-15g8630-1"]{content:"jrhsMX,"}/*!sc*/ +.iYQxuq{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;min-height:40px;}/*!sc*/ +@media only screen and (max-width:37.31em){.iYQxuq{width:100%;}}/*!sc*/ +data-styled.g1340[id="sc-83o472-0"]{content:"iYQxuq,"}/*!sc*/ +.bAZwNf{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}/*!sc*/ +@media only screen and (max-width:37.31em){.bAZwNf{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}.bAZwNf .sc-83o472-0 + .sc-83o472-0{margin-top:15px;}}/*!sc*/ +@media only screen and (min-width:37.37em){.bAZwNf{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}}/*!sc*/ +data-styled.g1341[id="sc-83o472-1"]{content:"bAZwNf,"}/*!sc*/ +.hNtXBx{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:40px;}/*!sc*/ +data-styled.g1342[id="sc-83o472-2"]{content:"hNtXBx,"}/*!sc*/ +.eRJXHT{border-top:solid;border-width:thin;border-color:#E5E5E5;position:fixed;bottom:0;right:0;width:100%;padding:0;background:#FFF;z-index:20;}/*!sc*/ +data-styled.g1343[id="sc-1bdg1q0-0"]{content:"eRJXHT,"}/*!sc*/ +.wircm{display:none;text-align:center;}/*!sc*/ +@media only screen and (max-width:37.31em){.wircm{display:block;}}/*!sc*/ +data-styled.g1344[id="sc-1bdg1q0-1"]{content:"wircm,"}/*!sc*/ +.kYRIXJ{width:100%;max-width:1024px;margin:auto;padding:0 1.125rem;}/*!sc*/ +@media only screen and (min-width:37.37em) and (max-width:49.94em){.kYRIXJ{max-width:1024px;}}/*!sc*/ +@media only screen and (min-width:50em) and (max-width:63.69em){.kYRIXJ{max-width:1024px;}}/*!sc*/ +@media only screen and (min-width:63.75em) and (max-width:85.19em){.kYRIXJ{max-width:1024px;}}/*!sc*/ +@media only screen and (min-width:85.25em){.kYRIXJ{max-width:1024px;}}/*!sc*/ +@media only screen and (min-width:63.75em) and (max-width:85.19em){.kYRIXJ .r43lxo-0{max-width:1024px;}}/*!sc*/ +@media only screen and (min-width:85.25em){.kYRIXJ .r43lxo-0{max-width:1024px;}}/*!sc*/ +data-styled.g1361[id="kf1sa9-0"]{content:"kYRIXJ,"}/*!sc*/ +.kdTLdU{width:100%;}/*!sc*/ +data-styled.g1365[id="sc-1b7600m-0"]{content:"kdTLdU,"}/*!sc*/ +.dqsDGm{width:100%;padding:30px 0;}/*!sc*/ +.dqsDGm > div{margin:0 auto;max-width:636px;}/*!sc*/ +@media only screen and (max-width:63.69em){.dqsDGm{padding:30px 1.125rem;}}/*!sc*/ +data-styled.g1366[id="sc-1b7600m-1"]{content:"dqsDGm,"}/*!sc*/ +.bmZlBt{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}/*!sc*/ +.bmZlBt .sc-1gszd9x-0{-webkit-order:1;-ms-flex-order:1;order:1;}/*!sc*/ +.bmZlBt .sc-1b7600m-1{-webkit-order:2;-ms-flex-order:2;order:2;}/*!sc*/ +@media only screen and (max-width:63.69em){.bmZlBt{margin-bottom:30px;}.bmZlBt .sc-1gszd9x-0{-webkit-order:2;-ms-flex-order:2;order:2;}.bmZlBt .sc-1b7600m-1{-webkit-order:1;-ms-flex-order:1;order:1;background:#000;}.bmZlBt .sc-1jc3ukb-3 a,.bmZlBt .sc-1jc3ukb-3 a:hover{color:#FFF;}.bmZlBt .permalink-bylineprop{color:#FFF;}.bmZlBt .sc-1gszd9x-0 a,.bmZlBt .sc-1gszd9x-0 a:hover{color:#FFF;}.bmZlBt .wvv3zm-2{color:#FFF;}.bmZlBt .sc-17x7c2u-2{background:#7D7D7D;border:1px solid #7D7D7D;}.bmZlBt .sc-17x7c2u-0{background:#000;color:#7D7D7D;}.bmZlBt .sc-17x7c2u-0:hover{color:#4a4a4a;}}/*!sc*/ +data-styled.g1367[id="sc-1b7600m-2"]{content:"bmZlBt,"}/*!sc*/ +@font-face{font-display:fallback;font-family:'ProximaNovaCond';font-weight:normal;font-style:normal;src:url(https://f.kinja-static.com/assets/fonts/proxima/proxima_nova_cond_reg-webfont.woff2?08252015) format('woff2'), url(https://f.kinja-static.com/assets/fonts/proxima/proxima_nova_cond_reg-webfont.woff?08252015) format('woff');}/*!sc*/ +@font-face{font-display:fallback;font-family:'ProximaNovaCond';font-weight:normal;font-style:italic;src:url(https://f.kinja-static.com/assets/fonts/proxima/proxima_nova_cond_reg_it-webfont.woff2?08252015) format('woff2'), url(https://f.kinja-static.com/assets/fonts/proxima/proxima_nova_cond_reg_it-webfont.woff?08252015) format('woff');}/*!sc*/ +@font-face{font-display:fallback;font-family:'ProximaNovaCond';font-weight:bold;font-style:normal;src:url(https://f.kinja-static.com/assets/fonts/proxima/proxima_nova_cond_sbold-webfont.woff2?08252015) format('woff2'), url(https://f.kinja-static.com/assets/fonts/proxima/proxima_nova_cond_sbold-webfont.woff?08252015) format('woff');}/*!sc*/ +@font-face{font-display:fallback;font-family:'ProximaNovaCond';font-weight:bold;font-style:italic;src:url(https://f.kinja-static.com/assets/fonts/proxima/proxima_nova_cond_sbold_it-webfont.woff2?08252015) format('woff2'), url(https://f.kinja-static.com/assets/fonts/proxima/proxima_nova_cond_sbold_it-webfont.woff?08252015) format('woff');}/*!sc*/ +@font-face{font-display:fallback;font-family:'ProximaNovaCond';font-weight:100;font-style:normal;src:url(https://f.kinja-static.com/assets/fonts/proxima/proxima_nova_cond_thin-webfont.woff2?04172017) format('woff2'), url(https://f.kinja-static.com/assets/fonts/proxima/proxima_nova_cond_thin-webfont.woff?04172017) format('woff');}/*!sc*/ +@font-face{font-display:fallback;font-family:'ProximaNovaCond';font-weight:100;font-style:italic;src:url(https://f.kinja-static.com/assets/fonts/proxima/proxima_nova_cond_thin_it-webfont.woff2?04172017) format('woff2'), url(https://f.kinja-static.com/assets/fonts/proxima/proxima_nova_cond_thin_it-webfont.woff?04172017) format('woff');}/*!sc*/ +@font-face{font-display:fallback;font-family:'ProximaNovaCond';font-weight:800;font-style:normal;src:url(https://f.kinja-static.com/assets/fonts/proxima/proxima_nova_cond_bold-webfont.woff2?01182018) format('woff2'), url(https://f.kinja-static.com/assets/fonts/proxima/proxima_nova_cond_bold-webfont.woff?01182018) format('woff');}/*!sc*/ +@font-face{font-display:fallback;font-family:'ProximaNovaCond';font-weight:800;font-style:italic;src:url(https://f.kinja-static.com/assets/fonts/proxima/proxima_nova_cond_bold_it-webfont.woff2?01182018) format('woff2'), url(https://f.kinja-static.com/assets/fonts/proxima/proxima_nova_cond_bold_it-webfont.woff?01182018) format('woff');}/*!sc*/ +@font-face{font-display:fallback;font-family:'ProximaNovaCond';font-weight:900;font-style:normal;src:url(https://f.kinja-static.com/assets/fonts/proxima/proxima_nova_cond_xbold-webfont.woff2?01182018) format('woff2'), url(https://f.kinja-static.com/assets/fonts/proxima/proxima_nova_cond_xbold-webfont.woff?01182018) format('woff');}/*!sc*/ +@font-face{font-display:fallback;font-family:'ProximaNovaCond';font-weight:900;font-style:italic;src:url(https://f.kinja-static.com/assets/fonts/proxima/proxima_nova_cond_xbold_it-webfont.woff2?01182018) format('woff2'), url(https://f.kinja-static.com/assets/fonts/proxima/proxima_nova_cond_xbold_it-webfont.woff?01182018) format('woff');}/*!sc*/ +@font-face{font-display:fallback;font-family:'FiraSans';font-weight:300;font-style:normal;src:url(https://f.kinja-static.com/assets/fonts/fira-sans/fira-sans-light.woff2?02092016) format('woff2'), url(https://f.kinja-static.com/assets/fonts/fira-sans/fira-sans-light.woff?02092016) format('woff');}/*!sc*/ +@font-face{font-display:fallback;font-family:'FiraSans';font-weight:bold;font-style:normal;src:url(https://f.kinja-static.com/assets/fonts/fira-sans/fira-sans-medium.woff2?02092016) format('woff2'), url(https://f.kinja-static.com/assets/fonts/fira-sans/fira-sans-medium.woff?02092016) format('woff');}/*!sc*/ +@font-face{font-display:fallback;font-family:'Libre Baskerville';font-weight:700;font-style:normal;src:local('Libre Baskerville Bold'),local('LibreBaskerville-Bold'), url(https://f.kinja-static.com/assets/fonts/libre-baskerville/libre-baskerville-bold.woff2) format('woff2');}/*!sc*/ +@font-face{font-display:fallback;font-family:'Work Sans';font-weight:1 999;font-style:normal;src:local('Work Sans'),local('WorkSans'), url(https://f.kinja-static.com/assets/fonts/work-sans/WorkSans-VariableFont_wght.ttf) format('truetype-variations');}/*!sc*/ +@font-face{font-display:fallback;font-family:'Work Sans';font-weight:1 999;font-style:italic;src:local('Work Sans'),local('WorkSans'), url(https://f.kinja-static.com/assets/fonts/work-sans/WorkSans-Italic-VariableFont_wght.ttf) format('truetype-variations');}/*!sc*/ +@font-face{font-display:fallback;font-family:'Amiri';font-weight:400;font-style:normal;src:local('Amiri Regular'),local('Amiri-Regular'),url(https://f.kinja-static.com/assets/fonts/amiri/Amiri-Regular.woff2) format('woff2');}/*!sc*/ +@font-face{font-display:fallback;font-family:'Amiri';font-weight:400;font-style:italic;src:local('Amiri Italic'),local('Amiri-Italic'),url(https://f.kinja-static.com/assets/fonts/amiri/Amiri-Italic.woff2) format('woff2');}/*!sc*/ +@font-face{font-display:fallback;font-family:'Oswald';font-weight:500;font-style:normal;src:local('Oswald Medium'),local('Oswald-Medium'),url(https://f.kinja-static.com/assets/fonts/oswald/Oswald-Medium.woff2) format('woff2');}/*!sc*/ +data-styled.g1626[id="sc-global-gbxPuf1"]{content:"sc-global-gbxPuf1,"}/*!sc*/ +img{max-width:100%;}/*!sc*/ +video{max-width:100%;}/*!sc*/ +data-styled.g1627[id="sc-global-dafipf1"]{content:"sc-global-dafipf1,"}/*!sc*/ +body.noscroll{overflow:hidden;position:relative;}/*!sc*/ +data-styled.g1628[id="sc-global-bpZPbA1"]{content:"sc-global-bpZPbA1,"}/*!sc*/ +</style><style>body{-webkit-tap-highlight-color:rgba(0,0,0,0);word-wrap:break-word;overflow-x:hidden}ol,ul{list-style-type:none}ol,ul,ol li,ul li,iframe{margin:0}iframe{border:0;display:block;padding:0}em,h1,h2,h3,h4,h5,p,span{text-rendering:optimizeLegibility}@media only screen and (min-width: 37.5em){h1{font-size:2.38rem}h2{font-size:1.75rem}h3{font-size:1.56rem}h4{font-size:1.31rem}h5{font-size:1.19rem}h6{font-size:1rem}}.global-nav__left .f-dropdown-ct{min-width:300px}#launcher{display:none}@media only screen and (max-width: 49.94em){.js_ymal-below-post{margin:32px 0}}.js_alerts_modal{margin-right:10px}meta.foundation-version{font-family:"/5.5.2/"}meta.foundation-mq-small{font-family:"/only screen/";width:0}meta.foundation-mq-small-only{font-family:"/only screen and (max-width: 37.31em)/";width:0}meta.foundation-mq-medium{font-family:"/only screen and (min-width:37.37em)/";width:37.37em}meta.foundation-mq-medium-only{font-family:"/only screen and (min-width:37.37em) and (max-width:49.94em)/";width:37.37em}meta.foundation-mq-large{font-family:"/only screen and (min-width:50em)/";width:50em}meta.foundation-mq-large-only{font-family:"/only screen and (min-width:50em) and (max-width:63.69em)/";width:50em}meta.foundation-mq-xlarge{font-family:"/only screen and (min-width:63.75em)/";width:63.75em}meta.foundation-mq-xlarge-only{font-family:"/only screen and (min-width:63.75em) and (max-width:85.19em)/";width:63.75em}meta.foundation-mq-xxlarge{font-family:"/only screen and (min-width:85.25em)/";width:85.25em}meta.foundation-data-attribute-namespace{font-family:false}body,html{height:100%}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body,html{font-size:16px}body{background:#fff;color:#222;cursor:auto;font-family:"ProximaNovaCond",sans-serif;font-style:normal;font-weight:normal;line-height:24px;margin:0;padding:0;position:relative}a:hover{cursor:pointer}img{max-width:100%;height:auto;-ms-interpolation-mode:bicubic}#map_canvas embed,#map_canvas img,#map_canvas object,.map_canvas embed,.map_canvas img,.map_canvas object,.mqa-display embed,.mqa-display img,.mqa-display object{max-width:none !important}.left{float:left !important}.right{float:right !important}.clearfix:after,.clearfix:before{content:" ";display:table}.clearfix:after{clear:both}.hide{display:none}.invisible{visibility:hidden}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:inline-block;vertical-align:middle}textarea{height:auto;min-height:50px}select{width:100%}.flex-video{height:0;margin-bottom:1rem;overflow:hidden;padding-bottom:67.5%;padding-top:1.562rem;position:relative}.flex-video.widescreen{padding-bottom:56.34%}.flex-video.vimeo{padding-top:0}.flex-video embed,.flex-video iframe,.flex-video object,.flex-video video{height:100%;position:absolute;top:0;width:100%;left:0}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}.text-justify{text-align:justify !important}@media only screen and (max-width: 37.31em){.small-only-text-left{text-align:left !important}.small-only-text-right{text-align:right !important}.small-only-text-center{text-align:center !important}.small-only-text-justify{text-align:justify !important}}@media only screen{.small-text-left{text-align:left !important}.small-text-right{text-align:right !important}.small-text-center{text-align:center !important}.small-text-justify{text-align:justify !important}}@media only screen and (min-width: 37.37em) and (max-width: 49.94em){.medium-only-text-left{text-align:left !important}.medium-only-text-right{text-align:right !important}.medium-only-text-center{text-align:center !important}.medium-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 37.37em){.medium-text-left{text-align:left !important}.medium-text-right{text-align:right !important}.medium-text-center{text-align:center !important}.medium-text-justify{text-align:justify !important}}@media only screen and (min-width: 50em) and (max-width: 63.69em){.large-only-text-left{text-align:left !important}.large-only-text-right{text-align:right !important}.large-only-text-center{text-align:center !important}.large-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 50em){.large-text-left{text-align:left !important}.large-text-right{text-align:right !important}.large-text-center{text-align:center !important}.large-text-justify{text-align:justify !important}}@media only screen and (min-width: 63.75em) and (max-width: 85.19em){.xlarge-only-text-left{text-align:left !important}.xlarge-only-text-right{text-align:right !important}.xlarge-only-text-center{text-align:center !important}.xlarge-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 63.75em){.xlarge-text-left{text-align:left !important}.xlarge-text-right{text-align:right !important}.xlarge-text-center{text-align:center !important}.xlarge-text-justify{text-align:justify !important}}@media only screen and (min-width: 85.25em) and (max-width: 999999999999){.xxlarge-only-text-left{text-align:left !important}.xxlarge-only-text-right{text-align:right !important}.xxlarge-only-text-center{text-align:center !important}.xxlarge-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 85.25em){.xxlarge-text-left{text-align:left !important}.xxlarge-text-right{text-align:right !important}.xxlarge-text-center{text-align:center !important}.xxlarge-text-justify{text-align:justify !important}}blockquote,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,li,ol,p,pre,td,th,ul{margin:0;padding:0}a{color:#008CBA;line-height:inherit;text-decoration:none}a:focus,a:hover{color:#0078a0}a img{border:none}p{font-family:inherit;font-size:.938rem;font-weight:normal;margin-bottom:1.25rem;text-rendering:optimizeLegibility}p,p.lead{line-height:1.6}p.lead{font-size:1.156rem}p aside{font-size:.875rem;font-style:italic;line-height:1.35}h1,h2,h3,h4,h5,h6{color:#000;font-family:"ProximaNovaCond",sans-serif;font-style:normal;font-weight:bold;line-height:1.3;margin-bottom:1rem;margin-top:0;text-rendering:optimizeLegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#7D7D7D;font-size:.875rem;line-height:0}h1{font-size:1.75rem}h2{font-size:1.125rem}h3{font-size:1.25rem}h4{font-size:1rem}h5{font-size:1.188rem}h6{font-size:1rem}.subheader{line-height:1.4;color:#595959;font-weight:normal;margin-top:.2rem;margin-bottom:.5rem}hr{border:solid #ddd;border-width:1px 0 0;clear:both;height:0;margin:1.25rem 0 1.188rem}em,i{font-style:italic}em,i,b,strong{line-height:inherit}b,strong{font-weight:bold}small{font-size:.875rem;line-height:inherit}code{background-color:#f8f8f8;border-color:#dfdfdf;border-style:solid;border-width:1px;color:#333;font-family:Courier,monospace;font-weight:normal;padding:.125rem .312rem .062rem}dl,ol,ul{font-family:inherit;font-size:.938rem;line-height:1.6;list-style-position:outside;margin-bottom:1.25rem}ul{margin-left:1.1rem}ul.no-bullet{margin-left:0}ul.no-bullet li ol,ul.no-bullet li ul{margin-left:1.25rem;margin-bottom:0;list-style:none}ul li ol,ul li ul{margin-left:1.25rem;margin-bottom:0}ul.circle li ul,ul.disc li ul,ul.square li ul{list-style:inherit}ul.square{list-style-type:square;margin-left:1.1rem}ul.circle{list-style-type:circle}ul.circle,ul.disc{margin-left:1.1rem}ul.disc{list-style-type:disc}ul.no-bullet{list-style:none}ol{margin-left:1.4rem}ol li ol,ol li ul{margin-left:1.25rem;margin-bottom:0}dl dt{margin-bottom:.3rem;font-weight:bold}dl dd{margin-bottom:.75rem}abbr,acronym{text-transform:uppercase;font-size:90%;color:#222;cursor:help}abbr{text-transform:none}abbr[title]{border-bottom:1px dotted #ddd}blockquote{margin:0 0 1.25rem;padding:.562rem 1.25rem 0 1.188rem;border-left:1px solid #ddd}blockquote cite{display:block;font-size:.812rem;color:#3b3b3b}blockquote cite:before{content:"\2014 \0020"}blockquote cite a,blockquote cite a:visited{color:#3b3b3b}blockquote,blockquote p{line-height:1.6;color:#595959}.vcard{display:inline-block;margin:0 0 1.25rem 0;border:1px solid #ddd;padding:.625rem .75rem}.vcard li{margin:0;display:block}.vcard .fn{font-size:.938rem}.vcard .fn,.vevent .summary,.vevent abbr{font-weight:bold}.vevent abbr{cursor:default;text-decoration:none;border:none;padding:0 .062rem}@media only screen and (min-width: 37.37em){h1,h2,h3,h4,h5,h6{line-height:1.3}h1{font-size:2.375rem}h2{font-size:1.75rem}h3{font-size:1.562rem}h4{font-size:1.312rem}h5{font-size:1.188rem}h6{font-size:1rem}}.dfp[data-ad-load-state~=empty]{display:none !important}.ad-promotion-native>*{display:block !important}.dfp.hide{display:none !important}@media screen and (min-width: 1020px){.ad-mobile,.ad-mobile-dynamic{display:none}}.ad-mobile .ad-container{display:inline-block}.ad-mobile .ad-mobile-inner .ad-container{min-width:300px}.ad-billboard,.ad-top-banner{text-align:center}.ad-billboard .ad-container,.ad-top-banner .ad-container{height:250px;max-width:970px;margin-left:auto;margin-right:auto;display:block}.ad-top-banner .ad-container{margin-bottom:20px}.ad-splashy-top.ad-container.ad-small{margin:20px 0}.ad-splashy-top.ad-container.ad-small.with-impact-nav{margin:62px 0 -25px}.ad-splashy-top.ad-container.ad-small iframe,.ad-splashy-top.ad-container.ad-large iframe{margin:0 auto}.ad-splashy-top.ad-container.ad-splashy-970{height:0}.ad-splashy-top.ad-container.ad-splashy-1280{height:0;max-height:100vh}.ad-info__content{margin-bottom:0;padding:10px}.ad-info-item-title{font-weight:bold}.ad-desktop .ad-inner .ad-label,.ad-desktop .ad-mobile-inner .ad-label,.ad-mobile-bottom .ad-label,.ad-mobile .ad-inner .ad-label,.ad-mobile .ad-mobile-inner .ad-label,.ad-permalink-comment .ad-inner .ad-label,.ad-permalink-comment .ad-mobile-inner .ad-label,.permalink.featured-post .post-content .ad-middleboard--displayed .ad-label{font-family:"ProximaNovaCond",sans-serif;color:#ccc;letter-spacing:0.1rem;border-top:0;text-align:center;text-transform:uppercase;margin-bottom:10px}.ad-desktop .ad-inner .ad-label-bottom,.ad-desktop .ad-mobile-inner .ad-label-bottom,.ad-mobile-bottom .ad-label-bottom,.ad-mobile .ad-inner .ad-label-bottom,.ad-mobile .ad-mobile-inner .ad-label-bottom,.ad-permalink-comment .ad-inner .ad-label-bottom,.ad-permalink-comment .ad-mobile-inner .ad-label-bottom,.permalink.featured-post .post-content .ad-middleboard--displayed .ad-label-bottom{border-bottom:1px solid #e5e5e5}nav.inactive{pointer-events:none;opacity:0.5}.ad-desktop,.ad-mobile,.ad-permalink-comment{padding:0;margin:0 auto 20px;background:transparent;text-align:center}.ad-desktop .ad-desktop-inner,.ad-mobile .ad-desktop-inner,.ad-permalink-comment .ad-desktop-inner{margin-bottom:30px}.ad-desktop iframe,.ad-mobile iframe,.ad-permalink-comment iframe{margin:auto}.ad-desktop .ad-inner,.ad-desktop .ad-mobile-inner,.ad-mobile .ad-inner,.ad-mobile .ad-mobile-inner,.ad-permalink-comment .ad-inner,.ad-permalink-comment .ad-mobile-inner{padding:0;margin-bottom:1.875rem}.ad-desktop .ad-inner .ad-container,.ad-desktop .ad-mobile-inner .ad-container,.ad-mobile .ad-inner .ad-container,.ad-mobile .ad-mobile-inner .ad-container,.ad-permalink-comment .ad-inner .ad-container,.ad-permalink-comment .ad-mobile-inner .ad-container{display:inline-block;max-width:320px;margin:10px 0 20px;background-color:transparent}.ad-desktop .ad-inner .ad-label,.ad-desktop .ad-inner .ad-label-bottom,.ad-desktop .ad-mobile-inner .ad-label,.ad-desktop .ad-mobile-inner .ad-label-bottom,.ad-mobile .ad-inner .ad-label,.ad-mobile .ad-inner .ad-label-bottom,.ad-mobile .ad-mobile-inner .ad-label,.ad-mobile .ad-mobile-inner .ad-label-bottom,.ad-permalink-comment .ad-inner .ad-label,.ad-permalink-comment .ad-inner .ad-label-bottom,.ad-permalink-comment .ad-mobile-inner .ad-label,.ad-permalink-comment .ad-mobile-inner .ad-label-bottom{margin-bottom:0}@media only screen and (max-width: 37.31em){.ad-desktop .ad-inner .ad-label,.ad-desktop .ad-inner .ad-label-bottom,.ad-desktop .ad-mobile-inner .ad-label,.ad-desktop .ad-mobile-inner .ad-label-bottom,.ad-mobile .ad-inner .ad-label,.ad-mobile .ad-inner .ad-label-bottom,.ad-mobile .ad-mobile-inner .ad-label,.ad-mobile .ad-mobile-inner .ad-label-bottom,.ad-permalink-comment .ad-inner .ad-label,.ad-permalink-comment .ad-inner .ad-label-bottom,.ad-permalink-comment .ad-mobile-inner .ad-label,.ad-permalink-comment .ad-mobile-inner .ad-label-bottom{margin-left:1.125rem;margin-right:1.125rem}}.ad-desktop.hide-contents,.ad-mobile.hide-contents,.ad-permalink-comment.hide-contents{display:none}#taboola-below-article-thumbnails,#taboola-below-article-thumbnails---3x2-video,#taboola-below-article-thumbnails---4x2{max-width:636px;margin-top:40px;margin-right:auto;margin-left:auto}.permalink .ad-mobile .ad-label{border-top:1px solid #e5e5e5;padding-top:10px}@-webkit-keyframes slideUp{0%{height:0;padding:0;margin:0}}@keyframes slideUp{0%{height:0;padding:0;margin:0}}.commentlist__item .ad-permalink-comment{padding-top:14px}.commentlist__item .ad-permalink-comment .ad-mobile-inner .ad-label{margin-bottom:-2px}.commentlist__item:not(.commentlist__item--expandable) .ad-permalink-comment{padding:0;border-top:1px solid #e5e5e5}.commentlist__item:not(.commentlist__item--expandable) .ad-permalink-comment .ad-mobile-inner{margin:16px}.commentlist__item:not(.commentlist__item--expandable) .ad-permalink-comment .ad-mobile-inner .ad-container{margin:10px 0}.commentlist__item:not(.commentlist__item--expandable) .ad-permalink-comment .ad-mobile-inner .ad-label-bottom{border:none}.permalink.featured-post .post-content .ad-middleboard .ad-label{display:none}.permalink.featured-post .post-content .ad-middleboard--displayed{margin:1.5rem 0;padding:1.5rem 0;clear:both}.permalink.featured-post .post-content .ad-middleboard--displayed .ad-label{display:block}.permalink.featured-post .post-content .ad-middleboard .ad-label{margin-bottom:0px}.permalink.featured-post .post-content .ad-middleboard .ad-container{margin:0 auto}.permalink.featured-post .ad-middleboard .slot-displayed{border-bottom:#e5e5e5 1px solid;border-top:#e5e5e5 1px solid;box-sizing:content-box;padding:1rem 0}@media only screen and (max-width: 37.31em){.trc_related_container{padding:0 1.125rem}}.ad-mobile-bottom{margin-bottom:0}.ad-mobile-bottom .ad-container{display:block}.commerce-leg-wrapper{width:100%;padding:15px 0}.commerce-leg-wrapper>div{margin:0 auto}.bt-wrapper,.bt-wrapper>div{align-content:center;display:flex;justify-content:center}.bt-wrapper>div{border-bottom:1px solid #e5e5e5;padding:20px 0;width:100%}@media screen and (min-width: 1020px){.ad-top-banner.collapsed-ad[data-ad-load-state=empty]{display:block !important}.cls-adapted-ad[data-ad-load-state=loaded] div{display:inline-block}.cls-adapted-ad div{display:none}.cls-adapted-ad.ad-middleboard{min-height:155px}.cls-adapted-ad.ad-left-top{min-height:250px}.ads-unloaded [data-ad-load-state=unloaded]:empty{background:#ccc;color:#fff;text-align:center}.ads-unloaded [data-ad-load-state=unloaded]:empty:after{content:'Advertisement';top:50%;position:relative;display:block;height:20px;margin-top:-20px}}@media screen and (max-width: 49.94em){.ad-splashy-top-v2{height:100vw}}@media screen and (min-width: 49.94em){.ad-splashy-top-v2{height:33vw}}.ad-splashy-top-v2{display:block;overflow:hidden}.ad-splashy-top-v2.with-impact-nav{margin:42px 0 -42px}.ad-splashy-top-v2>div,.ad-splashy-top-v2>div>iframe{width:100%;height:100%}.navwrap--outer:not(.navwrap--frontpage)+.curation-main-container .curation-mountain .curation-mountain__toolbar{top:-100px}.navwrap--outer:not(.navwrap--frontpage)+.curation-main-container .curation-mountain .layout__toolbar{top:-56px}@media only screen and (min-width: 50em){.curation-mountain:not(.Headline):not(.Editor){border-bottom:1px solid #e5e5e5}}.curation-mountain:not(.Headline):not(.Editor) .layout:not(.layout--Headline1){padding:18px 18px 20px}@media only screen and (max-width: 49.94em){.curation-mountain:not(.Headline):not(.Editor) .layout:not(.layout--Headline1){padding:0}}.curation-mountain.Editor.edit-mode{border-bottom:1px solid #e5e5e5}.curation-mountain.Editor.edit-mode .layout:not(.layout--Headline1){padding:18px 18px 20px}@media only screen and (max-width: 49.94em){.curation-mountain.Editor.edit-mode .layout:not(.layout--Headline1){padding:0}}.curation-mountain .layout{max-width:1318px}.curation-mountain .layout.layout:not(.layout--Headline1){margin-left:auto;margin-right:auto}@media only screen and (max-width: 49.94em){.curation-mountain .layout.layout:not(.layout--Headline1){padding:0}}.curation-mountain .layout--Headline1{max-width:100%}.curation-mountain .layout.layout--Modular3,.curation-mountain .layout.layout--Modular3 .grid.grid--modular{max-width:1024px;min-height:500px}.curation-mountain .layout.layout--Modular4,.curation-mountain .layout.layout--Modular4 .grid.grid--modular{max-width:1336px;min-height:500px}.curation-mountain .layout.layout--Equal3{max-width:1336px;min-height:230px;align-content:center}.curation-mountain .layout.layout--Equal3 .grid.grid--equal{max-width:1336px;min-height:230px;box-shadow:none;align-content:center}.curation-mountain .layout.layout--Equal4,.curation-mountain .layout.layout--Equal4 .grid.grid--equal{min-height:170px;align-content:center}.curation-mountain .layout.layout--Equal4{max-width:1336px}.curation-mountain .layout.layout--Equal4 .grid.grid--equal{max-width:1336px;box-shadow:none}.curation-mountain .layout.layout--Equal6,.curation-mountain .layout.layout--Equal6 .grid.grid--equal{min-height:474px}@media only screen and (max-width: 49.94em){.curation-mountain .curation-module{display:flex}}.curation-mountain .layout.layout--Headline1 .grid.grid--headline{position:relative;height:600px;max-width:100%}@media only screen and (max-width: 49.94em){.curation-mountain .layout.layout--Headline1 .grid.grid--headline{height:inherit}}.curation-mountain .layout.layout--Equal3,.curation-mountain .layout.layout--Equal4,.curation-mountain .layout.layout--Equal6,.curation-mountain .layout.layout--Modular3,.curation-mountain .layout.layout--Modular4{margin:0 auto}.curation-mountain .layout__toolbar p{color:#222}@supports not (display: grid){.curation-module{display:flex}.grid--equal .curation-module__zone.box .curation-module__item{margin-bottom:10px}@media only screen and (max-width: 49.94em){.grid--equal .curation-module__zone.box .curation-module__item{margin-bottom:0}}.curation-module__zone{display:flex}.curation-module__zone.hero,.curation-module__zone.hero .curation-module__item{width:100%}.curation-module__zone.box{width:25%;flex-direction:column;justify-content:space-between;margin:0 10px}@media only screen and (max-width: 49.94em){.curation-module__zone.box{width:100%}}.curation-module__zone.tall{width:25%;margin:0 10px}@media only screen and (max-width: 49.94em){.curation-module__zone.tall,.curation-module__zone.tall .curation-module__item{width:100%}}.curation-module__zone.big{width:50%;margin:0 10px}@media only screen and (max-width: 49.94em){.curation-module__zone.big{width:100%}}}.curation-module__zone{position:relative;display:grid;grid-auto-flow:row;grid-auto-rows:1fr;grid-gap:15px;max-height:inherit}@media only screen and (max-width: 49.94em){.curation-module__zone{order:1;grid-gap:0;grid-auto-rows:auto}.curation-module__zone.big{order:0;overflow:hidden;display:block}}.content-meta__byline span,.content-meta__byline span>a{font-size:14px;color:#7D7D7D}.curation-module__item:hover .image-container:after{opacity:0.9;position:absolute;left:0;right:0;top:0;bottom:0;background-color:#000;pointer-events:none}.curation-module__item .content-wrapper{padding:15px 0 10px}@media only screen and (max-width: 37.31em){.curation-module__item .storytype-label-wrapper{display:block}}.curation-module__item .content-meta__byline,.curation-module__item .content-meta__headline+h3,.curation-module__item .content-meta__storyType{display:flex;align-items:center;width:100%}.curation-module__item .content-meta__storyType{font-size:12px;margin-bottom:20px}.curation-module__item .content-meta__headline h3{color:#000;font-size:32px}.curation-module__item .content-meta__headline h3 a{color:inherit}.curation-module__item .content-meta__headline h6{color:#000;font-size:18px;margin-bottom:0.5rem}.curation-module__item .content-meta__headline h6 a{color:inherit}.curation-module__item .content-meta__excerpt p{font-family:Georgia, serif;font-size:14px;line-height:1.3;color:#222;margin-bottom:0.5rem}.curation-module__item .content-meta__byline .item-authors{display:flex}.curation-module__item .content-meta__byline .item-author a:hover{-webkit-text-decoration-color:#7D7D7D;text-decoration-color:#7D7D7D}.curation-module__item--tertiary-child{display:flex;flex-direction:row;border-top:none !important;height:auto}.curation-module__item--tertiary-child:not(:last-child){border-bottom:1px dotted #e5e5e5 !important}.curation-module__item--tertiary-child .image-container-wrapper{width:30%;margin-right:10px}.curation-module__item--tertiary-child .content-wrapper{width:70%;padding:0}.curation-module__item--tertiary-child .content-wrapper .content-meta__headline__wrapper{margin-bottom:5px}.curation-module__item--tertiary-child .content-wrapper .content-meta__headline__wrapper a{color:#000;font-weight:normal}@media only screen and (max-width: 49.94em){.curation-module__item--tertiary-child:not(:last-child){padding-bottom:10px;margin-bottom:15px}}@media only screen and (min-width: 37.37em){.curation-module__item--tertiary-child:not(:last-child){margin-bottom:20px}}@media only screen and (min-width: 851px) and (max-width: 982px){.curation-module__item--tertiary-child .content-wrapper .content-meta__headline__wrapper a{font-size:14px}}@media only screen and (min-width: 982px) and (max-width: 1023px){.curation-module__item--tertiary-child .content-wrapper .content-meta__headline__wrapper a{font-size:calc(14px + (16 - 14) * (100vw - 851px) / (1023 - 851))}}@media only screen and (min-width: 1024px) and (max-width: 1074px){.curation-module__item--tertiary-child .content-wrapper .content-meta__headline__wrapper a{font-size:calc( 16px + (18 - 16) * (100vw - 1023px) / (1074 - 1023))}}.grid [contenteditable]:focus{outline-color:#0A7BC2;outline-width:1px;outline-offset:-1px}.grid [contenteditable]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.grid .curation-module__item.hero{position:relative;height:100%}@media only screen and (max-width: 49.94em){.grid .curation-module__item.hero .content-wrapper{padding:20px 55px 10px 10px}}@media only screen and (max-width: 37.31em){.grid .curation-module__item.hero .content-wrapper{padding:20px 10px}}.grid.grid--headline .image-container{position:absolute;left:0;top:0;width:100%}@media only screen and (max-width: 49.94em){.grid.grid--headline .image-container{position:relative;padding-bottom:0;height:inherit}}.grid.grid--headline .image-container:before{display:none;z-index:-1}.grid.grid--headline .image-container img{position:relative}@media only screen and (max-width: 49.94em){.grid.grid--headline{height:inherit}}.grid.grid--headline .content-wrapper{position:absolute;left:0;bottom:0}@media only screen and (max-width: 49.94em){.grid.grid--headline .content-wrapper{position:static;left:initial;bottom:initial}}.grid.grid--headline .storytype-label.storytype-label{font-weight:initial;font-size:14px;color:#fff;border:0}.grid.grid--headline .storytype-label.storytype-label:hover{color:#fff}.grid.grid--headline .storytype-label.storytype-label a{font-weight:initial;color:#fff;padding:0}.grid.grid--headline .content-meta__storyType{margin:0}.grid.grid--headline .content-meta__storyType .storytype-label-wrapper{padding:0 5px;background-color:rgba(0,0,0,0.7)}@media only screen and (max-width: 49.94em){.grid.grid--headline .content-meta__storyType{font-size:14px;text-transform:uppercase}.grid.grid--headline .content-meta__storyType .storytype-label-wrapper{margin:auto;background:none;padding:0 10px}.grid.grid--headline .content-meta__storyType .storytype-label-wrapper .storytype-label{border:1px solid #0A7BC2;color:#0A7BC2}}.grid.grid--headline .content-meta__headline{max-width:50vw}.grid.grid--headline .content-meta__headline a:hover{color:#fff}.grid.grid--headline .content-meta__headline h3{color:#fff;background-color:rgba(0,0,0,0.7);padding:0 6px;display:inline;box-decoration-break:clone;-webkit-box-decoration-break:clone}@media only screen and (max-width: 49.94em){.grid.grid--headline .content-meta__headline{max-width:100vw;text-align:center;padding:20px 0 10px 0}.grid.grid--headline .content-meta__headline a:hover{color:#000}.grid.grid--headline .content-meta__headline h3{color:#000;background:none;font-size:calc(28px + (24 - 16) * (100vw - 400px) / (800 - 400))}}.grid.grid--headline .content-meta__byline .item-author{background-color:rgba(0,0,0,0.7);padding:6px}.grid.grid--headline .content-meta__byline .item-author a,.grid.grid--headline .content-meta__byline .item-author span{font-size:14px;color:#fff}@media only screen and (max-width: 49.94em){.grid.grid--headline .content-meta__byline .item-author{margin:10px auto}.grid.grid--headline .content-meta__byline .item-author a,.grid.grid--headline .content-meta__byline .item-author span{background:none;color:#7D7D7D}}.grid.grid--headline .content-meta__byline a{font-size:14px;color:#fff;border:0;padding:0;margin:0}.grid.grid--headline .grid__zone{position:absolute;left:0;top:0;width:100%;height:600px;overflow:hidden}@media only screen and (max-width: 49.94em){.grid.grid--headline .grid__zone{position:relative;height:inherit}}.grid.grid--headline .grid__zone img{width:100vw}@media only screen and (max-width: 49.94em){.grid.grid--equal .curation-module__zone:first-child{order:0;overflow:hidden;display:block}}@media only screen and (max-width: 49.94em){.grid.grid--equal .curation-module__zone:first-child .zone__item:first-child .curation-module__item:first-child .item{height:inherit}.grid.grid--equal .curation-module__zone:first-child .zone__item:first-child .curation-module__item:first-child .curation-module__item__wrapper{display:grid;height:100%;grid-auto-rows:-webkit-min-content auto;grid-auto-rows:min-content auto}.grid.grid--equal .curation-module__zone:first-child .zone__item:first-child .curation-module__item:first-child .content-wrapper{align-items:center;display:flex;flex-flow:column;justify-content:center;padding:0;margin-top:auto;height:auto;width:100%}.grid.grid--equal .curation-module__zone:first-child .zone__item:first-child .curation-module__item:first-child .content-wrapper .storytype-label--outlined{height:27px}.grid.grid--equal .curation-module__zone:first-child .zone__item:first-child .curation-module__item:first-child .image-container-wrapper{width:100%}.grid.grid--equal .curation-module__zone:first-child .zone__item:first-child .curation-module__item:first-child .content-meta__storyType{justify-content:center;margin-top:18px;margin-bottom:0}.grid.grid--equal .curation-module__zone:first-child .zone__item:first-child .curation-module__item:first-child .content-meta__storyType span{border:1px solid transparent;font-size:15px;font-weight:normal;line-height:27px;padding:4px 9px}.grid.grid--equal .curation-module__zone:first-child .zone__item:first-child .curation-module__item:first-child .content-meta__headline{text-align:center}.grid.grid--equal .curation-module__zone:first-child .zone__item:first-child .curation-module__item:first-child .content-meta__headline h3,.grid.grid--equal .curation-module__zone:first-child .zone__item:first-child .curation-module__item:first-child .content-meta__headline h6{display:block;font-size:28px;padding:15px 18px}.grid.grid--equal .curation-module__zone:first-child .zone__item:first-child .curation-module__item:first-child .content-meta__byline{justify-content:center}}@media only screen and (max-width: 49.94em){.grid.grid--equal .curation-module__zone:first-child .zone__item:first-child .curation-module__item:first-child .curation-module__item__wrapper{display:flex;flex-direction:column;padding:0 0 1.125rem}}.grid.grid--equal .curation-module__zone{display:block}.grid.grid--equal .curation-module__item{height:auto;box-shadow:none;border:0}.grid.grid--equal .curation-module__item .content-meta__excerpt{display:none}@media only screen and (min-width: 50em){.grid.grid--equal .curation-module__item .content-meta__headline__wrapper{padding:0 10px 0 0}.grid.grid--equal .curation-module__item .content-meta__headline h3,.grid.grid--equal .curation-module__item .content-meta__headline h6{display:inline;width:100%;margin:0;box-decoration-break:clone;-webkit-box-decoration-break:clone;font-size:22px;line-height:1}}.grid.grid--equal .curation-module__item .content-wrapper{padding:0;left:0;width:100%;z-index:2}@media only screen and (max-width: 49.94em){.grid.grid--equal .curation-module__item .content-wrapper{position:static;padding:0 0 0 15px}}.curation-module{position:relative;display:grid;grid-gap:20px;width:100%;margin-left:auto;margin-right:auto}.curation-module .ad-container{display:none}@media only screen and (max-width: 49.94em){.curation-module.grid[style]{grid-template-columns:1fr !important;grid-gap:0}.curation-module.grid{height:auto;max-height:100% !important;border:none}.curation-module .ad-container{display:block;margin-left:0;margin-right:0;margin-top:20px;margin-bottom:0;padding-bottom:20px;border-bottom:1px solid #e5e5e5;order:4}}.curation-module .image-container{position:relative;padding-bottom:56.25%;overflow:hidden}.curation-module .image-container:before{content:"";background-color:rgba(0,0,0,0);bottom:0;left:0;position:absolute;right:0;top:0;-webkit-transition:0.5s;transition:0.5s;z-index:1;pointer-events:none}.curation-module .image-container:hover:before{background-color:rgba(0,0,0,0.3)}.curation-module .image-container .animationContainer{top:10px;right:10px;left:auto;bottom:auto}.curation-module .image-container img{position:absolute;width:100%}.curation-module--hide{display:none}@media only screen and (max-width: 49.94em){.curation-module__zone.box,.curation-module__zone.tall{display:block}}.curation-module__item{position:relative;border-bottom:none;box-shadow:0px 1px 1px #7D7D7D;border-top:1px solid #e5e5e5;height:100%}@media only screen and (max-width: 49.94em){.curation-module__item{height:auto;max-height:100%;box-shadow:none;border:none}}.curation-module__item .content-meta__storytype{font-family:"ProximaNovaCond", sans-serif;font-size:14px;font-weight:bold;text-transform:uppercase}.curation-module__item .content-meta__headline,.curation-module__item .content-meta__headline [contenteditable]{cursor:text}@media only screen and (max-width: 49.94em){.curation-module__item .content-meta__headline h3,.curation-module__item .content-meta__headline h6{background-color:transparent;color:#000;font-weight:600;padding:0;margin:0}}.curation-module__item .content-meta__excerpt [contenteditable]{cursor:text}@media only screen and (max-width: 49.94em){.curation-module__item .content-meta__byline{display:flex !important}}.curation-module__item.hero .content-wrapper{padding:0 55px 60px}.curation-module__item.hero .content-wrapper .content-meta__storyType{margin:0 0 1px 0}.curation-module__item.hero .content-wrapper .content-meta__storyType .storytype-label{padding:1px 2px 0 2px}.curation-module__item.hero .content-wrapper .content-meta__byline{margin-top:1px}@media only screen and (max-width: 49.94em){.curation-module__item.hero .content-wrapper .content-meta__byline .item-author{background:none;padding:0}}.curation-module__item.hero .content-wrapper .content-meta__headline.short-headline h3,.curation-module__item.hero .content-wrapper .content-meta__headline.short-headline h6{font-size:50px}@media only screen and (max-width: 49.94em){.curation-module__item.hero .image-container:before{display:none !important}}.curation-module__item.big .item{height:inherit}@media only screen and (max-width: 49.94em){.curation-module__item.big:first-child{border-bottom:1px solid #e5e5e5}}.curation-module__item.big .curation-module__item__wrapper{display:flex;flex-direction:column;height:100%}@media only screen and (max-width: 49.94em){.curation-module__item.big .curation-module__item__wrapper{display:block}}.curation-module__item.big .content-wrapper{align-items:center;display:flex;flex-flow:column;justify-content:center;padding:20px 36px;height:100%}@media only screen and (max-width: 49.94em){.curation-module__item.big .content-wrapper{height:auto;margin-top:auto;padding:28px 18px 20px}.curation-module__item.big .content-wrapper .content-meta__headline:first-child .content-meta__headline__wrapper h3{padding-top:0}}.curation-module__item.big .content-meta__storyType{justify-content:center}@media only screen and (max-width: 49.94em){.curation-module__item.big .content-meta__storyType{margin-bottom:0}}.curation-module__item.big .content-meta__headline{text-align:center}.curation-module__item.big .content-meta__headline.short-headline h3,.curation-module__item.big .content-meta__headline.short-headline h6{font-size:45px}.curation-module__item.big .content-meta__headline.medium-headline h3,.curation-module__item.big .content-meta__headline.medium-headline h6{font-size:32px}@media only screen and (max-width: 49.94em){.curation-module__item.big .content-meta__headline.medium-headline h3,.curation-module__item.big .content-meta__headline.medium-headline h6{font-size:30px}}.curation-module__item.big .content-meta__headline.long-headline h3,.curation-module__item.big .content-meta__headline.long-headline h6{font-size:28px}@media only screen and (max-width: 49.94em){.curation-module__item.big .content-meta__headline.long-headline h3,.curation-module__item.big .content-meta__headline.long-headline h6{font-size:24px}}@media only screen and (max-width: 49.94em){.curation-module__item.big .content-meta__headline h3,.curation-module__item.big .content-meta__headline h6{display:block;font-size:28px;padding:20px 0 0 0}.curation-module__item.big .content-meta__headline+.content-meta__byline{padding-top:10px}}.curation-module__item.big .content-meta__byline{justify-content:center}@media only screen and (max-width: 49.94em){.curation-module__item.box .curation-module__item__wrapper{display:flex;padding:15px 1.125rem;border-bottom:1px solid #e5e5e5}.curation-module__item.box .curation-module__item__wrapper .image-container-wrapper{width:40%}.curation-module__item.box .curation-module__item__wrapper .content-wrapper{width:60%}.curation-module__item.box .content-meta__headline h3,.curation-module__item.box .content-meta__headline h6{font-size:18px}.curation-module__item.box .content-meta__excerpt{display:none}.curation-module__item.box .content-wrapper,.curation-module__item.box .image-container-wrapper{padding:0}.curation-module__item.box .content-wrapper{padding-left:15px;position:static}}@media only screen and (max-width: 49.94em){.curation-module__item.tall .content-wrapper{width:60%}}@media only screen and (max-width: 63.69em){.curation-module__item.tall .content-wrapper .content-meta__excerpt{max-height:240px;overflow:hidden}}.curation-module__item.tall .content-wrapper .content-meta__excerpt p{line-height:1.9}@media only screen and (max-width: 49.94em){.curation-module__item.tall .curation-module__item__wrapper{display:flex;padding:15px;border-bottom:1px solid #e5e5e5}.curation-module__item.tall .curation-module__item__wrapper .image-container-wrapper{width:40%}.curation-module__item.tall .curation-module__item__wrapper .content-wrapper{width:60%}.curation-module__item.tall .content-meta__headline h3,.curation-module__item.tall .content-meta__headline h6{font-size:18px}.curation-module__item.tall .content-meta__excerpt{display:none}.curation-module__item.tall .content-wrapper,.curation-module__item.tall .image-container-wrapper{padding:0}.curation-module__item.tall .content-wrapper{padding-left:15px;position:static}}.curation-module__item .image-container{position:relative;padding-bottom:56.25%;overflow:hidden}.curation-module__item .image-container img,.curation-module__item .image-container video{position:absolute;top:0;left:0;width:100%}.curation-module .layout--Equal3 .content-meta__excerpt,.curation-module .layout--Equal4 .content-meta__excerpt,.curation-module .layout--Equal6 .content-meta__excerpt{display:none}.curation-module .grid .grid__zone .item .image-container{position:relative;padding-bottom:56.25%;overflow:hidden}.curation-module .grid .grid__zone .item .image-container img{position:absolute;top:0;left:0;width:100%}.curation-module .grid .grid__zone .item .content-wrapper{padding:15px}@media only screen and (max-width: 49.94em){.curation-module__item.box .content-wrapper{padding-left:10px;width:70%}.curation-module__item.box .image-container-wrapper{width:30%}}@media only screen and (max-width: 49.94em){.curation-module__item.tall .content-wrapper{padding-left:10px;width:70%}.curation-module__item.tall .image-container-wrapper{width:30%}}@media only screen and (min-width: 37.37em){body:not(.theonion) .curation-module__item:not(:last-child),body:not(.theonion) .zone__item+.zone__item:not(:last-child){padding-bottom:20px;border-bottom:1px solid #e5e5e5}}body:not(.theonion) .grid.grid--equal .grid__zone{padding-bottom:0;padding-left:0;border:0}@media only screen and (min-width: 50em){body:not(.theonion) .grid.grid--equal .grid__zone{display:grid}}body:not(.theonion) .curation-module__item{box-shadow:none}body:not(.theonion) .curation-module__item:first-child{border-top:none}@media only screen and (max-width: 49.94em){body:not(.theonion) .curation-module__item{padding-top:0;border-top:none}}body:not(.theonion) .curation-module__item--tertiary-child .content-wrapper .content-meta__headline__wrapper h5{font-size:18px;margin-bottom:0}body:not(.theonion) .curation-module__item--tertiary-child .content-wrapper .content-meta__headline__wrapper a{font-weight:normal;font-size:18px}body:not(.theonion) .layout--Equal3 .grid__zone,body:not(.theonion) .layout--Equal4 .grid__zone,body:not(.theonion) .layout--Equal6 .grid__zone{padding:0}body:not(.theonion) .layout--Equal3 .grid__zone.box .zone__item:not(:last-child),body:not(.theonion) .layout--Equal4 .grid__zone.box .zone__item:not(:last-child),body:not(.theonion) .layout--Equal6 .grid__zone.box .zone__item:not(:last-child){border-bottom:none}body:not(.theonion) .layout--Equal3 .curation-module__item+.curation-module__item,body:not(.theonion) .layout--Equal3 .zone__item+.zone__item,body:not(.theonion) .layout--Equal4 .curation-module__item+.curation-module__item,body:not(.theonion) .layout--Equal4 .zone__item+.zone__item,body:not(.theonion) .layout--Equal6 .curation-module__item+.curation-module__item,body:not(.theonion) .layout--Equal6 .zone__item+.zone__item{border-top:none;padding-top:0}body:not(.theonion) .grid__zone:not(.curation-module__zone__item-width-children){border-left:1px solid #e5e5e5;padding:0 0 0px 20px}@media only screen and (max-width: 49.94em){body:not(.theonion) .grid__zone:not(.curation-module__zone__item-width-children){border-left:none;padding:0}}body:not(.theonion) .grid__zone:first-child{border-left:0;padding-left:0}body:not(.theonion) .grid__zone.box{grid-gap:20px}body:not(.theonion) .grid__zone.box .zone__item{padding-top:0}body:not(.theonion) .grid__zone.box .zone__item:not(:last-child){border-bottom:1px solid #e5e5e5}.layout--Equal3 .curation-module__item .content-wrapper,.layout--Equal4 .curation-module__item .content-wrapper,.layout--Equal6 .curation-module__item .content-wrapper{bottom:0;position:relative}.layout--Equal3 .curation-module__item .content-meta__headline__wrapper,.layout--Equal4 .curation-module__item .content-meta__headline__wrapper,.layout--Equal6 .curation-module__item .content-meta__headline__wrapper{padding:0}.layout--Equal3 .image-container-wrapper,.layout--Equal4 .image-container-wrapper,.layout--Equal6 .image-container-wrapper{margin-bottom:10px}.layout--Equal3 .content-wrapper h6 a,.layout--Equal4 .content-wrapper h6 a,.layout--Equal6 .content-wrapper h6 a{color:#000}.layout--Equal3 .content-wrapper .content-meta__headline h6,.layout--Equal4 .content-wrapper .content-meta__headline h6,.layout--Equal6 .content-wrapper .content-meta__headline h6{background-color:transparent;color:#000;padding:0;font-weight:bold}.layout--Equal3 .content-wrapper .storytype-label,.layout--Equal4 .content-wrapper .storytype-label,.layout--Equal6 .content-wrapper .storytype-label{border:none;padding:0}.layout--Equal3 .content-wrapper .storytype-label--outlined,.layout--Equal4 .content-wrapper .storytype-label--outlined,.layout--Equal6 .content-wrapper .storytype-label--outlined{height:18px;line-height:18px;font-weight:600}.layout--Equal3 .content-wrapper .content-meta__byline,.layout--Equal4 .content-wrapper .content-meta__byline,.layout--Equal6 .content-wrapper .content-meta__byline{display:block;line-height:1.6}.layout--Equal3 .content-meta__storyType,.layout--Equal4 .content-meta__storyType,.layout--Equal6 .content-meta__storyType{margin-bottom:5px;border:none;line-height:18px}.layout.layout--Equal6{max-width:980px}label{display:block}input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;border-radius:0;background-color:transparent;border:0;box-shadow:none;display:block;font-size:0.875rem;font-family:"ProximaNovaCond", sans-serif;margin:0;padding:0;height:auto;width:auto;-webkit-transition:none;transition:none}input[type=date]:active,input[type=date]:disabled,input[type=date]:focus,input[type=date]:hover,input[type=datetime-local]:active,input[type=datetime-local]:disabled,input[type=datetime-local]:focus,input[type=datetime-local]:hover,input[type=datetime]:active,input[type=datetime]:disabled,input[type=datetime]:focus,input[type=datetime]:hover,input[type=email]:active,input[type=email]:disabled,input[type=email]:focus,input[type=email]:hover,input[type=month]:active,input[type=month]:disabled,input[type=month]:focus,input[type=month]:hover,input[type=number]:active,input[type=number]:disabled,input[type=number]:focus,input[type=number]:hover,input[type=password]:active,input[type=password]:disabled,input[type=password]:focus,input[type=password]:hover,input[type=search]:active,input[type=search]:disabled,input[type=search]:focus,input[type=search]:hover,input[type=tel]:active,input[type=tel]:disabled,input[type=tel]:focus,input[type=tel]:hover,input[type=text]:active,input[type=text]:disabled,input[type=text]:focus,input[type=text]:hover,input[type=time]:active,input[type=time]:disabled,input[type=time]:focus,input[type=time]:hover,input[type=url]:active,input[type=url]:disabled,input[type=url]:focus,input[type=url]:hover,input[type=week]:active,input[type=week]:disabled,input[type=week]:focus,input[type=week]:hover,textarea:active,textarea:disabled,textarea:focus,textarea:hover{background-color:transparent;outline:none}input[type=checkbox]+label,input[type=radio]+label{display:inline-block;margin-left:0;margin-right:0;margin-bottom:0}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;font-weight:normal;line-height:normal;margin:0;position:relative;text-decoration:none;text-align:center;border-radius:0;display:inline-block;padding:0;font-size:1rem;font-family:"ProximaNovaCond", sans-serif;background-color:transparent;color:#000;-webkit-transition:none;transition:none}button:active,button:focus,button:hover{color:#000;outline:none}label{cursor:default}.flex-video{display:block}#js_trending.cls{min-height:470px} +</style></head><body class="gizmodo blog-group-gizmodo blog-recirc-group-fmgNonSatire permalink en-US f_ad_after_first_in_featured_permalinks_on f_ad_lightning_tag_on f_ad_mobile_after_first_on f_ad_script_in_head_on f_ad_timeout_amazon_on f_ad_timeout_failsafe_on f_ad_timeout_prebid_on f_ad_top_banner_to_featured_permalinks_on f_ads_viewability_desktop_on f_ads_viewability_mobile_on f_alerts_modal_on f_alerts_sidebar_on f_amazon_aps_tag_on f_amazon_wait_for_bids_on f_amp_disable_after_2w_on f_amp_publisher_logo_on f_amp_slideshow_on f_amp_sticky_ad_on f_amp_video_extra_events_on f_analyticstracking_on f_applenews_inline_subscription_on f_author_page_canonical_on f_author_page_canonical_seo_on f_blockthrough_on f_britepool_identity_on f_card_label_by_blog_on f_category_selector_grid_on f_cd_on_block_on f_chartbeat_video_on f_client_sidebar_blocks_on f_cls_on f_cls_adapted_main_on f_cls_mobile_inpost_on f_cls_sidebar_video_on f_cls_sidebar_ymal_on f_cls_topad_tall_on f_collapsed_top_ad_on f_comment_nofollow_on f_commenter_no_crawlable_on f_comments_on_demand_cached_enable_on f_comments_on_demand_enable_on f_commerce_inset_grid_on f_connatix_on f_connatix_homepage_on f_connatix_mobile_on f_crop_modal_align_on f_curated_big_story_settings_on f_curated_extra_autofill_on f_curated_homepage_on f_curated_homepage_responsive_image_sizes_on f_curation_toggle_on f_custom_kinja_standalone_on f_ddrum_on f_digitrust_disable_on f_dis_infinite_slot_eager_on f_disable_edit_tags_on f_disable_elizabeth_on f_disable_lazy_mfn_on f_disable_lazy_ymal_on f_disable_link_rendering_in_comments_on f_disable_skimlinks_on f_disguise_video_links_as_videos_on f_display_sidebar_non_network_on f_dynamic_ads_in_ads_bundle_on f_dynamic_edit_video_on f_eager_load_ga_on f_eagerload_billboard_on f_editor_unload_3rdparty_on f_enable_bouncex_on f_enable_html_sitemap_on f_expanded_image_srcset_on f_experimental_scores_on f_fastly_video_api_on f_fb_pixel_disable_on f_featured_ads_five_on f_filter_kinja_meta_on f_filter_old_articles_on f_fix_fivecard_imagesize_on f_fixed_height_featuredstory_on f_force_image_rights_on f_front_page_responsive_image_sizes_on f_frontendtiming_on f_frontpage_recentvideo_on f_frontpage_sticky_leaderboard_on f_fun_errorpages_on f_global_video_page_on f_gmg_profiles_crawlable_only_on f_go_author_tabs_on f_goauthorurl_on f_header_anchor_tags_on f_header_simple_render_on f_hide_disclaimers_in_excerpts_on f_hide_ellipsis_on f_hide_sticky_social_on f_homepage_latest_split_on f_homepage_layout_admin_only_on f_homepage_metadata_settings_on f_homepage_most_searched_autofill_on f_homepage_sticky_ads_4s_on f_homepage_versioning_on f_homepage_video_filtering_on f_homepage_video_playlist_on f_hp_smaller_images_on f_image_node_responsive_image_sizes_on f_image_rights_alt_title_on f_image_rights_bulk_on f_image_rights_hide_credit_on f_image_rights_with_notes_on f_infinite_promotion_on f_infinite_scroll_on f_ix_identity_tag_on f_kinja_magma_newsletter_enabled_on f_lazyload_iframes_on f_lazyload_twitter_iframe_on f_lazyload_youtube_iframe_on f_leaderboard_collapse_issue_fix_on f_legacy_embiggen_on f_load_dfp_statically_on f_login_cookie_on f_magma_amp_inarticle_videos_on f_magma_permalink_video_truncation_on f_magma_second_scroll_on f_medianet_headerbidding_on f_medianet_headerbidding_amp_on f_medianet_preload_on f_merge_price_vendor_on f_meta_first_on f_meta_social_description_on f_missing_image_alts_on f_mobile_comments_scroll_fix_on f_movable_ads_tool_shift_fix_on f_native_recirc_magma_rendered_on f_native_sidebar_magma_rendered_on f_native_stream_magma_rendered_phase_2_on f_native_stream_magma_rendered_phase_3_with_excerpts_on f_new_static_stream_header_on f_new_test_fs_on f_newsletter_exit_intent_form_v2_on f_newsletter_exit_intent_supress_on f_newsletter_footer_use_inline_form_on f_newsletter_inline_form_enabled_on f_newsletter_modal_subdomain_on f_newsletter_popup_exit_intent_on f_newsletter_popup_exit_intent_analitycs_on f_newsletter_popup_exit_intent_mobile_on f_newsletter_subdomain_themes_buttons_on f_newsletter_use_subscription_api_on f_nielsen_disable_on f_no_follow_comment_links_on f_no_preload_slideshows_on f_permalink_video_playlist_on f_post_reshare_preserve_parent_on f_post_versioning_on f_prebid_on f_prebid_analytics_on f_prebid_autoconfig_on f_prebid_trustx_on f_prebid_verizon_on f_prebid_video_on f_primary_header_flat_on f_primary_header_h1_on f_pure_save_button_on f_recirc_sidebar_on f_related_stories_inset_on f_remove_h_tags_from_sidebar_on f_remove_sticky_h1_on f_report_an_issue_new_form_on f_restore_images_on f_restrict_blog_membership_on f_scroll_vendor_on f_second_scroll_responsive_image_sizes_on f_second_scroll_scope_on f_section_nav_ga_events_on f_seo_content_first_on f_seo_iframe_noindex_on f_seo_noimageindex_on f_seo_remove_headline_link_on f_seo_stream_page_excerpts_on f_short_whitelisted_check_on f_show_newsletter_ad_on f_show_splashy_top_on f_showcase_post_query_params_token_on f_sidebar_ad_whitespace_on f_sidebar_remove_native_promo_on f_sidebar_remove_newsletter_promo_on f_sidebar_responsive_image_sizes_on f_simplereach_expanded_on f_slideshow_on f_slideshow_adzone_override_on f_slideshow_hide_slide_number_on f_smaller_dynamic_container_on f_smaller_hp_logo_sizes_on f_smartcrop_on f_sourcepoint_ccpa_on f_sourcepoint_header_on f_sourcepoint_keyval_on f_speedcurve_lux_on f_sticky_ads_2s_on f_sticky_mobile_320_on f_sticky_mobile_320_bulbs_on f_sticky_video_first_slot_mobile_on f_storytype_boilerplate_on f_stronger_homepage_headers_on f_su_manage_blog_dropdown_on f_subscription_module_amp_on f_superhero_frequency_capping_on f_survey_popup_permalink_on f_swappable_mobile_ad_on f_taboola_feed_homepage_on f_taboola_lazy_load_on f_tag_follow_overwrite_on f_tag_noindex_nofollow_on f_taxonomy_on f_trackonomics_on f_truncate_permalink_content_on f_us_only_superhero_on f_use_ad_manager_on f_video_autoplay_analytics_on f_video_card_use_video_title_on f_video_hydration_lazyload_on f_video_lazy_load_delay_on f_video_thumbnail_fix_on f_videos_filter_with_posts_on f_webm_optimize_on f_welcome_ad_analytics_on f_welcome_ad_freq_cap_on f_ymal_more_on_post_on f_zoli_test_on blog-group-gizmodo"><div id="splashy-ad-container-top" class="splashy-ad-container no-overflow" style="display:none"><div is="bulbs-dfp" class="ad-container dfp dfp-slot-SPLASHY_TOP ad-splashy-top GoogleActiveViewElement" data-ad-unit="SPLASHY_TOP" data-targeting="{"pos":"splashytop"}"></div></div><div id="trackers"></div><div><div class="js_mobile-nav"></div><div class="sc-17y8tyw-0 xAnsG js_topbar"><div class="vuc0jk-0 irOnwd"><ul class="vuc0jk-1 pplqO"><li class="vuc0jk-2 cqNwLV"><a class="sc-1out364-0 hMndXN js_link" data-ga="[["Network navigation","Network Blog Click","avclub.com",{"metric20":1}]]" href="//avclub.com">The A.V. Club</a></li><li class="vuc0jk-2 cqNwLV"><a class="sc-1out364-0 hMndXN js_link" data-ga="[["Network navigation","Network Blog Click","deadspin.com",{"metric20":1}]]" href="//deadspin.com">Deadspin</a></li><li class="vuc0jk-2 cqNwLV"><a class="sc-1out364-0 hMndXN js_link" data-ga="[["Network navigation","Network Blog Click","gizmodo.com",{"metric20":1}]]" href="//gizmodo.com">Gizmodo</a></li><li class="vuc0jk-2 cqNwLV"><a class="sc-1out364-0 hMndXN js_link" data-ga="[["Network navigation","Network Blog Click","jalopnik.com",{"metric20":1}]]" href="//jalopnik.com">Jalopnik</a></li><li class="vuc0jk-2 cqNwLV"><a class="sc-1out364-0 hMndXN js_link" data-ga="[["Network navigation","Network Blog Click","jezebel.com",{"metric20":1}]]" href="//jezebel.com">Jezebel</a></li><li class="vuc0jk-2 cqNwLV"><a class="sc-1out364-0 hMndXN js_link" data-ga="[["Network navigation","Network Blog Click","kotaku.com",{"metric20":1}]]" href="//kotaku.com">Kotaku</a></li><li class="vuc0jk-2 cqNwLV"><a class="sc-1out364-0 hMndXN js_link" data-ga="[["Network navigation","Network Blog Click","lifehacker.com",{"metric20":1}]]" href="//lifehacker.com">Lifehacker</a></li><li class="vuc0jk-2 cqNwLV"><a class="sc-1out364-0 hMndXN js_link" data-ga="[["Network navigation","Network Blog Click","theroot.com",{"metric20":1}]]" href="//theroot.com">The Root</a></li><li class="vuc0jk-2 cqNwLV"><a class="sc-1out364-0 hMndXN js_link" data-ga="[["Network navigation","Network Blog Click","thetakeout.com",{"metric20":1}]]" href="//thetakeout.com">The Takeout</a></li><li class="vuc0jk-3 ixMznA"></li><li class="vuc0jk-2 cqNwLV"><a class="sc-1out364-0 hMndXN js_link" data-ga="[["Network navigation","Network Blog Click","theonion.com",{"metric20":1}]]" href="//theonion.com">The Onion</a></li><li class="vuc0jk-3 ixMznA"></li><li class="vuc0jk-2 cqNwLV"><a class="sc-1out364-0 hMndXN js_link" data-ga="[["Network navigation","Network Blog Click","theinventory.com",{"metric20":1}]]" href="//theinventory.com">The Inventory</a></li></ul></div></div><div class="js_header"><div class="sc-1f6xobn-8 SKewC js_header-container"><div class="sc-1f6xobn-7 hiYijV js_global-nav"><div class="sc-1f6xobn-6 iGGOmz"><div class="sc-1f6xobn-0 jNeQKR"><div class="sc-1f6xobn-12 iSKltx"><a href="//gizmodo.com" title="Gizmodo" class="sc-8vrmk6-0 GHWsb"><div class="sc-2d8w30-0 bGlSMu"><div class="sc-2d8w30-1 bRnfTk gizmodo"><svg xmlns="http://www.w3.org/2000/svg" width="225" height="33" aria-label="Gizmodo logo" viewBox="0 0 225 33"><path fill="#000" fill-rule="evenodd" d="M36.87 29.06V3.92c0-1.3.3-2.29.88-2.94A2.89 2.89 0 0 1 40 0c.95 0 1.72.32 2.31.97.59.64.88 1.63.88 2.95v25.14c0 1.32-.3 2.3-.88 2.96A3 3 0 0 1 40 33c-.91 0-1.66-.33-2.25-1-.6-.65-.89-1.64-.89-2.94zm172 3.94c-8.9 0-16.13-7.4-16.13-16.49 0-9.1 7.23-16.49 16.13-16.49 8.9 0 16.13 7.4 16.13 16.49 0 9.1-7.24 16.49-16.13 16.49zm0-26.3c-5.3 0-9.6 4.4-9.6 9.81s4.3 9.81 9.6 9.81 9.6-4.4 9.6-9.81-4.3-9.81-9.6-9.81zM136.44 33c-8.89 0-16.13-7.4-16.13-16.49 0-9.1 7.24-16.49 16.13-16.49 8.9 0 16.14 7.4 16.14 16.49 0 9.1-7.24 16.49-16.13 16.49zm0-26.3c-5.29 0-9.6 4.4-9.6 9.81s4.31 9.81 9.6 9.81c5.3 0 9.6-4.4 9.6-9.81s-4.3-9.81-9.6-9.81zm51.13 9.8c0-3.64-1.17-7.01-3.13-9.74A16.02 16.02 0 0 0 171.91.01l-.48-.01-8.1.01c-1.38 0-2.38.32-3 .97-.62.64-.93 1.68-.93 3.12v24.8c0 1.44.3 2.48.93 3.12.62.65 1.62.97 3 .97h8.58a16.02 16.02 0 0 0 12.53-6.75 16.67 16.67 0 0 0 3.13-9.74zm-15 9.74a39 39 0 0 1-2.52.06h-4.23V6.7h4.23c.9 0 1.75 0 2.53.06a9.57 9.57 0 0 1 6.76 4.18 9.91 9.91 0 0 1 1.7 5.54v.04a10 10 0 0 1-1.7 5.54 9.58 9.58 0 0 1-6.77 4.18zM111.18.14a2.74 2.74 0 0 0-3.13 1.17L98.3 16.46 88.59 1.31A2.75 2.75 0 0 0 85.44.15a2.91 2.91 0 0 0-1.98 2.8v26.91a2.86 2.86 0 0 0 2.8 2.93c1.54 0 2.8-1.31 2.8-2.93V12.55l6.9 10.75.02.02v.02a3.37 3.37 0 0 0 .16.23l.08.07.11.14.12.1.08.09.17.13.05.04.2.12.05.03.15.08c.28.13.58.22.88.25h.18l.1.01h.1l.17-.01c.3-.03.6-.12.89-.25l.15-.08.05-.03.19-.12.05-.04.17-.13.1-.09.1-.1.12-.14a2.2 2.2 0 0 0 .2-.27l.03-.03v-.02l.02-.02 6.9-10.75v17.31a2.86 2.86 0 0 0 2.8 2.93c1.55 0 2.8-1.31 2.8-2.93V2.94c0-1.28-.8-2.42-1.98-2.8zM73.95 32H53.02a3.1 3.1 0 0 1-2.78-1.8 3.67 3.67 0 0 1 .43-3.77l17.11-20.3H53.64c-1.54 0-2.8-1.37-2.8-3.05 0-1.7 1.26-2.72 2.8-2.72h19.07c1.1 0 2.24.18 3.23 1.3.91 1.01.87 3.2-.15 4.52l-16.53 19.7h14.68c1.54 0 2.67 1.37 2.67 3.06S75.48 32 73.94 32zm-57.92 1c-4.65 0-8.86-1.88-11.86-5.3C1.52 24.7 0 20.73 0 16.82 0 4.57 9.97 0 16.25 0c6.18 0 10.71 3.1 10.9 3.23a3.2 3.2 0 0 1 .83 4.35 2.97 2.97 0 0 1-4.2.87 14.83 14.83 0 0 0-7.53-2.17c-3.94 0-9.37 2.65-9.37 10.54 0 4.49 3.27 9.78 9.25 9.78 3.37 0 5.74-.92 7.12-1.81v-4.67h-4.67a3.09 3.09 0 0 1-3.03-3.14 3.09 3.09 0 0 1 3.03-3.14h7.7c1.68 0 3.04 1.4 3.04 3.14v9.34a3.2 3.2 0 0 1-.93 2.25C26.36 30.61 21.9 33 16.02 33z"></path></svg></div></div></a><div class="sc-1f6xobn-14 gBwJsE">We come from the future</div></div><div class="sc-1f6xobn-15 loReOC"><a href="/search" class="xpaln1-0 sc-1f6xobn-4 fatwxV"><span class="iyvn34-0 bYIjtl"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-label="Search24 icon" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M15.31 1a7.69 7.69 0 1 1-5.06 13.48l-8.37 8.37a.51.51 0 1 1-.73-.72l8.37-8.38A7.69 7.69 0 0 1 15.31 1zm0 1.03a6.66 6.66 0 1 0 0 13.32 6.66 6.66 0 0 0 0-13.32z"></path></svg></span></a><div class="js_experiment-button"></div><a href="https://store.gizmodo.com" target="_blank" data-ga="[["Sub navigation", "Shop button click"]]" class="xpaln1-0 xpaln1-1 iehjAk js_header-shop show"><span class="iyvn34-1 cGboph"><span class="iyvn34-0 bYIjtl"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" aria-label="Cart icon" viewBox="0 0 18 18"><path fill-rule="evenodd" d="M2.5 2c.16 0 .3.07.4.2l.05.08L3.8 4h13.7a.5.5 0 0 1 .5.58l-.03.08-2 6a.5.5 0 0 1-.38.33l-.09.01H4.82l.12 1h8.56a.5.5 0 0 1 .17.03 2 2 0 1 1-1.4.97H8.73a2 2 0 1 1-3.46 0H4.5a.5.5 0 0 1-.48-.36L4 12.56l-.99-7.91L2.2 3H.5a.5.5 0 0 1-.5-.41V2.5A.5.5 0 0 1 .41 2H2.5zM14 13a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm-7 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm-2.3-3h10.44l1.66-5H4.07l.62 5z"></path></svg></span></span><span class="sc-1f6xobn-2 aJmgf">Shop</span></a><a href="/newsletter" target="_blank" data-ga="[["Sub navigation", "Subscribe button click"]]" class="xpaln1-0 xpaln1-1 sc-1f6xobn-3 hhtTpH js_header-newsletter"><span class="iyvn34-1 cGboph"><span class="iyvn34-0 bYIjtl"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" aria-label="Mail icon" viewBox="0 0 18 18"><path fill-rule="evenodd" d="M14.5 3A2.5 2.5 0 0 1 17 5.5v7a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 1 12.5v-7A2.5 2.5 0 0 1 3.5 3h11zM2 5.5v7c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5v-7l-.03-.3-6.34 5.67a.5.5 0 0 1-.38.13.5.5 0 0 1-.38-.13l-6.7-6-.02-.02c-.1.2-.15.41-.15.64zM14.5 4h-11c-.24 0-.45.05-.65.14l6.4 5.73 6.19-5.54c-.26-.2-.58-.33-.93-.33z"></path></svg></span></span><span class="sc-1f6xobn-2 aJmgf">Subscribe</span></a><div class="js_user-button"><div class="sc-1il3uru-2 gpLhlA"><button class="js_header-userbutton"><span class="sc-1il3uru-3 cIhKfd"><span class="iyvn34-0 bYIjtl"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" aria-label="UserFilled icon" viewBox="0 0 18 18"><path fill-rule="evenodd" d="M11.28 10.23c.02.02.05.03.08-.06l.21-.33.06-.09c.44-.69.64-1.06.96-1.87.66-1.7.4-3.9-.57-5.3A3.32 3.32 0 0 0 9 1c-1.47 0-2.25.45-3.03 1.57a6.04 6.04 0 0 0-.56 5.3 10.24 10.24 0 0 0 1.27 2.35c0 .03-.03.04-.16.1l-1.94.79-.06.02c-1.3.54-1.88.78-2.01.88a3 3 0 0 0-1.23 1.97A52.5 52.5 0 0 0 1 16.46c-.03.3.2.54.49.54l15-.01a.5.5 0 0 0 .5-.54 50.52 50.52 0 0 0-.27-2.43l-.09-.39a3 3 0 0 0-1.15-1.62c-.13-.1-.21-.13-2.06-.88h-.02a30.86 30.86 0 0 1-2.16-.95l.03.05z"></path></svg></span></span></button></div></div><a class="xpaln1-0 sc-1f6xobn-1 gYNxLk js_mobile-header-link"><span class="iyvn34-0 bYIjtl icon-close"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-label="Close24 icon" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M21.73 2.15c.2.2.2.51 0 .7l-9.08 9.09 9.2 9.2c.18.18.2.45.06.64l-.06.07a.5.5 0 0 1-.7 0l-9.21-9.2-9.08 9.08a.5.5 0 0 1-.71-.71l9.08-9.08-8.96-8.96a.5.5 0 0 1-.06-.64l.06-.07c.2-.2.52-.2.71 0l8.96 8.96 9.08-9.08c.2-.2.51-.2.7 0z"></path></svg></span><span class="iyvn34-0 bYIjtl icon-hamburger"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-label="Hamburger24 icon" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M21.5 21a.5.5 0 0 1 .09 1H2.5a.5.5 0 0 1-.09-1H21.5zm0-9a.5.5 0 0 1 .09 1H2.5a.5.5 0 0 1-.09-1H21.5zm0-9a.5.5 0 0 1 .09 1H2.5a.5.5 0 0 1-.09-1H21.5z"></path></svg></span></a></div></div><nav class="dfwuc8-1 cXXEfi"><a class="sc-1out364-0 hMndXN dfwuc8-0 kPuHKV js_link" data-ga="[["Sub navigation","Vertical/Tag click","home"]]" data-key="home" href="//gizmodo.com/"><span>Home</span></a><a class="sc-1out364-0 hMndXN dfwuc8-0 kPuHKV js_link" data-ga="[["Sub navigation","Vertical/Tag click","latest"]]" data-key="latest" href="//gizmodo.com/latest"><span>Latest</span></a><a class="sc-1out364-0 hMndXN dfwuc8-0 kPuHKV js_link" data-ga="[["Sub navigation","Vertical/Tag click","https://gizmodo.com/c/reviews"]]" data-index="1" href="https://gizmodo.com/c/reviews"><span>Reviews</span></a><a class="sc-1out364-0 hMndXN dfwuc8-0 kPuHKV js_link" data-ga="[["Sub navigation","Vertical/Tag click","https://earther.gizmodo.com/"]]" data-index="2" href="https://earther.gizmodo.com/"><span>Earther</span></a><a class="sc-1out364-0 hMndXN dfwuc8-0 kPuHKV js_link" data-ga="[["Sub navigation","Vertical/Tag click","https://gizmodo.com/c/science"]]" data-index="3" href="https://gizmodo.com/c/science"><span>Science</span></a><a class="sc-1out364-0 hMndXN dfwuc8-0 kPuHKV js_link" data-ga="[["Sub navigation","Vertical/Tag click","https://io9.gizmodo.com/"]]" data-index="4" href="https://io9.gizmodo.com/"><span>io9</span></a><a class="sc-1out364-0 hMndXN dfwuc8-0 kPuHKV js_link" data-ga="[["Sub navigation","Vertical/Tag click","https://gizmodo.com/c/field-guide"]]" data-index="5" href="https://gizmodo.com/c/field-guide"><span>Field Guide</span></a><a class="sc-1out364-0 hMndXN dfwuc8-0 kPuHKV js_link" data-ga="[["Sub navigation","Vertical/Tag click","https://gizmodo.com/video"]]" data-index="6" href="https://gizmodo.com/video"><span>Video</span></a></nav><div class="wz9htl-0 eQNljZ">We come from the future</div></div><div class="header-bar"></div></div><div class="sc-1f6xobn-16 iuTfdC js_header-disable-overlay"></div><div class="js_hamburger-menu-container"></div><div class="sc-1f6xobn-17 kPLnOz js_scrollback-nav"><div class="sc-1f6xobn-7 bJAAGt"><div class="sc-1f6xobn-0 ezoHdv"><div class="sc-1f6xobn-12 esbIeX"><a href="//gizmodo.com" title="Gizmodo" class="sc-8vrmk6-0 GHWsb"><div class="sc-2d8w30-0 bGlSMu"><div class="sc-2d8w30-1 bRnfTk gizmodo"><svg xmlns="http://www.w3.org/2000/svg" width="225" height="33" aria-label="Gizmodo logo" viewBox="0 0 225 33"><path fill="#000" fill-rule="evenodd" d="M36.87 29.06V3.92c0-1.3.3-2.29.88-2.94A2.89 2.89 0 0 1 40 0c.95 0 1.72.32 2.31.97.59.64.88 1.63.88 2.95v25.14c0 1.32-.3 2.3-.88 2.96A3 3 0 0 1 40 33c-.91 0-1.66-.33-2.25-1-.6-.65-.89-1.64-.89-2.94zm172 3.94c-8.9 0-16.13-7.4-16.13-16.49 0-9.1 7.23-16.49 16.13-16.49 8.9 0 16.13 7.4 16.13 16.49 0 9.1-7.24 16.49-16.13 16.49zm0-26.3c-5.3 0-9.6 4.4-9.6 9.81s4.3 9.81 9.6 9.81 9.6-4.4 9.6-9.81-4.3-9.81-9.6-9.81zM136.44 33c-8.89 0-16.13-7.4-16.13-16.49 0-9.1 7.24-16.49 16.13-16.49 8.9 0 16.14 7.4 16.14 16.49 0 9.1-7.24 16.49-16.13 16.49zm0-26.3c-5.29 0-9.6 4.4-9.6 9.81s4.31 9.81 9.6 9.81c5.3 0 9.6-4.4 9.6-9.81s-4.3-9.81-9.6-9.81zm51.13 9.8c0-3.64-1.17-7.01-3.13-9.74A16.02 16.02 0 0 0 171.91.01l-.48-.01-8.1.01c-1.38 0-2.38.32-3 .97-.62.64-.93 1.68-.93 3.12v24.8c0 1.44.3 2.48.93 3.12.62.65 1.62.97 3 .97h8.58a16.02 16.02 0 0 0 12.53-6.75 16.67 16.67 0 0 0 3.13-9.74zm-15 9.74a39 39 0 0 1-2.52.06h-4.23V6.7h4.23c.9 0 1.75 0 2.53.06a9.57 9.57 0 0 1 6.76 4.18 9.91 9.91 0 0 1 1.7 5.54v.04a10 10 0 0 1-1.7 5.54 9.58 9.58 0 0 1-6.77 4.18zM111.18.14a2.74 2.74 0 0 0-3.13 1.17L98.3 16.46 88.59 1.31A2.75 2.75 0 0 0 85.44.15a2.91 2.91 0 0 0-1.98 2.8v26.91a2.86 2.86 0 0 0 2.8 2.93c1.54 0 2.8-1.31 2.8-2.93V12.55l6.9 10.75.02.02v.02a3.37 3.37 0 0 0 .16.23l.08.07.11.14.12.1.08.09.17.13.05.04.2.12.05.03.15.08c.28.13.58.22.88.25h.18l.1.01h.1l.17-.01c.3-.03.6-.12.89-.25l.15-.08.05-.03.19-.12.05-.04.17-.13.1-.09.1-.1.12-.14a2.2 2.2 0 0 0 .2-.27l.03-.03v-.02l.02-.02 6.9-10.75v17.31a2.86 2.86 0 0 0 2.8 2.93c1.55 0 2.8-1.31 2.8-2.93V2.94c0-1.28-.8-2.42-1.98-2.8zM73.95 32H53.02a3.1 3.1 0 0 1-2.78-1.8 3.67 3.67 0 0 1 .43-3.77l17.11-20.3H53.64c-1.54 0-2.8-1.37-2.8-3.05 0-1.7 1.26-2.72 2.8-2.72h19.07c1.1 0 2.24.18 3.23 1.3.91 1.01.87 3.2-.15 4.52l-16.53 19.7h14.68c1.54 0 2.67 1.37 2.67 3.06S75.48 32 73.94 32zm-57.92 1c-4.65 0-8.86-1.88-11.86-5.3C1.52 24.7 0 20.73 0 16.82 0 4.57 9.97 0 16.25 0c6.18 0 10.71 3.1 10.9 3.23a3.2 3.2 0 0 1 .83 4.35 2.97 2.97 0 0 1-4.2.87 14.83 14.83 0 0 0-7.53-2.17c-3.94 0-9.37 2.65-9.37 10.54 0 4.49 3.27 9.78 9.25 9.78 3.37 0 5.74-.92 7.12-1.81v-4.67h-4.67a3.09 3.09 0 0 1-3.03-3.14 3.09 3.09 0 0 1 3.03-3.14h7.7c1.68 0 3.04 1.4 3.04 3.14v9.34a3.2 3.2 0 0 1-.93 2.25C26.36 30.61 21.9 33 16.02 33z"></path></svg></div></div></a></div><nav class="dfwuc8-1 kJQWeP"><div class="dfwuc8-2 houbBQ"></div><a class="sc-1out364-0 hMndXN dfwuc8-0 gdsjgU js_link" data-ga="[["Sub navigation","Vertical/Tag click - scroll back","home"]]" data-key="home" href="//gizmodo.com/"><span>Home</span></a><a class="sc-1out364-0 hMndXN dfwuc8-0 gdsjgU js_link" data-ga="[["Sub navigation","Vertical/Tag click - scroll back","latest"]]" data-key="latest" href="//gizmodo.com/latest"><span>Latest</span></a><a class="sc-1out364-0 hMndXN dfwuc8-0 gdsjgU js_link" data-ga="[["Sub navigation","Vertical/Tag click - scroll back","https://gizmodo.com/c/reviews"]]" data-index="1" href="https://gizmodo.com/c/reviews"><span>Reviews</span></a><a class="sc-1out364-0 hMndXN dfwuc8-0 gdsjgU js_link" data-ga="[["Sub navigation","Vertical/Tag click - scroll back","https://earther.gizmodo.com/"]]" data-index="2" href="https://earther.gizmodo.com/"><span>Earther</span></a><a class="sc-1out364-0 hMndXN dfwuc8-0 gdsjgU js_link" data-ga="[["Sub navigation","Vertical/Tag click - scroll back","https://gizmodo.com/c/science"]]" data-index="3" href="https://gizmodo.com/c/science"><span>Science</span></a><a class="sc-1out364-0 hMndXN dfwuc8-0 gdsjgU js_link" data-ga="[["Sub navigation","Vertical/Tag click - scroll back","https://io9.gizmodo.com/"]]" data-index="4" href="https://io9.gizmodo.com/"><span>io9</span></a><a class="sc-1out364-0 hMndXN dfwuc8-0 gdsjgU js_link" data-ga="[["Sub navigation","Vertical/Tag click - scroll back","https://gizmodo.com/c/field-guide"]]" data-index="5" href="https://gizmodo.com/c/field-guide"><span>Field Guide</span></a><a class="sc-1out364-0 hMndXN dfwuc8-0 gdsjgU js_link" data-ga="[["Sub navigation","Vertical/Tag click - scroll back","https://gizmodo.com/video"]]" data-index="6" href="https://gizmodo.com/video"><span>Video</span></a></nav><div class="sc-1f6xobn-15 eyZQTX"><a href="/search" class="xpaln1-0 sc-1f6xobn-4 fatwxV"><span class="iyvn34-0 bYIjtl"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-label="Search24 icon" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M15.31 1a7.69 7.69 0 1 1-5.06 13.48l-8.37 8.37a.51.51 0 1 1-.73-.72l8.37-8.38A7.69 7.69 0 0 1 15.31 1zm0 1.03a6.66 6.66 0 1 0 0 13.32 6.66 6.66 0 0 0 0-13.32z"></path></svg></span></a><div class="js_user-button"><div class="sc-1il3uru-2 gpLhlA"><button class="js_header-userbutton"><span class="sc-1il3uru-3 cIhKfd"><span class="iyvn34-0 bYIjtl"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" aria-label="UserFilled icon" viewBox="0 0 18 18"><path fill-rule="evenodd" d="M11.28 10.23c.02.02.05.03.08-.06l.21-.33.06-.09c.44-.69.64-1.06.96-1.87.66-1.7.4-3.9-.57-5.3A3.32 3.32 0 0 0 9 1c-1.47 0-2.25.45-3.03 1.57a6.04 6.04 0 0 0-.56 5.3 10.24 10.24 0 0 0 1.27 2.35c0 .03-.03.04-.16.1l-1.94.79-.06.02c-1.3.54-1.88.78-2.01.88a3 3 0 0 0-1.23 1.97A52.5 52.5 0 0 0 1 16.46c-.03.3.2.54.49.54l15-.01a.5.5 0 0 0 .5-.54 50.52 50.52 0 0 0-.27-2.43l-.09-.39a3 3 0 0 0-1.15-1.62c-.13-.1-.21-.13-2.06-.88h-.02a30.86 30.86 0 0 1-2.16-.95l.03.05z"></path></svg></span></span></button></div></div><a class="xpaln1-0 sc-1f6xobn-1 gYNxLk js_mobile-header-link"><span class="iyvn34-0 bYIjtl icon-close"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-label="Close24 icon" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M21.73 2.15c.2.2.2.51 0 .7l-9.08 9.09 9.2 9.2c.18.18.2.45.06.64l-.06.07a.5.5 0 0 1-.7 0l-9.21-9.2-9.08 9.08a.5.5 0 0 1-.71-.71l9.08-9.08-8.96-8.96a.5.5 0 0 1-.06-.64l.06-.07c.2-.2.52-.2.71 0l8.96 8.96 9.08-9.08c.2-.2.51-.2.7 0z"></path></svg></span><span class="iyvn34-0 bYIjtl icon-hamburger"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-label="Hamburger24 icon" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M21.5 21a.5.5 0 0 1 .09 1H2.5a.5.5 0 0 1-.09-1H21.5zm0-9a.5.5 0 0 1 .09 1H2.5a.5.5 0 0 1-.09-1H21.5zm0-9a.5.5 0 0 1 .09 1H2.5a.5.5 0 0 1-.09-1H21.5z"></path></svg></span></a></div></div></div></div></div></div><div class="sc-1op1dd6-0 jQLKmy js_sticky-top-ad"><div class="sc-1jotqfp-0 sc-1jotqfp-2 bnMuAY js_desktop-horizontal-ad"><div is="bulbs-dfp" class="ad-container dfp dfp-slot-TOP_BANNER ad-top-banner collapsed-ad" data-ad-unit="TOP_BANNER" data-targeting="{"pos":"top"}"></div><div class="bt-wrapper"><span data-uid="5d1b8a5c7d-384" class="bt-uid-tg" style="display:none !important;text-align:center" data-css-selector="ad-container.ad-top-banner collapsed-ad"></span></div></div></div><div class="sc-157agsr-0 jaQPro"><script type="application/ld+json">{"@type":"NewsArticle","@context":"http://schema.org","url":"https://gizmodo.com/i-tried-to-block-amazon-from-my-life-it-was-impossible-1830565336","author":[{"@type":"Person","name":"Kashmir Hill"}],"headline":"I Tried to Block Amazon From My Life. It Was Impossible","description":"Not even a custom-built VPN could stop Jeff Bezos's behemoth from slipping through the digital cracks.","dateline":"01/22/2019 at 11:45","datePublished":"2019-01-22T11:45:00-05:00","dateModified":"2019-02-10T23:04:05-05:00","mainEntityOfPage":{"@type":"WebPage","url":"https://gizmodo.com/i-tried-to-block-amazon-from-my-life-it-was-impossible-1830565336"},"image":{"@type":"ImageObject","height":675,"width":1200,"url":"https://i.kinja-img.com/gawker-media/image/upload/c_fill,f_auto,fl_progressive,g_center,h_675,pg_1,q_80,w_1200/bsqpiq54nzotifgm3ki7.jpg","thumbnail":{"@type":"ImageObject","height":180,"width":320,"url":"https://i.kinja-img.com/gawker-media/image/upload/c_fill,f_auto,fl_progressive,g_center,h_180,pg_1,q_80,w_320/bsqpiq54nzotifgm3ki7.jpg"}},"articleBody":"Week 1: Amazon\n\n\nApparently, I am a masochist.\n\nI am on a mission to live without the tech giants—to discover whether such a thing is even possible. Not just through sheer willpower but technologically, with the use of a custom-built tool that would literally prevent my devices from accessing these companies, and them from accessing me and my data.\n\nI start the experiment by eliminating the company I thought would be most challenging: the Everything Store.\n\nLike millions of other Americans, we use a lot of Amazon products in our house. We have an Echo, an Echo Dot, two Kindles, two Amazon Prime Chase credit cards, Amazon Prime Video on our TV, and two Prime accounts. (Note to self: Why are my husband and I each paying Amazon $119/year?) \n\n\nSo, suffice to say, Amazon is getting a good chunk of my money and a lot of my data. I alone average about $3,000 a year in purchases on Amazon.com. I’ve become such a loyal shopper that I barely know where else to go online to buy things. It’s the first place I head when I need something, anything—sheets, diapers, toilet paper, a Halloween costume, Bluetooth headphones, roulette cufflinks for a friend who likes to gamble. Basically, anytime I need a random material object, I open up the Amazon app on my phone.\n\nYes, fuck, I have Amazon’s app on my phone. I’m that addicted to this company. And I’m not alone: Amazon reportedly controls 50 percent of online commerce, which means half of all purchases made online in America, which is obscene.\n\nAmazon is not just an online store—that’s not even the hardest thing to cut out of my life. Its global empire also includes Amazon Web Services (AWS), the vast server network that provides the backbone for much of the internet, as well as Twitch.tv, the broadcasting behemoth that is the backbone of the online gaming industry, and Whole Foods, the organic backbone of the yuppie diet. \n\n\nKeeping myself from walking into a Whole Foods is easy enough, but I also want to stop using any of Amazon’s digital services, from Amazon.com (and its damn app) to any other websites or apps that use AWS to host their content. To do that, I enlist the help of a technologist, Dhruv Mehrotra, who built me a custom VPN through which to route my internet requests. The VPN blocks any traffic to or from an IP address controlled by Amazon. I connect my computers and my phone to the VPN at all times, as well as all the connected devices in my home; it’s supposed to weed out every single digital thing that Amazon touches.\n\nUltimately, though, we found Amazon was too huge to conquer.\n\nAWS is the internet’s largest cloud provider, generating 0ver $17 billion in revenue last year. Though Amazon makes much more in gross sales—over $100 billion—from its retail business, if you scrutinize its earnings reports, you’ll see that the majority of its profits come from AWS. Tech is where the money is, baby.\n\n\nLaunched in 2006, AWS has taken over vast swaths of the internet. My VPN winds up blocking over 23 million IP addresses controlled by Amazon, resulting in various unexpected casualties, from Motherboard and Fortune to the U.S. Government Accountability Office’s website. (Government agencies love AWS, which is likely why Amazon, soon to be a corporate Cerberus with three “headquarters,” chose Arlington, Virginia, in the D.C. suburbs, as one of them.) Many of the smartphone apps I rely on also stop working during the block.\n\n\nLuckily, Yale Law’s website works, so I can download antitrust expert Lina Khan’s 2017 paper making the argument that Amazon is a monopoly that American antitrust law, as it is currently practiced, is ill-equipped to regulate—essential reading for the week.\n\nWith the VPN up and running, I start to wonder why so many sites still work. Airbnb, for example, is a famed user of AWS, but I can search for a Thanksgiving vacation home there. I email Airbnb to ask if it still uses AWS for hosting, and a spokesperson confirms the company does. (I also could have confirmed it with this cool tool, which tells you about the digital provenance of a website.) \n\n\nThat’s how Dhruv and I discover a major flaw in our blocking technique. It turns out many sites, in addition to using a company like AWS to host their digital content, employ a secondary service called a content delivery network, or CDN, to load web pages faster.\n\nThe internet may seem like invisible vapor in the air around us, but it has a crucial physicality, too. AWS has huge buildings of servers around the world, while CDNs have a larger number of smaller ones. Think of AWS as the central warehouse for a site’s digital packets; the CDNs are the storefronts around the world that help people get the packets faster so that web visitors don’t have to wait for their data to come all the way from the main warehouse. \n\n\nAmazon runs its own CDN called Cloudfront, but it has fierce competition from other companies like Fastly, Cloudflare, and Akamai—which Airbnb appears to be using.\n\n\nIf a website uses AWS in combination with a non-Amazon CDN, my blocker sees the IP address used by the CDN and lets that AWS-hosted content slip through. When I check with Gizmodo Media Group’s tech team, I discover that our own sites are hosted by AWS and use Fastly as a CDN. Just like Airbnb, Gizmodo is sneaking past my blocker.\n\nStill, I am determined to block Amazon as much as possible. So in addition to having the VPN ban all IP addresses controlled by Amazon, I need to shut down the Amazon Echo and Echo Dot in our house. Connecting them to the VPN doesn’t work. I think about simply unplugging them, but I am worried someone might plug them back in. (My husband, for example, who refuses to do the block along with me on the grounds that he has a “real job.”)\n\n“Why don’t you just put them in a drawer?” asks Dhruv.\n\nIncredibly, this hadn’t occurred to me. The Echo has become such a fixture in the household, I hadn’t conceived of just putting it away. \n\n\nThat is a continuing revelation for me this week: Amazon is deeply embedded in my life. I use it repeatedly every single day whether I realize it or not. Without it, I cannot function normally.\n\nMy VPN winds up blocking over 23 million IP addresses controlled by Amazon, resulting in various unexpected casualties.\n\nHaving to run to a physical store rather than opening my Amazon app every time the house runs out of paper towels is annoying, but the harder challenge is losing access to almost every form of digital entertainment I consume. My favorite time-wasting app, Words With Friends, won’t load. I can’t watch shows via Amazon Video, obviously, but I also can’t watch Netflix because, despite being a competitor of Amazon, Netflix uses AWS to serve its streams. HBO Go is another victim.\n\nWhen my husband and I go for a run in Golden Gate Park, I discover I can’t record the run in my Runkeeper app without Amazon’s help. I also can’t download an audiobook from the library to my Axis360 app without AWS. Spotify is the last entertainment provider standing (for now), because its music lives in the Google cloud. Thank goog-ness.\n\nOn the second morning of the block, I hear my daughter in the living room with my husband screaming “Alessa, Alessa!” They forgot that the voice of the Amazon Echo, Alexa, has been banished from the house. The block is especially tough on my one-year-old daughter, Ellev, both because the Echo provides the sole source of music in our household and because Ellev is obsessed with three movies (Coco, Monsters Inc., and The Incredibles), all of which we usually watch either through Netflix or through videos purchased via Amazon.\n\nEllev is not happy about my experiment particularly because my long-winded explanations about why she can’t listen to “E-I-E-I-O” or watch “Incwedibles” make zero sense to her. The low point of the week is when she cries for the Incredibles for a solid five minutes one afternoon, though I manage to distract her, eventually, with puzzle pieces.\n\nIn addition to entertainment options going dark, basic tools of my work become unusable, notably the encrypted messaging app Signal and the workplace communication platform Slack.\n\n\nIt’s hard to convey how disruptive this is if you’re not a person who uses Slack at work; it tends to replace office meetings, emails, and phone calls. Without Slack, I basically have no idea what is going on at the office for the entirety of the Amazon-blocking week, and my colleagues have little idea what I am up to. \n\n\nThere is a psychological benefit to this. Slack’s purpose is to improve workplace communication, but it’s also a vehicle for workplace surveillance, made obvious by the green dot next to your name indicating whether you’re sitting at a keyboard at the ready, or an empty gray dot revealing your absence. By blocking Amazon, I don’t just dismantle Amazon’s surveillance of my life, I block my colleagues’ surveillance as well.\n\nGoing dark on the encrypted messaging app Signal is a hardship because I increasingly use it to communicate, not just with sources who have security concerns, but with my husband and my friends.\n\n\nI am actually surprised that Signal still uses AWS, because, at the beginning of 2018, AWS had threatened to stop hosting Signal because it was disguising its internet traffic to evade being shut down by repressive governments. Ultimately, Signal caved to Amazon’s demand because, as Signal founder Moxie Marlinspike tells me, there’s no good alternative.\n\nThe AWS block also breaks two apps that my daughter’s daycare uses to message us. However, a technological quirk allows some leakage from daycare land; the apps’ notifications come to my iPhone from Apple’s servers instead of Amazon’s, so I can still see updates coming in (“New potty for Ellev,” “New meal for Ellev”) even if I can’t check the app to see what my daughter is eating or excreting. \n\n\nMaybe that’s for the best. Our ability to get access to any information we want whenever we want has created some unhealthy data addictions.\n\nThe Amazon blocker takes down almost every form of digital entertainment I consume.\n\nThere are definite upsides to the week without Amazon. My husband and I break our habit of watching shows on Netflix at the end of the day, opting to read instead or indulge our newfound obsession with cribbage, a card game I had assumed was boring until I started playing it. Also, since we mostly use Signal to text each other, I find myself sending him fewer texts and instead talk to him about things IRL. \n\n\nWe also wean our daughter from much of her screen time, which means quality time playing with her or taking her to a playground rather than giving her a “movie treat.” I go running outside rather than doing my three miles on a treadmill watching Netflix. In general, having access to fewer parts of the internet makes me use technology less, which is increasingly my goal in life.\n\nBut cutting out Amazon also means severely limiting my ability to use one of our era’s crucial conversation tools: the language of links.\n\nI ask a friend where we are meeting for dinner, and she sends me a Yelp link, which I can’t open. Dhruv tells me he is busy working on “this,” and sends me a Motherboard link that doesn’t work. In the heaviest of shorthand communication, someone iMessages me an Eventbrite link; the share text indicates that their partner has succumbed in her fight against cancer, but I can’t access the Eventbrite page to confirm. (I turned off the VPN briefly to check it—it felt worth breaking the stunt.) \n\n\nWe speak in links, even for the most devastating of news, and tech giants have made themselves indispensable for link translation.\n\nDhruv keeps track of all the times my devices try to ping Amazon’s servers during the week. It happens nearly 300,000 times, probably in part because apps frustrated not to get a reply from the mothership keep pinging repeatedly until I close them. My devices try to reach Amazon via 3,800 different IP addresses, which suggests that there are a lot of different apps and websites attempting to connect to Amazon throughout the week.\n\nMy failure to succeed in a total Amazon ban doesn’t stop with the CDN problem. One day, my husband goes out to get lunch for us and comes back with sushi from Whole Foods. I eat a piece of inari before I remember I am consuming Amazon-produced food. (I am not willing to purge for the sake of the stunt.) \n\n\nAnother time I unintentionally patronize Amazon is when I realize we need a phone holder for our car, one of those little plastic things that attach to the air vents. I would usually immediately order a weird doodad, probably within two minutes of realizing I needed it, using the Amazon app on my phone, but not this week. I ultimately order it from eBay. When the package arrives, however, it is a yellow envelope with the tenacious “smile” logo alongside the words “Fulfillment by Amazon”—even the eBay seller relies on it.\n\n\nAmazon has embedded itself so thoroughly into the infrastructure of modern life, and into the business models of so many companies, including its competitors, that it’s nearly impossible to avoid it. \n\n\nDhruv kept track of all the times my devices tried to ping Amazon’s servers during the week. It happened nearly 300,000 times.\n\nIn her blockbuster academic article, Lina Khan, now a legal fellow at the Federal Trade Commission, argues that Amazon is breaking the spirit of antitrust law, but that regulators have failed to act because that law has evolved in a way to ignore monopolies if they result in immediate low costs to consumers. \n\n\nBut Khan says that our increasing reliance on Amazon in our everyday lives carries harms that we are only beginning to see, including Amazon being able to exploit its workers (who reportedly pee in bottles to keep up with the company’s punishing pace), being able to massively data-mine Americans whose activity it has vast access to (meaning it could charge different people different prices based on what it knows about them, which it experimented with in the past), and being able to kill off competitors who would otherwise offer consumers a variety of options and prices (R.I.P. Diapers.com).\n\nAmazon does not see itself as a monopoly. “There is an important difference between horizontal breadth and vertical depth,” said a spokesperson in a statement sent after this story was published. “We operate in a diverse range of businesses, from retail and entertainment to consumer electronics and technology services, and we have intense and well-established competition in each of these areas. Retail is our largest business and we represent less than 1% of global retail and around 4% of U.S. retail.”\n\nBut, based on my experience this week, I find Khan’s conclusions chilling and prescient, especially her points around Amazon’s luring third-party sellers to its site. That allows the sellers to make more money by providing access to Amazon customers in the short term, but Amazon slurps up these businesses’ data and can ultimately crush them with cheaper prices.\n\n\nGiven Amazon’s access to data about many, many businesses through hosting websites via AWS, it could be collecting similar competitive data on a vast scale. In fact, in the past, it has used insights gleaned from AWS to make investments in start-ups that it saw were doing gangbusters growth in its cloud.\n\n“I’d be stunned if AWS product managers aren’t using data from the usage patterns of their platform to decide with whom and how to build competitive products,” said Matthew Prince, who runs Cloudflare, one of the content delivery networks that frustrated my blocker this week. “They’ve done this relentlessly in retail, there’s no reason to think they won’t use the data from their platform to do the same with digital services. Companies that use AWS are feeding critical market data directly to the company that, almost certainly, will one day be their largest competitor.”\n\nAmazon did not respond to an inquiry about how it uses data gleaned through hosting other companies’ web offerings. \n\n\nUltimately, I learn that it’s simply not an option to block Amazon permanently. It’s technically impossible given the use of CDNs, and even if we could come up with a perfect block, it would wall me off from too many crucial services and key websites that I can’t function without for both personal and professional reasons. (To be totally honest, I just like watching television shows on demand too damn much.) I can’t give up Amazon completely, but it seems like there are other people and companies out there that should be trying very hard to do so.\n\nNext up: Facebook.\n\nThis series was supported by a grant to Dhruv Mehrotra from the Eyebeam Center for the Future of Journalism.\n\n\n\n","articleSection":"Goodbye Big Five","keywords":["blocking the tech giants","amazon","video"],"publisher":{"@type":"Organization","@context":"http://schema.org","name":"Gizmodo","url":"https://gizmodo.com","logo":{"@type":"ImageObject","url":"https://x.kinja-static.com/assets/images/logos/amp/logo-gizmodo-amp.png"},"sameAs":["https://www.facebook.com/gizmodo","https://www.youtube.com/channel/UCxFmw3IUMDUC1Hh7qDjtjZQ","https://twitter.com/gizmodo","https://instagram.com/gizmodo"]},"video":[{"@type":"VideoObject","@context":"https://schema.org","name":"Blocking the Tech Giants, Week 1: Amazon","contentUrl":"https://kinja-otfp.global.ssl.fastly.net/116221/116221_180p,270p,406p,720p,1080p.m3u8","description":"I spent six weeks blocking Amazon, Facebook, Google, Microsoft, and Apple from getting my money, data, and attention, using a custom-built VPN. Here’s what happened with Amazon.","duration":"PT553S","thumbnailUrl":["https://i.kinja-img.com/gawker-media/image/upload/c_fit,f_auto,fl_progressive,q_80,w_636/lo1ez5ztjjkhenx0tgpa.jpg"],"uploadDate":"2019-01-17T14:10:00-05:00[America/New_York]"}]}</script><div class="sc-1b7600m-0 kdTLdU js_starterpost"><header class="e0r41v-0 fbWhc"><div class="gkv9lo-0 jIlCdC"><div class="gkv9lo-1 jRMTXL"><div class="gkv9lo-2 hUZwqA"><div class="js_video-wrapper" id="116221"><div><div class="srp5v4-0 ciTXDk"><div data-vjs-player="true" class="srp5v4-1 bzXdEx"><video class="video-js" muted="" playsinline="" poster="https://i.kinja-img.com/gawker-media/image/upload/c_scale,fl_progressive,q_80,w_1600/lo1ez5ztjjkhenx0tgpa.jpg" width="100%" height="100%"></video></div><div role="button" class="srp5v4-2 cjhGGE"> + <div class="icon-wrapper"> + <svg class="icon" xmlns="http://www.w3.org/2000/svg" width="18" height="18" aria-label="PlayFilled icon" viewBox="0 0 18 18"> + <path fill="white" d="M5.3 16.7c-1.1.7-2.3 0-2.3-1.3V2.6c0-1.4 1.2-2 2.3-1.3l9.9 6.3c1 .7 1 2 0 2.7l-9.9 6.4z"/> + </svg> + </div> +</div></div></div></div></div></div></div><div class="gkv9lo-3 eMVLRp"><div class="sc-1ombk85-1 lxopW"><div class="qsfpej-0 bIkJGf"><a class="sc-1out364-0 hMndXN js_link" data-ga="[["Permalink meta","Story type click","https://gizmodo.com/c/goodbye-big-five"]]" href="https://gizmodo.com/c/goodbye-big-five"><span class="sc-1ombk85-0 cJBLJg"><span class="vxl3c2-0 bwJnjZ">Goodbye Big Five</span></span></a></div></div><h1 class="gkv9lo-4 PCsqk">I Tried to Block Amazon From My Life. It Was Impossible</h1></div></header><div class="sc-1b7600m-2 bmZlBt"><div class="sc-1b7600m-1 dqsDGm"><div class="sc-83o472-1 bAZwNf"><div class="sc-83o472-0 iYQxuq"><div class="sc-1jc3ukb-0 gKbuWQ"><div class="sc-1jc3ukb-1 flaMVg"><a class="sc-1out364-0 hMndXN js_link" data-ga="[["Permalink meta","Author click","https://kinja.com/kashmirhill"]]" href="/author/kashmirhill"><div><img src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" srcSet="https://i.kinja-img.com/gawker-media/image/upload/c_fill,f_auto,fl_progressive,g_center,h_180,pg_1,q_80,w_320/rbh0o3kdvxucqporvizl.png 320w, https://i.kinja-img.com/gawker-media/image/upload/c_fill,f_auto,fl_progressive,g_center,h_264,pg_1,q_80,w_470/rbh0o3kdvxucqporvizl.png 470w, https://i.kinja-img.com/gawker-media/image/upload/c_fill,f_auto,fl_progressive,g_center,h_450,pg_1,q_80,w_800/rbh0o3kdvxucqporvizl.png 800w, https://i.kinja-img.com/gawker-media/image/upload/c_fill,f_auto,fl_progressive,g_center,h_675,pg_1,q_80,w_1200/rbh0o3kdvxucqporvizl.png 1200w, https://i.kinja-img.com/gawker-media/image/upload/c_fill,f_auto,fl_progressive,g_center,h_900,pg_1,q_80,w_1600/rbh0o3kdvxucqporvizl.png 1600w, https://i.kinja-img.com/gawker-media/image/upload/c_fill,f_auto,fl_progressive,g_center,h_80,pg_1,q_80,w_80/rbh0o3kdvxucqporvizl.png 80w" sizes="40px" alt="kashmirhill" draggable="auto" data-chomp-id="rbh0o3kdvxucqporvizl" data-format="png" data-alt="kashmirhill" data-anim-src=""/></div></a></div><div class="sc-1jc3ukb-2 bjqgub"><div class="sc-1jc3ukb-3 hOuZKZ"><div class="sc-1mep9y1-0 sc-1ixdk2y-0 fCQpxO"><a class="sc-1out364-0 hMndXN js_link" data-ga="[["Permalink meta","Author click","https://kinja.com/kashmirhill"]]" href="/author/kashmirhill">Kashmir Hill</a></div></div><div class="sc-1jc3ukb-4 iOvcxk"><time class="uhd9ir-0 gWMcOL" dateTime="2019-01-22T11:45:00-05:00"><a class="sc-1out364-0 hMndXN js_meta-time js_link" data-ga="[["Permalink page click","Permalink page click - post header","standard"]]" href="https://gizmodo.com/i-tried-to-block-amazon-from-my-life-it-was-impossible-1830565336">1/22/19 11:45AM</a></time></div></div></div></div><div class="sc-83o472-0 iYQxuq"><div class="sc-15g8630-1 jrhsMX"><a class="sc-1out364-0 hMndXN js_link" data-ga="[["Permalink meta","Comment count click"]]" href="https://gizmodo.com/i-tried-to-block-amazon-from-my-life-it-was-impossible-1830565336#replies" rel="nofollow"><div class="sc-15g8630-0 eDTWxq"><span class="iyvn34-0 bYIjtl"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" aria-label="Bubble icon" viewBox="0 0 18 18"><path fill-rule="evenodd" d="M5.59 12.69c.84.49.73 1.4-.08 2.95l.13-.1c.8-.58 1.84-1.47 1.96-1.65l.16-.23.28.05c.7.12 2.63 0 4.15-.54 2.4-.84 3.85-2.5 3.95-5.28.04-3.28-2.98-6.05-6.64-6.05-3.67 0-6.64 2.72-6.64 6.06 0 2.01.93 3.61 2.72 4.78zm-.46.71A6.33 6.33 0 0 1 2 7.9C2 4.08 5.36 1 9.5 1c4.13 0 7.55 3.14 7.5 6.91-.12 3.15-1.8 5.1-4.52 6.05-1.52.54-3.4.7-4.35.6-.4.41-1.25 1.13-1.98 1.66a5.6 5.6 0 0 1-1.19.72c-.78.26-.96-.38-.6-1.01.88-1.5 1.09-2.27.83-2.5l-.06-.03z"></path></svg></span><span>268</span></div></a><div class="sc-15g8630-0 eDTWxq"><div class="js_save-badge" data-state="{"postId":"1830565336","postPermalink":"https://gizmodo.com/i-tried-to-block-amazon-from-my-life-it-was-impossible-1830565336","saveCount":19,"isBigger":true}" data-post-id="1830565336" data-post-permalink="https://gizmodo.com/i-tried-to-block-amazon-from-my-life-it-was-impossible-1830565336"><div class="sc-1mn1yww-1 exzjhb"><span class="iyvn34-0 bYIjtl"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" aria-label="Bookmark icon" viewBox="0 0 18 18"><path fill-rule="evenodd" d="M4 15.21l4.63-5.05a.5.5 0 0 1 .74 0L14 15.21V2H4v13.21zm5-3.97l-5.13 5.6A.5.5 0 0 1 3 16.5v-15c0-.28.22-.5.5-.5h11c.28 0 .5.22.5.5v15a.5.5 0 0 1-.87.33L9 11.24z"></path></svg></span><div class="sc-1mn1yww-0 kQvuJE">19</div></div></div></div></div><div class="sc-83o472-2 hNtXBx"><div class="js_share-tools" data-position="top"><div class="sc-17x7c2u-2 moYHu"><a href="https://facebook.com/sharer.php?u=https%3A%2F%2Fgizmodo.com%2Fi-tried-to-block-amazon-from-my-life-it-was-impossible-1830565336%3Futm_medium%3Dsharefromsite%26utm_source%3Dgizmodo_facebook" title="Share to Facebook" target="_blank" data-ga="[["Share Tools", "Share to Facebook","top"]]" class="sc-17x7c2u-0 dnOOaU"><span class="sc-17x7c2u-1 boXNUH"><span class="iyvn34-0 bYIjtl"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" aria-label="Facebook icon" viewBox="0 0 18 18"><path fill-rule="evenodd" d="M17 9.05A8.02 8.02 0 0 0 9 1C4.58 1 1 4.6 1 9.05A8.04 8.04 0 0 0 7.75 17v-5.62H5.72V9.05h2.03V7.28c0-2.02 1.2-3.14 3.02-3.14.88 0 1.8.16 1.8.16v1.98h-1.02c-.99 0-1.3.62-1.3 1.26v1.5h2.22l-.36 2.34h-1.86V17A8.04 8.04 0 0 0 17 9.05"></path></svg></span></span></a><a href="https://twitter.com/share?text=I%20Tried%20to%20Block%20Amazon%20From%20My%20Life.%20It%20Was%20Impossible&via=gizmodo&url=https%3A%2F%2Fgizmodo.com%2Fi-tried-to-block-amazon-from-my-life-it-was-impossible-1830565336%3Futm_medium%3Dsharefromsite%26utm_source%3Dgizmodo_twitter" title="Share to Twitter" target="_blank" data-ga="[["Share Tools", "Share to Twitter","top"]]" class="sc-17x7c2u-0 dnOOaU"><span class="sc-17x7c2u-1 boXNUH"><span class="iyvn34-0 bYIjtl"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" aria-label="Twitter icon" viewBox="0 0 18 18"><path fill-rule="evenodd" d="M12.46 1.13c-2.04 0-3.7 1.78-3.7 3.97 0 .31.04.62.1.9a10.26 10.26 0 0 1-7.6-4.15A4.2 4.2 0 0 0 2.4 7.16a3.5 3.5 0 0 1-1.68-.5v.05a3.92 3.92 0 0 0 2.97 3.9 3.45 3.45 0 0 1-1.67.07 3.74 3.74 0 0 0 3.45 2.76A7.08 7.08 0 0 1 0 15.1a9.92 9.92 0 0 0 5.66 1.79c6.8 0 10.5-6.06 10.5-11.32v-.51A7.85 7.85 0 0 0 18 2.99c-.66.32-1.37.53-2.12.63a3.95 3.95 0 0 0 1.62-2.2c-.71.45-1.5.78-2.34.96a3.57 3.57 0 0 0-2.7-1.25"></path></svg></span></span></a><a href="mailto:?subject=I%20Tried%20to%20Block%20Amazon%20From%20My%20Life.%20It%20Was%20Impossible&body=https%3A%2F%2Fgizmodo.com%2Fi-tried-to-block-amazon-from-my-life-it-was-impossible-1830565336%253Futm_medium%3Dsharefromsite%2526utm_source%3Dgizmodo_email%26utm_campaign=top" title="Share via Email" target="_blank" data-ga="[["Share Tools", "Share to Email","top"]]" class="sc-17x7c2u-0 dnOOaU"><span class="sc-17x7c2u-1 boXNUH"><span class="iyvn34-0 bYIjtl"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" aria-label="Mail icon" viewBox="0 0 18 18"><path fill-rule="evenodd" d="M14.5 3A2.5 2.5 0 0 1 17 5.5v7a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 1 12.5v-7A2.5 2.5 0 0 1 3.5 3h11zM2 5.5v7c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5v-7l-.03-.3-6.34 5.67a.5.5 0 0 1-.38.13.5.5 0 0 1-.38-.13l-6.7-6-.02-.02c-.1.2-.15.41-.15.64zM14.5 4h-11c-.24 0-.45.05-.65.14l6.4 5.73 6.19-5.54c-.26-.2-.58-.33-.93-.33z"></path></svg></span></span></a><a href="https://gizmodo.com/i-tried-to-block-amazon-from-my-life-it-was-impossible-1830565336" title="Share via Link" data-ga="[["Share Tools", "Copy url","top"]]" class="sc-17x7c2u-0 dnOOaU js_share-via-link"><span class="sc-17x7c2u-1 boXNUH"><span class="iyvn34-0 bYIjtl"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" aria-label="Link icon" viewBox="0 0 18 18"><path fill-rule="evenodd" d="M11.06 7.75a.5.5 0 1 1-.7.7l-.85-.83a1.86 1.86 0 0 0-2.63 0l-4 4a1.86 1.86 0 0 0 0 2.64l1.33 1.33c.72.73 1.91.72 2.64 0l1.8-1.8a.5.5 0 1 1 .7.7l-1.8 1.8a2.87 2.87 0 0 1-4.05 0l-1.33-1.32a2.86 2.86 0 0 1 0-4.05l4-4.01a2.86 2.86 0 0 1 4.05 0l.84.84zm5.17-4.41a2.86 2.86 0 0 1 0 4.05l-4 4.01a2.86 2.86 0 0 1-4.05 0l-.84-.84a.5.5 0 1 1 .7-.71l.85.84c.73.73 1.9.73 2.63 0l4-4c.73-.73.73-1.91 0-2.64l-1.33-1.33a1.87 1.87 0 0 0-2.64 0l-1.8 1.8a.5.5 0 1 1-.7-.7l1.8-1.8a2.87 2.87 0 0 1 4.05 0l1.33 1.32z"></path></svg></span></span></a></div></div><div class="post-tools-wrapper" data-state="{"type":"permalink","postId":"1830565336","authorIds":["5876237249237034809"],"sharedToBlogId":null,"status":"PUBLISHED","postPermalink":"https://gizmodo.com/i-tried-to-block-amazon-from-my-life-it-was-impossible-1830565336","wordCount":2880,"isFeatured":true,"isVideo":false,"isEmbiggened":true,"parentId":null,"parentAuthorId":null,"defaultBlogId":"4","index":0,"pageType":"permalink","isDismissed":false,"isBlocked":false}" data-post-id="1830565336" data-post-permalink="https://gizmodo.com/i-tried-to-block-amazon-from-my-life-it-was-impossible-1830565336"><div class="sc-1vjnuu8-0 ieQQVs"><div class="sc-12i6d45-0 jmlRJq"><div class="sc-12i6d45-1 dYVcML"></div></div></div></div></div></div></div></div></div><div class="kf1sa9-0 kYRIXJ"><div class="r43lxo-0 gqfcxx js_post-content"><div class="sc-1eu5fsj-0 lmzzDF content-summary__SummaryBox"><span class="sc-1eu5fsj-4 sc-1eu5fsj-6 dGxHTb"><a class="sc-1out364-0 hMndXN js_link" data-ga="[["Boilerplate - Story Type","view all click","https://gizmodo.com/c/goodbye-big-five"]]" href="https://gizmodo.com/c/goodbye-big-five">Goodbye Big Five</a></span><span title="Goodbye Big Five" class="sc-1eu5fsj-2 lfYldH textbox-shadow"><a class="sc-1out364-0 hMndXN js_link" data-ga="[["Boilerplate - Story Type","view all click","https://gizmodo.com/c/goodbye-big-five"]]" href="https://gizmodo.com/c/goodbye-big-five"><img src="https://i.kinja-img.com/gawker-media/image/upload/c_fill,f_auto,fl_progressive,g_center,h_180,q_80,w_320/rdxcnz0ban3vivfm8ect.png" class="sc-1eu5fsj-1 jAIBUh"/></a></span><span class="sc-1eu5fsj-3 Wqznz"><span class="sc-1eu5fsj-4 sc-1eu5fsj-5 jcqSJA"><a href="https://gizmodo.com/c/goodbye-big-five">Goodbye Big Five</a></span><span class="sc-1eu5fsj-7 hluOXr">Reporter Kashmir Hill spent six weeks blocking Amazon, Facebook, Google, Microsoft, and Apple from getting her money, data, and attention, using a custom-built VPN. Here’s what happened.</span><div class="sc-1eu5fsj-8 jGImsi content-summary__Pagination"><div class="sc-1eu5fsj-9 jQuhot"><span class="sc-1eu5fsj-10 sc-1eu5fsj-11 ewjZpa"><span class="iyvn34-0 bYIjtl"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" aria-label="ChevronLeft icon" viewBox="0 0 18 18"><path fill-rule="evenodd" d="M11.84 3.87a.5.5 0 1 0-.68-.74l-6 5.5a.5.5 0 0 0 0 .74l6 5.5a.5.5 0 1 0 .68-.74L6.24 9l5.6-5.13z"></path></svg></span><a class="sc-1out364-0 hMndXN js_link" data-ga="[["Boilerplate - Story Type","previous click","https://gizmodo.com/life-without-the-tech-giants-1830258056"]]" href="https://gizmodo.com/life-without-the-tech-giants-1830258056">Prev</a></span><span class="sc-1eu5fsj-13 kgkwRa"><span class="iyvn34-0 bYIjtl"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" aria-label="Minus icon" viewBox="0 0 18 18"><path fill-rule="evenodd" d="M2.5 9.5h13a.5.5 0 1 0 0-1h-13a.5.5 0 0 0 0 1z"></path></svg></span></span><span class="sc-1eu5fsj-10 sc-1eu5fsj-12 ghYQPR"><a class="sc-1out364-0 hMndXN js_link" data-ga="[["Boilerplate - Story Type","next click","https://gizmodo.com/i-cut-facebook-out-of-my-life-surprisingly-i-missed-i-1830565456"]]" href="https://gizmodo.com/i-cut-facebook-out-of-my-life-surprisingly-i-missed-i-1830565456">Next</a><span class="iyvn34-0 bYIjtl"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" aria-label="ChevronRight icon" viewBox="0 0 18 18"><path fill-rule="evenodd" d="M6.16 14.13a.5.5 0 1 0 .68.74l6-5.5a.5.5 0 0 0 0-.74l-6-5.5a.5.5 0 1 0-.68.74L11.76 9l-5.6 5.13z"></path></svg></span></span><span class="sc-1eu5fsj-13 kgkwRa"><span class="iyvn34-0 bYIjtl"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" aria-label="Minus icon" viewBox="0 0 18 18"><path fill-rule="evenodd" d="M2.5 9.5h13a.5.5 0 1 0 0-1h-13a.5.5 0 0 0 0 1z"></path></svg></span></span><a class="sc-1out364-0 hMndXN js_link" data-ga="[["Boilerplate - Story Type","view all click","https://gizmodo.com/c/goodbye-big-five"]]" href="https://gizmodo.com/c/goodbye-big-five">View All </a></div><div class="sc-1eu5fsj-9 jQuhot"></div></div></span></div><div id="js_movable-ads-post-contents"><p class="sc-77igqf-0 bOfvBY"><strong>Week 1: Amazon</strong><br/></p><div class="bxm4mm-15 BiRlJ js_movable_ad_slot"><div class="bxm4mm-17 dJGqTR"><label class="bxm4mm-16 evEDSN">Advertisement</label><div is="bulbs-dfp" class="ad-container dfp dfp-slot-MID_BANNER ad-middleboard" data-ad-unit="MID_BANNER" data-targeting="{"pos":"mid_banner"}"></div><div class="bt-wrapper"><span data-uid="5d1b8a6cd5-384" class="bt-uid-tg" style="display:none !important;text-align:center" data-css-selector="ad-container.ad-middleboard"></span></div></div></div><p class="sc-77igqf-0 bOfvBY">Apparently, I am a masochist.</p><p class="sc-77igqf-0 bOfvBY">I am on a mission to <span><a class="sc-1out364-0 hMndXN sc-145m8ut-0 kVnoAv js_link" data-ga="[["Embedded Url","External link","https://specialprojectsdesk.com/preview/life-without-the-tech-giants-1830258056",{"metric25":1}]]" href="https://specialprojectsdesk.com/preview/life-without-the-tech-giants-1830258056" target="_blank" rel="noopener noreferrer">live without the tech giants</a></span>—to discover whether such a thing is even possible. Not just through sheer willpower but technologically, with the use of a custom-built tool that would literally prevent my devices from accessing these companies, and them from accessing me and my data.</p><p class="sc-77igqf-0 bOfvBY">I start the experiment by eliminating the company I thought would be most challenging: the Everything Store.</p><p class="sc-77igqf-0 bOfvBY">Like millions of other Americans, we use a lot of Amazon products in our house. We have an Echo, an Echo Dot, two Kindles, two Amazon Prime Chase credit cards, Amazon Prime Video on our TV, and two Prime accounts. (Note to self: Why are my husband and I each paying Amazon $119/year?) <br/></p><div class="bxm4mm-15 BiRlJ js_movable_ad_slot"><div class="bxm4mm-17 dJGqTR"><label class="bxm4mm-16 evEDSN">Advertisement</label><div is="bulbs-dfp" class="ad-container dfp dfp-slot-MID_BANNER ad-middleboard" data-ad-unit="MID_BANNER" data-targeting="{"pos":"mid_banner"}"></div><div class="bt-wrapper"><span data-uid="5d1b8a6cd5-384" class="bt-uid-tg" style="display:none !important;text-align:center" data-css-selector="ad-container.ad-middleboard"></span></div></div></div><p class="sc-77igqf-0 bOfvBY">So, suffice to say, Amazon is getting a good chunk of my money and a lot of my data. I alone average about $3,000 a year in purchases on Amazon.com. I’ve become such a loyal shopper that I barely know where else to go online to buy things. It’s the first place I head when I need something, anything—sheets, diapers, toilet paper, a Halloween costume, Bluetooth headphones, roulette cufflinks for a friend who likes to gamble. Basically, anytime I need a random material object, I open up the Amazon app on my phone.</p><p class="sc-77igqf-0 bOfvBY">Yes, fuck, I have Amazon’s app on my phone. I’m <em>that</em> addicted to this company. And I’m not alone: Amazon reportedly <span><a class="sc-1out364-0 hMndXN sc-145m8ut-0 kVnoAv js_link" data-ga="[["Embedded Url","External link","https://techcrunch.com/2018/07/13/amazons-share-of-the-us-e-commerce-market-is-now-49-or-5-of-all-retail-spend/",{"metric25":1}]]" href="https://techcrunch.com/2018/07/13/amazons-share-of-the-us-e-commerce-market-is-now-49-or-5-of-all-retail-spend/" target="_blank" rel="noopener noreferrer">controls 50 percent of online commerce</a></span>, which means half of all purchases made online in America, which is obscene.</p><p class="sc-77igqf-0 bOfvBY">Amazon is not just an online store—that’s not even the hardest thing to cut out of my life. Its global empire also includes Amazon Web Services (AWS), the vast server network that provides the backbone for much of the internet, as well as Twitch.tv, the broadcasting behemoth that is the backbone of the online gaming industry, and Whole Foods, the organic backbone of the yuppie diet. <br/></p><p class="sc-77igqf-0 bOfvBY">Keeping myself from walking into a Whole Foods is easy enough, but I also want to stop using any of Amazon’s digital services, from Amazon.com (and its damn app) to any other websites or apps that use AWS to host their content. To do that, I enlist the help of a technologist, Dhruv Mehrotra, who built me a custom VPN through which to route my internet requests. The VPN blocks any traffic to or from an IP address controlled by Amazon. I connect my computers and my phone to the VPN at all times, as well as all the connected devices in my home; it’s supposed to weed out every single digital thing that Amazon touches.</p><p class="sc-77igqf-0 bOfvBY">Ultimately, though, we found Amazon was too huge to conquer.</p><div class="bxm4mm-15 BiRlJ js_movable_ad_slot"><div class="bxm4mm-17 dJGqTR"><label class="bxm4mm-16 evEDSN">Advertisement</label><div is="bulbs-dfp" class="ad-container dfp dfp-slot-MID_BANNER ad-middleboard" data-ad-unit="MID_BANNER" data-targeting="{"pos":"mid_banner"}"></div><div class="bt-wrapper"><span data-uid="5d1b8a6cd5-384" class="bt-uid-tg" style="display:none !important;text-align:center" data-css-selector="ad-container.ad-middleboard"></span></div></div></div><p class="sc-77igqf-0 bOfvBY">AWS is the internet’s largest cloud provider, generating 0ver <span><a class="sc-1out364-0 hMndXN sc-145m8ut-0 kVnoAv js_link" data-ga="[["Embedded Url","External link","https://www.businessinsider.com.au/amazon-web-services-2017-revenue-2018-2",{"metric25":1}]]" href="https://www.businessinsider.com.au/amazon-web-services-2017-revenue-2018-2" target="_blank" rel="noopener noreferrer">$17 billion in revenue last year</a></span>. Though Amazon makes much more in gross sales—over $100 billion—from its retail business, if you scrutinize its earnings reports, you’ll see that<strong> </strong>the <span><a class="sc-1out364-0 hMndXN sc-145m8ut-0 kVnoAv js_link" data-ga="[["Embedded Url","External link","https://www.marketwatch.com/story/the-engine-for-amazon-earnings-growth-has-nothing-to-do-with-e-commerce-2018-04-26",{"metric25":1}]]" href="https://www.marketwatch.com/story/the-engine-for-amazon-earnings-growth-has-nothing-to-do-with-e-commerce-2018-04-26" target="_blank" rel="noopener noreferrer">majority of its profits</a></span> come from AWS.<strong> </strong>Tech is where the money is, baby.<br/></p><p class="sc-77igqf-0 bOfvBY">Launched in 2006, AWS has taken over vast swaths of the internet. My VPN winds up blocking over 23 million IP addresses controlled by Amazon, resulting in various unexpected casualties, from Motherboard and Fortune to the U.S. Government Accountability Office’s website. (Government agencies love AWS, which is likely why Amazon, soon to be a corporate Cerberus with three “headquarters,” chose Arlington, Virginia, in the D.C. suburbs, as one of them.) Many of the smartphone apps I rely on also stop working during the block.<br/></p><p class="sc-77igqf-0 bOfvBY">Luckily, Yale Law’s website works, so I can download antitrust expert <span><a class="sc-1out364-0 hMndXN sc-145m8ut-0 kVnoAv js_link" data-ga="[["Embedded Url","External link","https://www.yalelawjournal.org/note/amazons-antitrust-paradox",{"metric25":1}]]" href="https://www.yalelawjournal.org/note/amazons-antitrust-paradox" target="_blank" rel="noopener noreferrer">Lina Khan’s 2017 paper</a></span> making the argument that Amazon is a monopoly that American antitrust law, as it is currently practiced, is ill-equipped to regulate—essential reading for the week.</p><p class="sc-77igqf-0 bOfvBY">With the VPN up and running, I start to wonder why so many sites still work. Airbnb, for example, is <span><a class="sc-1out364-0 hMndXN sc-145m8ut-0 kVnoAv js_link" data-ga="[["Commerce","gizmodo - I Tried to Block Amazon From My Life. It Was Impossible",""]]" href="https://aws.amazon.com/solutions/case-studies/airbnb/?ascsubtag=45ee0ae3f40421520b05e7bddc3f8b40fcb8ed29&tag=gizmodoamzn-20" target="_blank" data-amazonasin="" data-amazontag="gizmodoamzn-20" data-amazonsubtag="[t|link[p|1830565336[au|5876237249237034809[b|gizmodo[lt|text">a famed user</a></span> of AWS, but I can search for a Thanksgiving vacation home there. I email Airbnb to ask if it still uses AWS for hosting, and a spokesperson confirms the company does. (I also could have confirmed it with <span><a class="sc-1out364-0 hMndXN sc-145m8ut-0 kVnoAv js_link" data-ga="[["Embedded Url","External link","https://securitytrails.com/domain/airbnb.com/dns",{"metric25":1}]]" href="https://securitytrails.com/domain/airbnb.com/dns" target="_blank" rel="noopener noreferrer">this cool tool</a></span>, which tells you about the digital provenance of a website.) <br/></p><p class="sc-77igqf-0 bOfvBY">That’s how Dhruv and I discover a major flaw in our blocking technique. It turns out many sites, in addition to using a company like AWS to host their digital content, employ a secondary service called a content delivery network, or CDN, to load web pages faster.</p><div class="bxm4mm-15 BiRlJ js_movable_ad_slot"><div class="bxm4mm-17 dJGqTR"><label class="bxm4mm-16 evEDSN">Advertisement</label><div is="bulbs-dfp" class="ad-container dfp dfp-slot-MID_BANNER ad-middleboard" data-ad-unit="MID_BANNER" data-targeting="{"pos":"mid_banner"}"></div><div class="bt-wrapper"><span data-uid="5d1b8a6cd5-384" class="bt-uid-tg" style="display:none !important;text-align:center" data-css-selector="ad-container.ad-middleboard"></span></div></div></div><p class="sc-77igqf-0 bOfvBY">The internet may seem like invisible vapor in the air around us, but it has a crucial physicality, too. AWS has huge buildings of servers around the world, while CDNs have a larger number of smaller ones. Think of AWS as the central warehouse for a site’s digital packets; the CDNs are the storefronts around the world that help people get the packets faster so that web visitors don’t have to wait for their data to come all the way from the main warehouse. <br/></p><p class="sc-77igqf-0 bOfvBY">Amazon runs its own CDN called <!-- -->Cloudfront<!-- -->, but it has fierce competition from other companies like Fastly, Cloudflare, and Akamai—which Airbnb appears to be using.<br/></p><p class="sc-77igqf-0 bOfvBY">If a website uses AWS in combination with a non-Amazon CDN, my blocker sees the IP address used by the CDN and lets that AWS-hosted content slip through. When I check with Gizmodo Media Group’s tech team, I discover that our own sites are hosted by AWS and use Fastly as a CDN. Just like Airbnb, Gizmodo is sneaking past my blocker.</p><p class="sc-77igqf-0 bOfvBY">Still, I am determined to block Amazon as much as possible. So in addition to having the VPN ban all IP addresses controlled by Amazon, I need to shut down the Amazon Echo and Echo Dot in our house. Connecting them to the VPN doesn’t work. I think about simply unplugging them, but I am worried someone might plug them back in. (My husband, for example, who refuses to do the block along with me on the grounds that he has a “real job.”)</p><p class="sc-77igqf-0 bOfvBY">“Why don’t you just put them in a drawer?” asks Dhruv.</p><div class="bxm4mm-15 BiRlJ js_movable_ad_slot"><div class="bxm4mm-17 dJGqTR"><label class="bxm4mm-16 evEDSN">Advertisement</label><div is="bulbs-dfp" class="ad-container dfp dfp-slot-MID_BANNER ad-middleboard" data-ad-unit="MID_BANNER" data-targeting="{"pos":"mid_banner"}"></div><div class="bt-wrapper"><span data-uid="5d1b8a6cd5-384" class="bt-uid-tg" style="display:none !important;text-align:center" data-css-selector="ad-container.ad-middleboard"></span></div></div></div><p class="sc-77igqf-0 bOfvBY">Incredibly, this hadn’t occurred to me. The Echo has become such a fixture in the household, I hadn’t conceived of just putting it away. <br/></p><p class="sc-77igqf-0 bOfvBY">That is a continuing revelation for me this week: Amazon is deeply embedded in my life. I use it repeatedly every single day whether I realize it or not. Without it, I cannot function normally.</p><aside class="o6p93a-0 eGvvya"><span class="sc-196v4ms-0 hTaXkp" contenteditable="false"></span><span class="a3cloy-0 hQOwaZ">My VPN winds up blocking over 23 million IP addresses controlled by Amazon, resulting in various unexpected casualties.</span><span class="sc-196v4ms-0 hTaXkp" contenteditable="false"></span></aside><p class="sc-77igqf-0 bOfvBY">Having to run to a physical store rather than opening my Amazon app every time the house runs out of paper towels is annoying, but the harder challenge is losing access to almost every form of digital entertainment I consume. My favorite time-wasting app, Words With Friends, won’t load. I can’t watch shows via Amazon Video, obviously, but I also can’t watch Netflix because, despite being a competitor of Amazon, Netflix uses AWS to serve its streams. HBO Go is another victim.</p><p class="sc-77igqf-0 bOfvBY">When my husband and I go for a run in Golden Gate Park, I discover I can’t record the run in my Runkeeper app without Amazon’s help. I also can’t download an audiobook from the library to my Axis360 app without AWS. Spotify is the last entertainment provider standing (for now<!-- -->),<!-- --> because its music lives in the <span><a class="sc-1out364-0 hMndXN sc-145m8ut-0 kVnoAv js_link" data-ga="[["Embedded Url","External link","https://www.wired.com/2016/02/spotify-moves-itself-onto-googles-cloud-lucky-for-google/",{"metric25":1}]]" href="https://www.wired.com/2016/02/spotify-moves-itself-onto-googles-cloud-lucky-for-google/" target="_blank" rel="noopener noreferrer">Google cloud</a></span>. Thank goog-ness.</p><div class="bxm4mm-15 BiRlJ js_movable_ad_slot"><div class="bxm4mm-17 dJGqTR"><label class="bxm4mm-16 evEDSN">Advertisement</label><div is="bulbs-dfp" class="ad-container dfp dfp-slot-MID_BANNER ad-middleboard" data-ad-unit="MID_BANNER" data-targeting="{"pos":"mid_banner"}"></div><div class="bt-wrapper"><span data-uid="5d1b8a6cd5-384" class="bt-uid-tg" style="display:none !important;text-align:center" data-css-selector="ad-container.ad-middleboard"></span></div></div></div><p class="sc-77igqf-0 bOfvBY">On the second morning of the block, I hear my daughter in the living room with my husband screaming “Alessa, Alessa!” They forgot that the voice of the Amazon Echo, <em>Alexa</em>, has been banished from the house. The block is especially tough on my one-year-old daughter, Ellev, both because the Echo provides the sole source of music in our household and because Ellev is obsessed with three movies (<em>Coco</em>, <em>Monsters Inc.</em>, and <em>The Incredibles), </em>all of which we usually watch either through Netflix or through videos purchased via Amazon.</p><p class="sc-77igqf-0 bOfvBY">Ellev is not happy about my experiment particularly because my long-winded explanations about why she can’t listen to “E-I-E-I-O” or watch “<!-- -->Incwedibles<!-- -->” make zero sense to her. The low point of the week is when she cries for the Incredibles for a solid five minutes one afternoon, though I manage to distract her, eventually, with puzzle pieces.</p><p class="sc-77igqf-0 bOfvBY">In addition to entertainment options going dark, basic tools of my work become unusable, notably the encrypted messaging app Signal and the workplace communication platform Slack.<br/></p><p class="sc-77igqf-0 bOfvBY">It’s hard to convey how disruptive this is if you’re not a person who uses Slack at work; it tends to replace office meetings, emails, and phone calls. Without Slack, I basically have no idea what is going on at the office for the entirety of the Amazon-blocking week, and my colleagues have little idea what I am up to. <br/></p><p class="sc-77igqf-0 bOfvBY">There is a psychological benefit to this. Slack’s purpose is to improve workplace communication, but it’s also a vehicle for workplace surveillance, made obvious by the green dot next to your name indicating whether you’re sitting at a keyboard at the ready, or an empty gray dot revealing your absence. By blocking Amazon, I don’t just dismantle Amazon’s surveillance of my life, I block my colleagues’ surveillance as well.</p><div class="bxm4mm-15 BiRlJ js_movable_ad_slot"><div class="bxm4mm-17 dJGqTR"><label class="bxm4mm-16 evEDSN">Advertisement</label><div is="bulbs-dfp" class="ad-container dfp dfp-slot-MID_BANNER ad-middleboard" data-ad-unit="MID_BANNER" data-targeting="{"pos":"mid_banner"}"></div><div class="bt-wrapper"><span data-uid="5d1b8a6cd5-384" class="bt-uid-tg" style="display:none !important;text-align:center" data-css-selector="ad-container.ad-middleboard"></span></div></div></div><p class="sc-77igqf-0 bOfvBY">Going dark on the encrypted messaging app Signal is a hardship because I increasingly use it to communicate, not just with sources who have security concerns, but with my husband and my friends.<br/></p><p class="sc-77igqf-0 bOfvBY">I am actually surprised that Signal still uses AWS, because, at the beginning of 2018, AWS had <span><a class="sc-1out364-0 hMndXN sc-145m8ut-0 kVnoAv js_link" data-ga="[["Embedded Url","Internal link","https://gizmodo.com/amazon-bends-the-knee-to-autocrats-threatens-to-cut-of-1825697153",{"metric25":1}]]" href="https://gizmodo.com/amazon-bends-the-knee-to-autocrats-threatens-to-cut-of-1825697153">threatened to stop hosting Signal</a></span> because it was disguising its internet traffic to evade being shut down by repressive governments. Ultimately, Signal caved to Amazon’s demand because, as Signal founder Moxie Marlinspike tells me, there’s no good alternative.</p><p class="sc-77igqf-0 bOfvBY">The AWS block also breaks two apps that my daughter’s daycare uses to message us. However, a technological quirk allows some leakage from daycare land; the apps’ notifications come to my iPhone from Apple’s servers instead of Amazon’s, so I can still see updates coming in (“New potty for Ellev,” “New meal for Ellev”) even if I can’t check the app to see what my daughter is eating or excreting. <br/></p><p class="sc-77igqf-0 bOfvBY">Maybe that’s for the best. Our ability to get access to any information we want whenever we want has created some unhealthy data addictions.</p><aside class="o6p93a-0 eGvvya"><span class="sc-196v4ms-0 hTaXkp" contenteditable="false"></span><span class="a3cloy-0 hQOwaZ">The Amazon blocker takes down almost every form of digital entertainment I consume.</span><span class="sc-196v4ms-0 hTaXkp" contenteditable="false"></span></aside><div class="bxm4mm-15 BiRlJ js_movable_ad_slot"><div class="bxm4mm-17 dJGqTR"><label class="bxm4mm-16 evEDSN">Advertisement</label><div is="bulbs-dfp" class="ad-container dfp dfp-slot-MID_BANNER ad-middleboard" data-ad-unit="MID_BANNER" data-targeting="{"pos":"mid_banner"}"></div><div class="bt-wrapper"><span data-uid="5d1b8a6cd5-384" class="bt-uid-tg" style="display:none !important;text-align:center" data-css-selector="ad-container.ad-middleboard"></span></div></div></div><p class="sc-77igqf-0 bOfvBY">There are definite upsides to the week without Amazon. My husband and I break our habit of watching shows on Netflix at the end of the day, opting to read instead or indulge our newfound obsession with cribbage, a card game I had assumed was boring until I started playing it. Also, since we mostly use Signal to text each other, I find myself sending him fewer texts and instead talk to him about things IRL. <br/></p><p class="sc-77igqf-0 bOfvBY">We also wean our daughter from much of her screen time, which means quality time playing with her or taking her to a playground rather than giving her a “movie treat.” I go running outside rather than doing my three miles on a treadmill watching Netflix. In general, having access to fewer parts of the internet makes me use technology less, which is increasingly my goal in life.</p><p class="sc-77igqf-0 bOfvBY">But cutting out Amazon also means severely limiting my ability to use one of our era’s crucial conversation tools: the language of links.</p><p class="sc-77igqf-0 bOfvBY">I ask a friend where we are meeting for dinner, and she sends me a Yelp link, which I can’t open. Dhruv tells me he is busy working on “this,” and sends me <span><a class="sc-1out364-0 hMndXN sc-145m8ut-0 kVnoAv js_link" data-ga="[["Embedded Url","External link","https://motherboard.vice.com/en_us/article/gye79x/google-earth-stopped-mapping-this-military-installation",{"metric25":1}]]" href="https://motherboard.vice.com/en_us/article/gye79x/google-earth-stopped-mapping-this-military-installation" target="_blank" rel="noopener noreferrer">a Motherboard link </a></span>that doesn’t work. In the heaviest of shorthand communication, someone iMessages me an Eventbrite link; the share text indicates that their partner has succumbed in her fight against cancer, but I can’t access the Eventbrite page to confirm. (I turned off the VPN briefly to check it—it felt worth breaking the stunt.) <br/></p><p class="sc-77igqf-0 bOfvBY">We speak in links, even for the most devastating of news, and tech giants have made themselves indispensable for link translation.</p><div class="bxm4mm-15 BiRlJ js_movable_ad_slot"><div class="bxm4mm-17 dJGqTR"><label class="bxm4mm-16 evEDSN">Advertisement</label><div is="bulbs-dfp" class="ad-container dfp dfp-slot-MID_BANNER ad-middleboard" data-ad-unit="MID_BANNER" data-targeting="{"pos":"mid_banner"}"></div><div class="bt-wrapper"><span data-uid="5d1b8a6cd5-384" class="bt-uid-tg" style="display:none !important;text-align:center" data-css-selector="ad-container.ad-middleboard"></span></div></div></div><p class="sc-77igqf-0 bOfvBY">Dhruv keeps track of all the times my devices try to ping Amazon’s servers during the week. It happens nearly 300,000 times, probably in part because apps frustrated not to get a reply from the mothership <!-- -->keep<!-- --> pinging repeatedly until I close them. My devices try to reach Amazon via 3,800 different IP addresses, which suggests that there are a lot of different apps and websites attempting to connect to Amazon throughout the week.</p><p class="sc-77igqf-0 bOfvBY">My failure to succeed in a total Amazon ban doesn’t stop with the CDN problem. One day, my husband goes out to get lunch for us and comes back with sushi from Whole Foods. I eat a piece of inari before I remember I am consuming Amazon-produced food. (I am not willing to purge for the sake of the stunt.) <br/></p><p class="sc-77igqf-0 bOfvBY">Another time I unintentionally patronize Amazon is when I realize we need a phone holder for our car, one of those little plastic things that attach to the air vents. I would usually immediately order a weird doodad, probably within two minutes of realizing I needed it, using the Amazon app on my phone, but not this week. I ultimately order it from eBay. When the package arrives, however, it is a yellow envelope with the tenacious “smile” logo alongside the words “Fulfillment by Amazon”—even the eBay seller relies on it.<br/></p><p class="sc-77igqf-0 bOfvBY">Amazon has embedded itself so thoroughly into the infrastructure of modern life, and into the business models of so many companies, including its competitors, that it’s nearly impossible to avoid it. <br/></p><aside class="o6p93a-0 eGvvya"><span class="sc-196v4ms-0 hTaXkp" contenteditable="false"></span><span class="a3cloy-0 hQOwaZ">Dhruv kept track of all the times my devices tried to ping Amazon’s servers during the week. It happened nearly 300,000 times.</span><span class="sc-196v4ms-0 hTaXkp" contenteditable="false"></span></aside><div class="bxm4mm-15 BiRlJ js_movable_ad_slot"><div class="bxm4mm-17 dJGqTR"><label class="bxm4mm-16 evEDSN">Advertisement</label><div is="bulbs-dfp" class="ad-container dfp dfp-slot-MID_BANNER ad-middleboard" data-ad-unit="MID_BANNER" data-targeting="{"pos":"mid_banner"}"></div><div class="bt-wrapper"><span data-uid="5d1b8a6cd5-384" class="bt-uid-tg" style="display:none !important;text-align:center" data-css-selector="ad-container.ad-middleboard"></span></div></div></div><p class="sc-77igqf-0 bOfvBY">In her <span><a class="sc-1out364-0 hMndXN sc-145m8ut-0 kVnoAv js_link" data-ga="[["Embedded Url","External link","https://www.yalelawjournal.org/note/amazons-antitrust-paradox",{"metric25":1}]]" href="https://www.yalelawjournal.org/note/amazons-antitrust-paradox" target="_blank" rel="noopener noreferrer">blockbuster academic article</a></span>, Lina Khan, now a legal fellow at the Federal Trade Commission, argues that Amazon is breaking the spirit of antitrust law, but that regulators have failed to act because that law has evolved in a way to ignore monopolies if they result in immediate low costs to consumers. <br/></p><p class="sc-77igqf-0 bOfvBY">But Khan says that our increasing reliance on Amazon in our everyday lives carries harms that we are only beginning to see, including Amazon being able to exploit its workers (who <span><a class="sc-1out364-0 hMndXN sc-145m8ut-0 kVnoAv js_link" data-ga="[["Embedded Url","External link","https://www.thesun.co.uk/news/6055021/rushed-amazon-warehouse-staff-time-wasting/",{"metric25":1}]]" href="https://www.thesun.co.uk/news/6055021/rushed-amazon-warehouse-staff-time-wasting/" target="_blank" rel="noopener noreferrer">reportedly pee in bottles</a></span> to keep up with the company’s punishing pace), being able to massively data-mine Americans whose activity it has vast access to (meaning it could charge different people different prices based on what it knows about them, which it <span><a class="sc-1out364-0 hMndXN sc-145m8ut-0 kVnoAv js_link" data-ga="[["Embedded Url","External link","https://www.computerworld.com/article/2597093/retail-it/amazon-charging-different-prices-on-some-dvds.html",{"metric25":1}]]" href="https://www.computerworld.com/article/2597093/retail-it/amazon-charging-different-prices-on-some-dvds.html" target="_blank" rel="noopener noreferrer">experimented with in the past</a></span>), and being able to kill off competitors who would otherwise offer consumers a variety of options and prices (R.I.P. <span><a class="sc-1out364-0 hMndXN sc-145m8ut-0 kVnoAv js_link" data-ga="[["Embedded Url","External link","https://slate.com/technology/2013/10/amazon-book-how-jeff-bezos-went-thermonuclear-on-diapers-com.html",{"metric25":1}]]" href="https://slate.com/technology/2013/10/amazon-book-how-jeff-bezos-went-thermonuclear-on-diapers-com.html" target="_blank" rel="noopener noreferrer">Diapers.com</a></span>).</p><p class="sc-77igqf-0 bOfvBY">Amazon does not see itself as a monopoly. “There is an important difference between horizontal breadth and vertical depth,” said a spokesperson in a statement sent after this story was published. “We operate in a diverse range of businesses, from retail and entertainment to consumer electronics and technology services, and we have intense and well-established competition in each of these areas. Retail is our largest business and we represent less than 1% of global retail and around 4% of U.S. retail.”</p><p class="sc-77igqf-0 bOfvBY">But, based on my experience this week, I find Khan’s conclusions chilling and prescient, especially her points around Amazon’s luring third-party sellers to its site. That allows the sellers to make more money by providing access to Amazon customers in the short term, but Amazon slurps up these businesses’ data and can ultimately <span><a class="sc-1out364-0 hMndXN sc-145m8ut-0 kVnoAv js_link" data-ga="[["Embedded Url","External link","https://www.foxnews.com/tech/amazon-basics-is-killing-every-category-it-touches-including-batteries",{"metric25":1}]]" href="https://www.foxnews.com/tech/amazon-basics-is-killing-every-category-it-touches-including-batteries" target="_blank" rel="noopener noreferrer">crush them</a></span> with cheaper prices.<br/></p><p class="sc-77igqf-0 bOfvBY">Given Amazon’s access to data about many, many businesses through hosting websites via AWS, it could be collecting similar competitive data on a vast scale. In fact, in the past, it has used insights gleaned from AWS to make <span><a class="sc-1out364-0 hMndXN sc-145m8ut-0 kVnoAv js_link" data-ga="[["Embedded Url","External link","http://www.reuters.com/article/amazon-cloud-idUSN1E7A727Q20111109",{"metric25":1}]]" href="http://www.reuters.com/article/amazon-cloud-idUSN1E7A727Q20111109" target="_blank" rel="noopener noreferrer">investments in start-ups that it saw were doing gangbusters growth in its cloud</a></span>.</p><div class="bxm4mm-15 BiRlJ js_movable_ad_slot"><div class="bxm4mm-17 dJGqTR"><label class="bxm4mm-16 evEDSN">Advertisement</label><div is="bulbs-dfp" class="ad-container dfp dfp-slot-MID_BANNER ad-middleboard" data-ad-unit="MID_BANNER" data-targeting="{"pos":"mid_banner"}"></div><div class="bt-wrapper"><span data-uid="5d1b8a6cd5-384" class="bt-uid-tg" style="display:none !important;text-align:center" data-css-selector="ad-container.ad-middleboard"></span></div></div></div><p class="sc-77igqf-0 bOfvBY">“I’d be stunned if AWS product managers aren’t using data from the usage patterns of their platform to decide with whom and how to build competitive products,” said Matthew Prince, who runs Cloudflare, one of the content delivery networks that frustrated my blocker this week. “They’ve done this relentlessly in retail, there’s no reason to think they won’t use the data from their platform to do the same with digital services. Companies that use AWS are feeding critical market data directly to the company that, almost certainly, will one day be their largest competitor.”</p><p class="sc-77igqf-0 bOfvBY">Amazon did not respond to an inquiry about how it uses data gleaned <!-- -->through<!-- --> hosting other companies’ web offerings. <br/></p><p class="sc-77igqf-0 bOfvBY">Ultimately, I learn that it’s simply not an option to block Amazon permanently. It’s technically impossible given the use of CDNs, and even if we could come up with a perfect block, it would wall me off from too many crucial services and key websites that I can’t function without for both personal and professional reasons. (To be totally honest, I just like watching television shows on demand too damn much.) I can’t give up Amazon completely, but it seems like there are other people and companies out there that should be trying very hard to do so.</p><p class="sc-77igqf-0 bOfvBY">Next up: <span><a class="sc-1out364-0 hMndXN sc-145m8ut-0 kVnoAv js_link" data-ga="[["Embedded Url","Internal link","https://gizmodo.com/i-cut-facebook-out-of-my-life-surprisingly-i-missed-i-1830565456",{"metric25":1}]]" href="https://gizmodo.com/i-cut-facebook-out-of-my-life-surprisingly-i-missed-i-1830565456">Facebook</a></span>.</p><div class="wdg44t-8 dLnlzm js_newsletter-form-inline"></div><p class="sc-77igqf-0 bOfvBY"><em>This series was supported by a grant to Dhruv Mehrotra from the</em><span><a class="sc-1out364-0 hMndXN sc-145m8ut-0 kVnoAv js_link" data-ga="[["Embedded Url","External link","https://www.eyebeam.org/what-we-do/",{"metric25":1}]]" href="https://www.eyebeam.org/what-we-do/" target="_blank" rel="noopener noreferrer"><em> Eyebeam Center for the Future of Journalism.</em></a></span><br/><br/></p></div></div><div class="sc-1ib37xr-0 bgezzh"><div class="sc-1ib37xr-2 jDNXut"><div class="sc-1ib37xr-1 jLGzpe"><div class="sc-1ib37xr-3 RhQju"><a data-ga="[["Author Bio click","Author name"]]" href="/author/kashmirhill" class="sc-1ib37xr-4 cFoCAT">Kashmir Hill</a><div class="sc-1ib37xr-5 jelKu"><a href="/author/kashmirhill" data-ga="[["Author Bio click","Posts"]]" class="peggds-2 lfYBFc"><span class="iyvn34-0 bYIjtl"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" aria-label="Kinja icon" viewBox="0 0 18 18"><path d="M2.9 8.3c.7.2 1.4 1 1.7 1.5l3 4.9A2.4 2.4 0 0 0 9.7 16H14s-3-5.4-4-6.8C9.4 8.2 8.6 8 7.7 8H2s1-1 3-1h6.6c1.4 0 2-.7 2.4-1.2L16 2H7c-1.2 0-1.7.6-2.2 1.4L2 8v.1l.9.2z"></path></svg></span><label class="peggds-0 eZRbSg">Posts</label></a><a href="mailto:kashmir.hill@gizmodomedia.com" data-ga="[["Author Bio click","Email"]]" class="peggds-2 lfYBFc"><span class="iyvn34-0 bYIjtl"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" aria-label="MailFilled icon" viewBox="0 0 18 18"><path fill-rule="evenodd" d="M17 5v8a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V5c0-.12.01-.24.03-.35L8.7 10.4a.5.5 0 0 0 .6 0l7.67-5.75c.02.11.03.23.03.35zm-2-2a2 2 0 0 1 1.54.72L9 9.37 1.46 3.72A2 2 0 0 1 3 3h12z"></path></svg></span><label class="peggds-0 eZRbSg">Email</label></a><a href="https://twitter.com/kashhill" data-ga="[["Author Bio click","Twitter"]]" class="peggds-2 lfYBFc"><span class="iyvn34-0 bYIjtl"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" aria-label="Twitter icon" viewBox="0 0 18 18"><path fill-rule="evenodd" d="M12.46 1.13c-2.04 0-3.7 1.78-3.7 3.97 0 .31.04.62.1.9a10.26 10.26 0 0 1-7.6-4.15A4.2 4.2 0 0 0 2.4 7.16a3.5 3.5 0 0 1-1.68-.5v.05a3.92 3.92 0 0 0 2.97 3.9 3.45 3.45 0 0 1-1.67.07 3.74 3.74 0 0 0 3.45 2.76A7.08 7.08 0 0 1 0 15.1a9.92 9.92 0 0 0 5.66 1.79c6.8 0 10.5-6.06 10.5-11.32v-.51A7.85 7.85 0 0 0 18 2.99c-.66.32-1.37.53-2.12.63a3.95 3.95 0 0 0 1.62-2.2c-.71.45-1.5.78-2.34.96a3.57 3.57 0 0 0-2.7-1.25"></path></svg></span><label class="peggds-0 eZRbSg">Twitter</label></a></div></div><p class="sc-1ib37xr-6 ftEmcV">Kashmir Hill is the deputy editor for the Special Projects Desk, which produces investigative work across all of Gizmodo Media Group's web sites. She writes about privacy and technology.</p></div></div></div><div class="sc-18b1b2r-5 eTUqHn share-tools-static"><div><h4 class="z1qon0-0 dJabdk">Share This Story</h4><div class="js_share-tools sc-18b1b2r-0 hRfzdX" data-position="bottom"><div class="sc-17x7c2u-2 moYHu"><a href="https://facebook.com/sharer.php?u=https%3A%2F%2Fgizmodo.com%2Fi-tried-to-block-amazon-from-my-life-it-was-impossible-1830565336%3Futm_medium%3Dsharefromsite%26utm_source%3D_facebook" title="Share to Facebook" target="_blank" data-ga="[["Share Tools", "Share to Facebook","bottom"]]" class="sc-17x7c2u-0 dnOOaU"><span class="sc-17x7c2u-1 boXNUH"><span class="iyvn34-0 bYIjtl"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" aria-label="Facebook icon" viewBox="0 0 18 18"><path fill-rule="evenodd" d="M17 9.05A8.02 8.02 0 0 0 9 1C4.58 1 1 4.6 1 9.05A8.04 8.04 0 0 0 7.75 17v-5.62H5.72V9.05h2.03V7.28c0-2.02 1.2-3.14 3.02-3.14.88 0 1.8.16 1.8.16v1.98h-1.02c-.99 0-1.3.62-1.3 1.26v1.5h2.22l-.36 2.34h-1.86V17A8.04 8.04 0 0 0 17 9.05"></path></svg></span></span></a><a href="https://twitter.com/share?text=I%20Tried%20to%20Block%20Amazon%20From%20My%20Life.%20It%20Was%20Impossible&url=https%3A%2F%2Fgizmodo.com%2Fi-tried-to-block-amazon-from-my-life-it-was-impossible-1830565336%3Futm_medium%3Dsharefromsite%26utm_source%3D_twitter" title="Share to Twitter" target="_blank" data-ga="[["Share Tools", "Share to Twitter","bottom"]]" class="sc-17x7c2u-0 dnOOaU"><span class="sc-17x7c2u-1 boXNUH"><span class="iyvn34-0 bYIjtl"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" aria-label="Twitter icon" viewBox="0 0 18 18"><path fill-rule="evenodd" d="M12.46 1.13c-2.04 0-3.7 1.78-3.7 3.97 0 .31.04.62.1.9a10.26 10.26 0 0 1-7.6-4.15A4.2 4.2 0 0 0 2.4 7.16a3.5 3.5 0 0 1-1.68-.5v.05a3.92 3.92 0 0 0 2.97 3.9 3.45 3.45 0 0 1-1.67.07 3.74 3.74 0 0 0 3.45 2.76A7.08 7.08 0 0 1 0 15.1a9.92 9.92 0 0 0 5.66 1.79c6.8 0 10.5-6.06 10.5-11.32v-.51A7.85 7.85 0 0 0 18 2.99c-.66.32-1.37.53-2.12.63a3.95 3.95 0 0 0 1.62-2.2c-.71.45-1.5.78-2.34.96a3.57 3.57 0 0 0-2.7-1.25"></path></svg></span></span></a><a href="mailto:?subject=I%20Tried%20to%20Block%20Amazon%20From%20My%20Life.%20It%20Was%20Impossible&body=https%3A%2F%2Fgizmodo.com%2Fi-tried-to-block-amazon-from-my-life-it-was-impossible-1830565336%253Futm_medium%3Dsharefromsite%2526utm_source%3D_email%26utm_campaign=bottom" title="Share via Email" target="_blank" data-ga="[["Share Tools", "Share to Email","bottom"]]" class="sc-17x7c2u-0 dnOOaU"><span class="sc-17x7c2u-1 boXNUH"><span class="iyvn34-0 bYIjtl"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" aria-label="Mail icon" viewBox="0 0 18 18"><path fill-rule="evenodd" d="M14.5 3A2.5 2.5 0 0 1 17 5.5v7a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 1 12.5v-7A2.5 2.5 0 0 1 3.5 3h11zM2 5.5v7c0 .83.67 1.5 1.5 1.5h11c.83 0 1.5-.67 1.5-1.5v-7l-.03-.3-6.34 5.67a.5.5 0 0 1-.38.13.5.5 0 0 1-.38-.13l-6.7-6-.02-.02c-.1.2-.15.41-.15.64zM14.5 4h-11c-.24 0-.45.05-.65.14l6.4 5.73 6.19-5.54c-.26-.2-.58-.33-.93-.33z"></path></svg></span></span></a><a href="https://gizmodo.com/i-tried-to-block-amazon-from-my-life-it-was-impossible-1830565336" title="Share via Link" data-ga="[["Share Tools", "Copy url","bottom"]]" class="sc-17x7c2u-0 dnOOaU js_share-via-link"><span class="sc-17x7c2u-1 boXNUH"><span class="iyvn34-0 bYIjtl"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" aria-label="Link icon" viewBox="0 0 18 18"><path fill-rule="evenodd" d="M11.06 7.75a.5.5 0 1 1-.7.7l-.85-.83a1.86 1.86 0 0 0-2.63 0l-4 4a1.86 1.86 0 0 0 0 2.64l1.33 1.33c.72.73 1.91.72 2.64 0l1.8-1.8a.5.5 0 1 1 .7.7l-1.8 1.8a2.87 2.87 0 0 1-4.05 0l-1.33-1.32a2.86 2.86 0 0 1 0-4.05l4-4.01a2.86 2.86 0 0 1 4.05 0l.84.84zm5.17-4.41a2.86 2.86 0 0 1 0 4.05l-4 4.01a2.86 2.86 0 0 1-4.05 0l-.84-.84a.5.5 0 1 1 .7-.71l.85.84c.73.73 1.9.73 2.63 0l4-4c.73-.73.73-1.91 0-2.64l-1.33-1.33a1.87 1.87 0 0 0-2.64 0l-1.8 1.8a.5.5 0 1 1-.7-.7l1.8-1.8a2.87 2.87 0 0 1 4.05 0l1.33 1.32z"></path></svg></span></span></a></div></div></div><div class="sc-18b1b2r-4 bemTYH"><h4 class="z1qon0-0 dJabdk">Get our newsletter</h4><a class="sc-1out364-0 hMndXN js_link" data-ga="[["Permalink page click","Subscribe button click"]]" href="/newsletter" target="_blank"><button class="j48i5d-2 gtqrij sc-18b1b2r-3 eLUMpW"><div class="j48i5d-1 fuDdQ"><span class="iyvn34-0 bYIjtl"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" aria-label="MailFilled icon" viewBox="0 0 18 18"><path fill-rule="evenodd" d="M17 5v8a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V5c0-.12.01-.24.03-.35L8.7 10.4a.5.5 0 0 0 .6 0l7.67-5.75c.02.11.03.23.03.35zm-2-2a2 2 0 0 1 1.54.72L9 9.37 1.46 3.72A2 2 0 0 1 3 3h12z"></path></svg></span><span class="j48i5d-0 keLEgo">Subscribe</span></div></button></a></div></div><div class="js_liveblog-controls"></div><div class="js_qanda-controls"></div><div class="js_ymal-below-post"></div><div class="js_more-below-post"></div><a id="replies" name="replies"></a><div class="js_postbottom-waypoint-hook"></div><div class="sc-73739c-0 bGtOjR js_comments-iframe" data-src="//gizmodo.com/embed/comments/magma/1830565336?" data-replycount="268"><div><div class="sc-1evupmb-2 lnIjuV"><div class="gs34tp-6 jxwmMa"><article class="gs34tp-2 gGrHbP"><h3 class="gs34tp-4 eKWSBV">DISCUSSION</h3></article><div class="gs34tp-3 edLJrO"><div class="sc-1jc3ukb-0 gKbuWQ"><div class="sc-1jc3ukb-1 flaMVg"><div><img src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" srcSet="https://i.kinja-img.com/gawker-media/image/upload/c_fill,f_auto,fl_progressive,g_center,h_180,pg_1,q_80,w_320/19d6ohyl7fj1ijpg.jpg 320w, https://i.kinja-img.com/gawker-media/image/upload/c_fill,f_auto,fl_progressive,g_center,h_264,pg_1,q_80,w_470/19d6ohyl7fj1ijpg.jpg 470w, https://i.kinja-img.com/gawker-media/image/upload/c_fill,f_auto,fl_progressive,g_center,h_450,pg_1,q_80,w_800/19d6ohyl7fj1ijpg.jpg 800w, https://i.kinja-img.com/gawker-media/image/upload/c_fill,f_auto,fl_progressive,g_center,h_675,pg_1,q_80,w_1200/19d6ohyl7fj1ijpg.jpg 1200w, https://i.kinja-img.com/gawker-media/image/upload/c_fill,f_auto,fl_progressive,g_center,h_900,pg_1,q_80,w_1600/19d6ohyl7fj1ijpg.jpg 1600w, https://i.kinja-img.com/gawker-media/image/upload/c_fill,f_auto,fl_progressive,g_center,h_80,pg_1,q_80,w_80/19d6ohyl7fj1ijpg.jpg 80w" sizes="40px" alt="UpIrons" draggable="auto" data-chomp-id="19d6ohyl7fj1ijpg" data-format="jpg" data-alt="UpIrons" data-anim-src=""/></div></div><div class="sc-1jc3ukb-2 bjqgub"><div class="sc-1jc3ukb-3 hOuZKZ"><div class="sc-1mep9y1-0 sc-1ixdk2y-0 fCQpxO"><span>UpIrons</span></div></div><div class="sc-1jc3ukb-4 iOvcxk"><time class="uhd9ir-0 gWMcOL" dateTime="2019-01-22T13:49:22-05:00"><a class="sc-1out364-0 hMndXN js_meta-time js_link" data-ga="[["Permalink page click","Permalink page click - post header","standard"]]">1/22/19 1:49PM</a></time></div></div></div></div><div class="gs34tp-0 hYjyYh"><p class="sc-77igqf-0 bOfvBY">This is why it’s so scary to be one of the people that are banned from Amazon for doing too many returns. Just google that because the horror stories are real. </p><p class="sc-77igqf-0 bOfvBY">I got a message last year from Amazon asking if I was having problems with their service because I had so many returns and I think it was code for “We’re watching you, one more return and you’re banned” so I am now afraid to buy anything from Amazon that I would even half consider returning. THAT is how powerful Amazon has become!</p></div><button class="j48i5d-2 huUfNr gs34tp-1 fvDBog js_comments-button--show"><div class="j48i5d-1 fuDdQ"><span class="j48i5d-0 keLEgo">See all replies</span></div></button></div></div></div></div><div class="sc-73739c-3 cQhMko"><div id="taboola-below-article-thumbnails" class="sc-73739c-2 gaZVrz"></div></div><div class="sc-1bdg1q0-0 eRJXHT js_sticky-footer"><div class="sc-1bdg1q0-1 wircm js_ad-sticky-footer"></div></div></div></div></div><div is="bulbs-dfp" class="ad-container dfp dfp-slot-INFINITE_PROMOTION ad-infinite-promotion" data-ad-unit="INFINITE_PROMOTION" data-pp-position="scroll" data-targeting="{"pos":"scroll","pp_position":"scroll"}"></div><div class="js_reading-list"></div><div class="sc-1cfejv7-0 hLOPcM js_subscribe"></div><div class="js_footer-container"></div><div class="js_lightbox-container"></div></div><script id="render-data" type="application/json">{"blog":{"id":"4","name":"gizmodo","displayName":"Gizmodo","canonicalHostOriginal":"gizmodo.com","hosts":["hoptech431.gizmodo.com","lego.gizmodo.com","throb.gizmodo.com","ca.gizmodo.com","gizmodo.kinja.com","i.gizmodo.com","wearables.gizmodo.com","truecrime.io9.com","bite.gizmodo.com","animals.io9.com","doctorwhoio9.kinja.com","reframe.gizmodo.com","doctorwho.io9.com","fieldguide.gizmodo.com","indefinitelywild.gizmodo.com","live.gizmodo.com","animals.kinja.com","education.gizmodo.com","doctorwho.gizmodo.com","nl.gizmodo.com","homeofthefuture.gizmodo.com","southland.gizmodo.com","toybox.io9.com","20khz.gizmodo.com","animation.gizmodo.com","education.kinja.com","foodlab.gizmodo.com","animalsx.kinja.com","backalley.gizmodo.com","toybox.gizmodo.com","toybox.kinja.com","au.gizmodo.com","space.io9.com","offworld.gizmodo.com","old.gizmodo.com","fetch.gizmodo.com","truecrimeio9.kinja.com","animation.io9.com","truecrime.gizmodo.com","001.gizmodo.com","disquiet.gizmodo.com","www.gizmodo.com","gizmodo.in","gizmodo.co.in","space.gizmodo.com","assets.gizmodo.com","io9education.kinja.com","ru.gizmodo.com","m.gizmodo.com","education.io9.com","blog.gizmodo.com","gifmodo.gizmodo.com","animals.gizmodo.com","upgrade.gizmodo.com","reviews.gizmodo.com","us.gizmodo.com","ces.gizmodo.com","animation.kinja.com","toyland.gizmodo.com","sploid.gizmodo.com","pl.gizmodo.com","upgrade.io9.com","factually.gizmodo.com","br.gizmodo.com","upgrade.kinja.com"],"status":"ENABLED","timezone":"America/New_York","timezoneOffset":-14400000,"createTimeMillis":1354577350531,"ownerId":"5778843333877375210","description":"We come from the future","properties":{"logoLink":"https://x.kinja-static.com/assets/images/logos/newsletter/gizmodo-500px.png","aboutPostId":5732042,"recircGroup":"fmgNonSatire","twitterScreenName":"gizmodo","channelPageMetaDescription":"Everything you ever wanted to know about {channel}. News, stories, photos, videos and more.","hideViewcounts":true,"metaTitle":"Gizmodo | Tech and Science Tips, Reviews, News And More","videoNetwork":"gizmodo","googleAnalyticsID":"UA-142218-3","pianoSandboxAid":"VFrbPA6HDf","fbPagesId":"5718758966","ampLogoLink":"https://x.kinja-static.com/assets/images/logos/amp/logo-gizmodo-amp.png","storyTypePageDescription":"Everything you ever wanted to know about {storyType}. News, stories, photos, videos and more.","isSearchable":true,"facebookScreenName":"gizmodo","GANJA_IGNORE_GEO":["us.gizmodo.com"],"stickyAdunitCode":"1589312126519-0","skimLinkId":"33330X911642","mainColor":"#28ADE6","navigationGroup":"fmg","storyTypePageTitle":"{storyType} - Tech and Science Tips, Reviews, News And More. | Gizmodo","robotsAllowed":true,"isGmgBlog":true,"stickyAdunitName":"Gizmodo","youtubeUrl":"https://www.youtube.com/channel/UCxFmw3IUMDUC1Hh7qDjtjZQ","isPromotionTarget":true,"alexaId":"gmg-gizmodo","instagramScreenName":"gizmodo","blogGroup":"gizmodo","surveyMonkeyId":"tRaiETqnLgj758hTBazgd9aGhQXN9MFIogu6MdhA80UKDl83b9aj4ZXRNXcsc9BH","facebookPixelId":"852713628239858","singleOptIn":true,"restrictedHomepageLayoutEditing":true,"trackonomicsCustomerId":"gomedia_015a5_gizmodo","chartbeatPopularPosts":true,"channelPageMetaTitle":"{channel} - Tech and Science Tips, Reviews, News And More. | Gizmodo","pianoProdAid":"ZpCykEM7YO","tagPageDescription":"All of Gizmodo's {tag} coverage. News, stories, photos, videos and more.","globalVideoPage":true,"cxenseSiteId":"1143002304403762051","template":"gizmodo","googleSiteVerification":"Sc6OGUq5heWyOLFpCb_2K6mX7vFrWKGANts4QDUmgOY","tagPageTitle":"{tag} - Tech and Science Tips, Reviews, News And More. | Gizmodo","metaDescription":"We come from the future.","newsletter":true,"fbAppId":"44615671688","campaignMonitorNewsletterName":"Gizmodo_Daily","adsTxtEnabled":true},"avatar":{"id":"fdj3buryz5nuzyf2k620","format":"png","isAnimated":false,"frozenFormat":"png"},"logo":{"id":"wvhsuflzmeoo0zr9ex55","format":"png","isAnimated":false,"frozenFormat":"png"}},"blogSales":{"id":"4","amazonInsetsEnabled":true,"amazonAffiliateTag":"gizmodoamzn-20","adsEnabled":true,"adNetworkId":4246,"adSiteName":"gm.gizmodo","indexExchangeWebSiteId":"12515575323306","indexExchangeAmpSiteId":"272207","bouncexId":"3589","blogNetworkId":null,"tagsExcludedFromPartnerRss":["nsfw","metapost","externalPost"],"tagsForceSynced":["dyson","shooting-challenge","fitmodo"],"adSlotsDisabled":[]},"commerceInsets":[{"id":"4998","productTitle":"Eternal Stress Relief Shiatsu Back and Neck Massager with Heat","productImage":{"id":"cb2597ff4ee58f82385c7442c592f7e6","format":"jpg","isAnimated":false,"frozenFormat":"jpg"},"embargoDate":"","expirationDate":"","insetContent":[],"insetLabel":"","partnerLinks":[{"vendor":"$25 at SideDeal","url":"https://sidedeal.com/deals/eternal-stress-relief-shiatsu-back-and-neck-massager-with-heat-27?affiliate=5e9630cd2c61980cb0a26c4e","discountPrice":null,"discountCode":null}],"position":{"position":1,"pinned":true},"slug":""},{"id":"5000","productTitle":"Hisense 55\" H9G Quantum Series LED 4K UHD Smart Android TV","productImage":{"id":"c627710f551f17715f7b4fabc3fc0b8a","format":"jpg","isAnimated":false,"frozenFormat":"jpg"},"embargoDate":"","expirationDate":"","insetContent":[],"insetLabel":"","partnerLinks":[{"vendor":"$650 at Best Buy","url":"https://shop-links.co/1739425052449369132","discountPrice":null,"discountCode":null}],"position":{"position":2,"pinned":true},"slug":""}],"disableAds":false,"discussionSetting":{"mode":"Normal","postId":"1830565336","sort":"asc","staffIncluded":false,"status":"Queued"},"features":{"superuser":false,"no3rdparty":false,"disablereplyimages":false,"simplereach_expanded":true,"analyticstracking":true,"scribe_debug":false,"frontendtiming":true,"dfp_form_related_promotions":false,"geo_features":false,"privacypolicy":false,"force_advanced_toolbar":false,"revealanalytics":false,"global_video_page":true,"csp":false,"disable_confirmation_message":false,"scribe_debug_expose_html":false,"infinite_scroll":true,"infinite_promotion":true,"smartnews_ads":false,"force_show_video_search":false,"amazon_georedirect":false,"force_review_button":false,"lightbox_newsletter_script":false,"chartbeat_video":true,"nofollowedblogs":false,"amazon_aps_tag":true,"google_remarketing":false,"hide_footer_content_guide":false,"fun_authenticated":false,"frontpage_recentvideo":true,"dynamic_edit_video":true,"input_nav_bar":false,"scroll_vendor":true,"homepage_video_playlist":true,"storytype_boilerplate":true,"hide_ellipsis":true,"fun_errorpages":true,"devtools":false,"smartcrop":true,"eu_disabled":false,"post_versioning":true,"pride_logos":false,"pure_save_button":true,"enable_experiments":false,"experimental_scores":true,"external_post_options":false,"enable_custom_subscribe_copy":false,"csp_strict":false,"disable_skimlinks":true,"styled_browser_bar":false,"csp_strict_variant1":false,"csp_strict_variant2":false,"csp_strict_variant3":false,"csp_strict_variant4":false,"bucketcookies":false,"image_attr_url_validation":false,"editor_link_insert_validation":false,"meta_first":true,"second_scroll_var1":false,"second_scroll_var2":false,"native_stream_magma_rendered":false,"multiauthor_byline_toggle":false,"subscription_module_amp":true,"native_sidebar_magma_rendered":true,"prebid":true,"blockthrough":true,"native_stream_magma_rendered_phase_2":true,"jwuploader_test_property":false,"grid_standard":false,"new_static_stream_header":true,"legacy_embiggen":true,"show_grid_overlay":false,"native_stream_magma_rendered_phase_3":false,"enable_bouncex":true,"survey_popup":false,"disable_ad_rule":false,"triplelift_enable":false,"enable_ga_exps":false,"native_stream_magma_rendered_phase_3_with_excerpts":true,"native_stream_magma_rendered_phase_2_with_excerpts":false,"native_stream_magma_rendered_test":false,"blockthrough_wait_5sec":false,"blockthrough_wait_3sec":false,"native_recirc_magma_rendered_test":false,"native_recirc_magma_rendered":true,"native_sidebar_magma_rendered_test":false,"newsletter_popup":false,"custom_kinja_standalone":true,"inarticle_player_2nd_node":false,"magma_permalink_video_truncation":true,"featured_ads_four":false,"featured_ads_two":false,"second_scroll_client":false,"curation_toggle":true,"restore_images":true,"disable_nongmg_kinjas":false,"slideshow":true,"no_ads":false,"only_left_top_ad":false,"mobilead_three_nodes":false,"mobilead_three_nodes_amp":false,"devcon_script":false,"magma_amp_inarticle_videos":true,"survey_popup_permalink":true,"curated_homepage":true,"wide_rail":false,"feature_policy_header":false,"amazon_wait_for_bids":true,"recirc_sidebar":true,"load_dfp_statically":true,"ddrum":true,"taboola_lazy_load":true,"sourcepoint_ccpa":true,"specless_splashy_size":false,"sponsor_badge":false,"videojs_debug":false,"permalink_video_playlist":true,"refinitiv":false,"header_anchor_tags":true,"revcontent":false,"digitrust_disable":true,"chartbeat_disable":false,"nielsen_disable":true,"fb_pixel_disable":true,"fastly_fs_test":false,"ats_enabled":false,"prebid_video":true,"curated_tagpage":false,"header_simple_render":true,"parent_has_curated_homepage":false,"improved_comment_loading":false,"medianet_headerbidding":true,"comment_nofollow":true,"curated_storytypepage":false,"filter_old_articles":true,"tag_follow_overwrite":true,"sidebar_ad_whitespace":true,"bulbs_debug":false,"ad_timeout_amazon":true,"ad_timeout_prebid":true,"ad_timeout_failsafe":true,"enable_html_sitemap":true,"count_later_posts":false,"dynamic_ads_in_ads_bundle":true,"ad_script_in_head":true,"medianet_headerbidding_amp":true,"video_lazy_load":false,"comments_taboola_ad":false,"improved_comment_preloading":false,"connatix":true,"vpaid_insecure_mode":false,"use_ad_manager":true,"ad_mobile_after_first":true,"curated_big_story_settings":true,"comments_taboola_ad_header":false,"digitrust_delay_load":false,"connatix_3rd_slot":false,"comments_taboola_ad_sooner":false,"prebid_autoconfig":true,"britepool_identity":true,"amp_track_tag":false,"sidebar_recent_video_frontpage":false,"rail_video_stickiness_1500":false,"curated_extra_autofill":true,"sticky_mobile_320":true,"comments_taboola_ad_amp":false,"comscore_head":false,"hide_sticky_social":true,"preroll_test_ad":false,"prebid_verizon":true,"cd_on_block":true,"post_opinion_toggle":false,"fb_news":false,"force_image_rights":true,"prebid_sonobi":false,"sticky_video_first_slot_mobile":true,"show_splashy_top":true,"connatix_mobile":true,"card_label_by_blog":true,"devcon_detect":false,"prebid_trustx":true,"magma_second_scroll":true,"google_adsense":false,"disqus_comments":false,"eager_load_ga":true,"taboola_feed_homepage":true,"stronger_homepage_headers":true,"speedcurve_lux":true,"spotim_comments":false,"ix_identity_tag":true,"ad_lightning_tag":true,"welcome_ad_desktop":false,"display_sidebar_non_network":true,"kinja_magma_newsletter_enabled":true,"goauthorurl":true,"newsletter_use_subscription_api":true,"lazyload_youtube_iframe":true,"lazyload_twitter_iframe":true,"welcome_ad_mobile_enable":false,"connatix_homepage":true,"comments_permalink_preview":false,"comments_on_demand_enable":true,"lazyload_iframes":true,"amp_welcome_ad_mobile_enable":false,"trackonomics":true,"image_rights_bulk":true,"cls":true,"ads_txt_staging":false,"video_autoplay_analytics":true,"newsletter_subdomain_themes_buttons":true,"fixed_height_featuredstory":true,"ad_top_banner_to_featured_permalinks":true,"trackonomics_amp":false,"seo_content_first":true,"comments_on_demand_cached_enable":true,"ad_after_first_in_featured_permalinks":true,"featured_ads_five":true,"homepage_metadata_settings":true,"welcome_ad_desktop_debug":false,"seo_remove_headline_link":true,"amp_slideshow":true,"slideshow_sticky_ads":false,"prebid_version_update_staging":false,"magazine_featured_video":false,"primary_header_h1":true,"sticky_ads_2s":true,"block_header_category_dropdown":false,"homepage_6block_no_header_settings":false,"homepage_video_filtering":true,"videos_filter_with_posts":true,"webm_optimize":true,"leaderboard_collapse_issue_fix":true,"newsletter_popup_exit_intent":true,"fs_lightbox_img_full_height":false,"short_whitelisted_check":true,"root_institute_layout":false,"commenter_no_crawlable":true,"gmg_profiles_crawlable_only":true,"welcome_ad_analytics":true,"seo_stream_page_excerpts":true,"video_midroll":false,"homepage_full_width_video":false,"remove_h_tags_from_sidebar":true,"prebid_analytics":true,"filter_kinja_meta":true,"hp_smaller_images":true,"video_admin_midroll":false,"force_load_comments_from_notifications":false,"meta_social_description":true,"mobile_comments_scroll_fix":true,"amp_publisher_logo":true,"no_follow_comment_links":true,"homepage_full_width_video_xxl":false,"show_top_banner_on_mobile":false,"cls_mobile_inpost":true,"amp_video_extra_events":true,"seo_iframe_noindex":true,"allow_blips":false,"cls_adapted_ads":false,"video_autoplay_retry":false,"exclude_first_reply_on_disabled_comments":false,"image_rights_alt_title":true,"redirect_root_institute_header":false,"root_institute_layout_nav":false,"image_rights_hide_credit":true,"showcase_post_query_params_token":true,"welcome_ad_freq_cap":true,"more_from_pin_promo_story":false,"fivecardcarousel":false,"post_reshare_preserve_parent":true,"fix_featured_story_image":false,"connatix_lazyload":false,"remove_sticky_h1":true,"author_page_canonical":true,"second_scroll_scope":true,"missing_image_alts":true,"taxonomy":true,"newsletter_inline_form_enabled":true,"movable_ads_tool_shift_fix":true,"homepage_full_width_video_jalopnik":false,"original_comments_link":false,"image_rights_with_notes":true,"video_filter_permalinks":false,"display_message_bar":false,"hide_disclaimers_in_excerpts":true,"restrict_blog_membership":true,"blip_show_first_sentence":false,"valid_url_anchors":false,"newsletter_popup_exit_intent_analitycs":true,"slideshow_adzone_override":true,"video_thumbnail_fix":true,"prevent_side_video_autoplay":false,"force_exit_intent_popup":false,"sidebar_remove_native_promo":true,"sidebar_remove_newsletter_promo":true,"jalopnik_with_browse":false,"client_sidebar_blocks":true,"medianet_preload":true,"seo_noimageindex":true,"cls_adapted_mainv2":false,"expanded_image_srcset":true,"show_newsletter_ad":true,"report_an_issue_new_form":true,"esp_disable_video_section":false,"blog_logo_refactor":false,"cls_splashytop":false,"crop_modal_align":true,"section_nav_ga_events":true,"homepage_fullbleed_settings":false,"collapsed_top_ad":true,"taboola_treshold_300":false,"disable_edit_tags":true,"kargo_amp":false,"top_message_bar_enough":false,"top_message_bar_vote2020":false,"top_message_bar_primeday":false,"responsive_image_sizes":false,"newsletter_modal_subdomain":true,"comments_filter_first_reply":false,"specialsection_remove_top_ad":false,"newsletter_footer_use_inline_form":true,"defer_ad_script":false,"mei_autoplay_videos":false,"video_hydration_lazyload":true,"adsafeguard_enabled":false,"video_lazy_load_delay":true,"disguise_video_links_as_videos":true,"freeze_poster_gif":false,"newsletter_exit_intent_supress":true,"homepage_versioning":true,"disable_custom_fonts":false,"editor_unload_3rdparty":true,"disable_link_rendering_in_comments":true,"newsletter_exit_intent_form_v2":true,"editor_suppress_3rdparty":false,"disable_link_support_in_comment_form":false,"welcome_ad_shared_cookie":false,"cls_adapted_main":true,"cls_sidebar_video":true,"cls_sidebar_ymal":true,"cls_topad_tall":true,"cls_topad_median":false,"cls_topmessagebar":false,"fix_fivecard_imagesize":true,"curated_homepage_responsive_image_sizes":true,"front_page_responsive_image_sizes":true,"sidebar_responsive_image_sizes":true,"image_node_responsive_image_sizes":true,"dis_infinite_slot_eager":true,"homepage_latest_split":true,"smaller_hp_logo_sizes":true,"homepage_layout_admin_only":true,"sourcepoint_keyval":true,"sourcepoint_header":true,"go_author_tabs":true,"disable_elizabeth":true,"welcome_ad_freq_cap_2hr":false,"lux_sample_rate_30":false,"ymal_more_on_post":true,"applenews_inline_subscription":true,"no_preload_slideshows":true,"amp_disable_after_2w":true,"commerce_inset_grid":true,"newsletter_popup_exit_intent_mobile":true,"swappable_mobile_ad":true,"second_scroll_responsive_image_sizes":true,"truncate_permalink_content":true,"author_page_canonical_seo":true,"homepage_most_searched_autofill":true,"video_card_use_video_title":true,"fastly_video_api":true,"smaller_dynamic_container":true,"newsletter_gam":false,"slideshow_hide_slide_number":true,"category_selector_grid":true,"simple_stream_story_card":false,"login_cookie":true,"hide_comments_count":false,"alerts_modal":true,"alerts_inline":false,"disable_lazy_ymal":true,"disable_lazy_mfn":true,"taboola_before_footer":false,"frontpage_sticky_leaderboard":true,"welcomead_blog_control":false,"homepage_sticky_ads_4s":true,"tag_noindex_nofollow":true,"superhero_cls_fix":false,"primary_header_flat":true,"mutually_exclusive_superhero_and_leaderboard":false,"us_only_superhero":true,"su_manage_blog_dropdown":true,"ads_viewability_desktop":true,"ads_viewability_mobile":true,"merge_price_vendor":true,"alerts_sidebar":true,"amp_sticky_ad":true,"newsletter_email_v2":false,"superhero_frequency_capping":true,"cd_on_commerce_blogs":false,"sticky_mobile_320_bulbs":true,"hide_link_preview":false,"editor_channel_selector":false,"related_stories_inset":true,"zzz_test_fs_no_effecto":false,"channel_section":false,"curated_channel_section":false,"zoli_test":true,"eagerload_billboard":true,"new_test_fs":true,"video_permalink_play_next":false,"seo_refresh_homepage":false,"seo_refresh_homepage_test":false},"categorizationData":null,"navItems":[{"index":1,"siteNavItem":{"urlOriginal":"https://gizmodo.com/c/reviews","displayName":"Reviews","tagline":"No-bullshit reviews of all your favorite products."},"active":false,"url":"https://gizmodo.com/c/reviews","displayName":"Reviews","tagline":"No-bullshit reviews of all your favorite products."},{"index":2,"siteNavItem":{"urlOriginal":"https://earther.gizmodo.com/","displayName":"Earther","tagline":"Nature for nerds: Earther covers all things climate, science, and environmental","avatar":{"id":"eir2ldhuj6n1thhxrcpq","format":"png","isAnimated":false,"frozenFormat":"png"}},"active":false,"url":"https://earther.gizmodo.com/","displayName":"Earther","tagline":"Nature for nerds: Earther covers all things climate, science, and environmental","avatar":{"id":"eir2ldhuj6n1thhxrcpq","format":"png","isAnimated":false,"frozenFormat":"png"}},{"index":3,"siteNavItem":{"urlOriginal":"https://gizmodo.com/c/science","displayName":"Science","tagline":"The top stories on physics, space, health, animals, archeology, and more"},"active":false,"url":"https://gizmodo.com/c/science","displayName":"Science","tagline":"The top stories on physics, space, health, animals, archeology, and more"},{"index":4,"siteNavItem":{"urlOriginal":"https://io9.gizmodo.com/","displayName":"io9","tagline":"All the top news about comics, Sci-Fi, and fantasy.","avatar":{"id":"eh1hvjxamru5z6aobgwc","format":"png","isAnimated":false,"frozenFormat":"png"}},"active":false,"url":"https://io9.gizmodo.com/","displayName":"io9","tagline":"All the top news about comics, Sci-Fi, and fantasy.","avatar":{"id":"eh1hvjxamru5z6aobgwc","format":"png","isAnimated":false,"frozenFormat":"png"}},{"index":5,"siteNavItem":{"urlOriginal":"https://gizmodo.com/c/field-guide","displayName":"Field Guide","tagline":"A guide to gadgets and how to make them work for you."},"active":false,"url":"https://gizmodo.com/c/field-guide","displayName":"Field Guide","tagline":"A guide to gadgets and how to make them work for you."},{"index":6,"siteNavItem":{"urlOriginal":"https://gizmodo.com/video","displayName":"Video","tagline":"All of Gizmodo's video coverage"},"active":false,"url":"https://gizmodo.com/video","displayName":"Video","tagline":"All of Gizmodo's video coverage"}],"title":"I Tried to Block Amazon From My Life. It Was Impossible","pageType":"permalink","parentBlog":null,"preventAutoPlayInSideRail":false,"post":{"postHeadline":"I Tried to Block Amazon From My Life. It Was Impossible","postFormattedHeadline":"I Tried to Block Amazon From My Life. It Was Impossible","postPermalink":"https://gizmodo.com/i-tried-to-block-amazon-from-my-life-it-was-impossible-1830565336","adZone":"targetbridgequarantine","featuredMedia":{"id":"116221","thumbnail":{"id":"lo1ez5ztjjkhenx0tgpa","format":"jpg"},"alignment":"Bleed","caption":[],"isLooping":false,"type":"KinjaVideo"},"featuredVideo":{"id":"116221","status":"Complete","metaStatus":"Complete","updatedTimestamp":"2019-06-11T06:26:57-04:00[America/New_York]","title":"Blocking the Tech Giants, Week 1: Amazon","description":"\n I spent six weeks blocking Amazon, Facebook, Google, Microsoft, and Apple from getting my money, data, and attention, using a custom-built VPN. Here’s what happened with Amazon.\n ","programId":"1486","tags":["Amazon","Dhruv Mehrotra","Kashmir Hill","Myra Iqbal","Silicon Valley","amazon web services","apple","attention","blocking the tech giants","data","facebook","gizmodo","google","google cloud","microsoft","oculus","tech giants","technology","vpn"],"addedBy":null,"publishedTimestamp":"2019-01-17T14:10:00-05:00[America/New_York]","publishTimeMillis":1547752200000,"language":"en","monetizable":true,"videoPage":true,"videoRecirc":true,"midrollCuePoints":[],"network":"gizmodo","program":null,"isLooping":false,"hasVideo":true,"hasAudio":true,"streamingUrl":"https://kinja-vh.akamaihd.net/i/prod/116221/116221_,180p,270p,406p,720p,1080p,.mp4.csmil/master.m3u8","fastlyUrl":"https://kinja-otfp.global.ssl.fastly.net/116221/116221_180p,270p,406p,720p,1080p.m3u8","akamaiUrl":"https://kinja-vh.akamaihd.net/i/prod/116221/116221_,180p,270p,406p,720p,1080p,.mp4.csmil/master.m3u8","captions":[{"id":"12647","language":"en","label":"en","format":"vtt","url":"https://kinja.com/api/videoupload/caption/12647.vtt"}],"poster":{"id":"lo1ez5ztjjkhenx0tgpa","format":"jpg"},"duration":553},"replyCount":268,"featuredHeaderLayout":"Default","embeddedVideos":[],"inPostCommerceInsets":[],"shareUrls":{"facebookShareUrl":"https://facebook.com/sharer.php?u=https%3A%2F%2Fgizmodo.com%2Fi-tried-to-block-amazon-from-my-life-it-was-impossible-1830565336%3Futm_medium%3Dsharefromsite%26utm_source%3D_facebook","twitterShareUrl":"https://twitter.com/share?text=I%20Tried%20to%20Block%20Amazon%20From%20My%20Life.%20It%20Was%20Impossible&url=https%3A%2F%2Fgizmodo.com%2Fi-tried-to-block-amazon-from-my-life-it-was-impossible-1830565336%3Futm_medium%3Dsharefromsite%26utm_source%3D_twitter","emailShareUrl":"mailto:?subject=I%20Tried%20to%20Block%20Amazon%20From%20My%20Life.%20It%20Was%20Impossible&body=https%3A%2F%2Fgizmodo.com%2Fi-tried-to-block-amazon-from-my-life-it-was-impossible-1830565336%253Futm_medium%3Dsharefromsite%2526utm_source%3D_email","permalink":"https://gizmodo.com/i-tried-to-block-amazon-from-my-life-it-was-impossible-1830565336"},"videoPermalinkRecircPosts":{}},"postId":"1830565336","isRecent":true,"postHeadline":"I Tried to Block Amazon From My Life. It Was Impossible","postIsStarter":true,"postIsFeatured":true,"postIsSponsored":false,"postIsVideo":false,"postType":"FEATURED","qAndAParticipants":[],"authorIds":["5876237249237034809"],"tags":[{"canonical":"blockingthetechgiants","urlName":"blocking-the-tech-giants","displayName":"Blocking the tech giants"},{"canonical":"amazon","urlName":"amazon","displayName":"Amazon"},{"canonical":"video","urlName":"video","displayName":"video"}],"refinitivTags":null,"scrollListItems":["1846808821","1846808399","1846805602","1846804974","1846804316","1846802874","1846801703","1846801761","1846799379","1846801480","1846801378","1846801117","1846696152","1846799540","1846799659","1846800347","1846799519","1846799718","1846799234","1846798255"],"cookies":{},"categoryList":"goodbye-big-five","showWelcomeAd":true,"showSuperheroAd":true,"showLeaderboardAd":true}</script><script id="kinja-data" type="application/json">{"meta":{"blog":{"id":"4","name":"gizmodo","displayName":"Gizmodo","canonicalHost":"gizmodo.com","properties":{"logoLink":"https://x.kinja-static.com/assets/images/logos/newsletter/gizmodo-500px.png","aboutPostId":5732042,"recircGroup":"fmgNonSatire","twitterScreenName":"gizmodo","channelPageMetaDescription":"Everything you ever wanted to know about {channel}. News, stories, photos, videos and more.","hideViewcounts":true,"metaTitle":"Gizmodo | Tech and Science Tips, Reviews, News And More","videoNetwork":"gizmodo","googleAnalyticsID":"UA-142218-3","pianoSandboxAid":"VFrbPA6HDf","fbPagesId":"5718758966","ampLogoLink":"https://x.kinja-static.com/assets/images/logos/amp/logo-gizmodo-amp.png","storyTypePageDescription":"Everything you ever wanted to know about {storyType}. News, stories, photos, videos and more.","isSearchable":true,"facebookScreenName":"gizmodo","GANJA_IGNORE_GEO":["us.gizmodo.com"],"stickyAdunitCode":"1589312126519-0","skimLinkId":"33330X911642","mainColor":"#28ADE6","navigationGroup":"fmg","storyTypePageTitle":"{storyType} - Tech and Science Tips, Reviews, News And More. | Gizmodo","robotsAllowed":true,"isGmgBlog":true,"stickyAdunitName":"Gizmodo","youtubeUrl":"https://www.youtube.com/channel/UCxFmw3IUMDUC1Hh7qDjtjZQ","isPromotionTarget":true,"alexaId":"gmg-gizmodo","instagramScreenName":"gizmodo","blogGroup":"gizmodo","surveyMonkeyId":"tRaiETqnLgj758hTBazgd9aGhQXN9MFIogu6MdhA80UKDl83b9aj4ZXRNXcsc9BH","facebookPixelId":"852713628239858","singleOptIn":true,"restrictedHomepageLayoutEditing":true,"trackonomicsCustomerId":"gomedia_015a5_gizmodo","chartbeatPopularPosts":true,"channelPageMetaTitle":"{channel} - Tech and Science Tips, Reviews, News And More. | Gizmodo","pianoProdAid":"ZpCykEM7YO","tagPageDescription":"All of Gizmodo's {tag} coverage. News, stories, photos, videos and more.","globalVideoPage":true,"cxenseSiteId":"1143002304403762051","template":"gizmodo","googleSiteVerification":"Sc6OGUq5heWyOLFpCb_2K6mX7vFrWKGANts4QDUmgOY","tagPageTitle":"{tag} - Tech and Science Tips, Reviews, News And More. | Gizmodo","metaDescription":"We come from the future.","newsletter":true,"fbAppId":"44615671688","campaignMonitorNewsletterName":"Gizmodo_Daily","adsTxtEnabled":true},"twitterScreenName":"gizmodo","googleAnalyticsID":"UA-142218-3","facebookScreenName":"gizmodo","stickyAdunitCode":"1589312126519-0","stickyAdunitName":"Gizmodo","youtubeUrl":"https://www.youtube.com/channel/UCxFmw3IUMDUC1Hh7qDjtjZQ","instagramScreenName":"gizmodo","blogGroup":"gizmodo","surveyMonkeyId":"tRaiETqnLgj758hTBazgd9aGhQXN9MFIogu6MdhA80UKDl83b9aj4ZXRNXcsc9BH","trackonomicsCustomerId":"gomedia_015a5_gizmodo"},"host":"gizmodo.com","syncFeatures":"","customFeatures":[],"authors":[{"id":"5876237249237034809","screenName":"kashmirhill","displayName":"Kashmir Hill","status":"enabled","isSuperuser":false,"isSales":false,"isMarketing":false,"isHomepageAdmin":false,"avatar":{"id":"rbh0o3kdvxucqporvizl","format":"png","isAnimated":false,"frozenFormat":"png"},"token":null,"membership":[],"remotes":{},"authName":null,"isEditStaff":false,"createdMillis":1491237699000,"confirmedEmail":null}],"categorizationData":null,"post":{"adZone":"targetbridgequarantine","author":{"displayName":"Kashmir Hill"},"gaDimensions":{"gaVideoIds":"kinjavideo-116221,","wordCount":2880,"wordCountBucket":"2800 - 3000"},"headline":"I Tried to Block Amazon From My Life. It Was Impossible","id":"1830565336","isFeatured":true,"isVideo":false,"isSlideshow":false,"slideIndex":null,"permalink":"https://gizmodo.com/i-tried-to-block-amazon-from-my-life-it-was-impossible-1830565336","postPosition":0,"publishTimeMillis":1548175500336,"sponsored":false,"isStarter":true,"starterId":"1830565336","storyType":{"title":"Goodbye Big Five","id":"1807"},"tags":[{"canonical":"blockingthetechgiants","urlName":"blocking-the-tech-giants","displayName":"Blocking the tech giants"},{"canonical":"amazon","urlName":"amazon","displayName":"Amazon"},{"canonical":"video","urlName":"video","displayName":"video"}],"truncation":false,"hasVideos":false},"blogSales":{"id":"4","amazonInsetsEnabled":true,"amazonAffiliateTag":"gizmodoamzn-20","adsEnabled":true,"adNetworkId":4246,"adSiteName":"gm.gizmodo","indexExchangeWebSiteId":"12515575323306","indexExchangeAmpSiteId":"272207","bouncexId":"3589","blogNetworkId":null,"tagsExcludedFromPartnerRss":["nsfw","metapost","externalPost"],"tagsForceSynced":["dyson","shooting-challenge","fitmodo"],"adSlotsDisabled":[]},"pageType":"permalink","environmentDesc":"production:magma","isScrollActive":false},"categoryMeta":{"categories":"goodbye-big-five"},"channelMeta":{"channel":"","section":"","subsection":""},"tagMeta":{"tags":"blocking the tech giants,amazon,video"}}</script><script> + const kinjaDataElement = document.getElementById('kinja-data'); + window.kinja = kinjaDataElement && JSON.parse(kinjaDataElement.textContent || kinjaDataElement.innerText) || {}; + </script><script async="" src="/x-kinja-static/assets/new-client/runtime~adManager.91013dfd4e6726446ea4.js"></script><script async="" src="/x-kinja-static/assets/new-client/adManager.ff976cfb124b17917619.js"></script><script async="" src="/x-kinja-static/assets/new-client/runtime~trackers.50554a3dd46362be73de.js"></script><script async="" src="/x-kinja-static/assets/new-client/0.f758c4df3ba69d7f87f5.js"></script><script async="" src="/x-kinja-static/assets/new-client/vendors~adEditor~categoryPage~channelSectionPage~commerceDashboard~curatedHomepage~errorPage~experim~2896c42a.cc1f30184e5a512e4776.js"></script><script async="" src="/x-kinja-static/assets/new-client/adEditor~alertsUnsubscribePage~categoryPage~channelSectionPage~commerceDashboard~errorPage~experimen~edc3d0df.391d9cc2090cbaac07bd.js"></script><script async="" src="/x-kinja-static/assets/new-client/adEditor~categoryPage~commerceDashboard~errorPage~featureSwitchPage~frontPage~newsletterPage~profile~de73029d.f91461991728c44d0112.js"></script><script async="" src="/x-kinja-static/assets/new-client/trackers.62b0f4263f3227185e5f.js"></script><script async="" src="//x.kinja-static.com/assets/new-client/runtime~featuredPermalinkPage.43334bca1d71da6af8ce.js"></script><script async="" src="//x.kinja-static.com/assets/new-client/vendors~adEditor~alertsUnsubscribePage~categoryPage~channelSectionPage~commerceDashboard~curatedHome~50ffb65c.63dd1eadd1c0dc844c44.js"></script><script async="" src="//x.kinja-static.com/assets/new-client/vendors~adEditor~alertsUnsubscribePage~categoryPage~channelSectionPage~commerceDashboard~curatedHome~1ac5354a.266c8265cdab34bb2d91.js"></script><script async="" src="//x.kinja-static.com/assets/new-client/vendors~adEditor~alertsUnsubscribePage~categoryPage~channelSectionPage~commerceDashboard~curatedHome~ab99bc6b.6cad411b9adfebea5a70.js"></script><script async="" src="//x.kinja-static.com/assets/new-client/vendors~adEditor~alertsUnsubscribePage~categoryPage~channelSectionPage~commerceDashboard~curatedHome~3441fe34.1c266afb7a2da43b37f9.js"></script><script async="" src="//x.kinja-static.com/assets/new-client/vendors~adEditor~browser-logs~categoryPage~channelSectionPage~commerceDashboard~curatedHomepage~erro~95b460b0.6f83c62ccb030323087b.js"></script><script async="" src="//x.kinja-static.com/assets/new-client/vendors~adEditor~categoryPage~channelSectionPage~commerceDashboard~curatedHomepage~errorPage~experim~482673d0.23ad0a37ec6eb7fb20b1.js"></script><script async="" src="//x.kinja-static.com/assets/new-client/vendors~adEditor~categoryPage~channelSectionPage~commerceDashboard~curatedHomepage~errorPage~experim~ac135e6b.860d81e03b0f32025170.js"></script><script async="" src="//x.kinja-static.com/assets/new-client/vendors~categoryPage~curatedHomepage~featuredPermalinkPage~frontPage~permalinkPage~searchPage~slides~a3dad056.79a2b455d6ffb066e763.js"></script><script async="" src="//x.kinja-static.com/assets/new-client/vendors~featuredPermalinkPage~permalinkPage.3b1b24803c0d3ab2b8b1.js"></script><script async="" src="//x.kinja-static.com/assets/new-client/adEditorComponent~category-stream~channelSectionPage~commentsIframe~experiments~featuredPermalinkPag~19b74dc1.be5c47a4fcab9ec05db4.js"></script><script async="" src="//x.kinja-static.com/assets/new-client/featuredPermalinkPage.81e9869074738fc3b3dd.js"></script><div class="js_modal_exit_intent"></div><div class="js_modal"></div><div id="kinja-bucket-setter"></div></body></html> +\ No newline at end of file diff --git a/content/misc/web_snapshot/2d0f0e69e7c8b6ffe9ff8ffc8702a78d6a2d46ab1edd4123e84eb211171d6cde.pdf b/content/misc/web_snapshot/2d0f0e69e7c8b6ffe9ff8ffc8702a78d6a2d46ab1edd4123e84eb211171d6cde.pdf Binary files differ. diff --git a/content/misc/web_snapshot/360125fa513b8db8380eb2b62c4479164baa5b48d8544b2242bcc7305bad0de4.txt b/content/misc/web_snapshot/360125fa513b8db8380eb2b62c4479164baa5b48d8544b2242bcc7305bad0de4.txt @@ -0,0 +1,33 @@ +HTTP/2 200 +x-powered-by: Express +x-kinja: kinja-magma-kube01-948475854-gsbw5 #2668 +x-kinja-revision: 3017cf432f79d7f57affb0788c900f3794ca1034 +x-kinja-server: kinja-magma-kube01-948475854-gsbw5 +x-kinja-build: 2668 +cache-control: stale-if-error=86400, stale-while-revalidate=300 +content-security-policy: frame-ancestors 'self'; upgrade-insecure-requests +x-content-type-options: nosniff +x-xss-protection: 1; mode=block +strict-transport-security: max-age=63072000; includeSubDomains; preload +x-googlenews-bot: false +x-frame-options: deny +content-type: text/html; charset=utf-8 +etag: W/"3e6b8-9X58++tONoDb5ka0LP+y17VuoRc" +via: 1.1 varnish, 1.1 varnish +x-cdn-fetch: mantle-default +accept-ranges: bytes +date: Mon, 03 May 2021 07:28:26 GMT +age: 0 +x-served-by: cache-bwi5133-BWI, cache-fra19163-FRA +x-cache: MISS, MISS +x-cache-hits: 0, 0 +x-timer: S1620026906.142168,VS0,VE220 +x-ua-device: desktop +set-cookie: geocc=US;path=/; +set-cookie: KinjaBucket=6;path=/;Max-Age=31536000;domain=gizmodo.com;SameSite=None;Secure; +set-cookie: KinjaSetBucket=6|1620026700|WISkYRg8ruF3XT4gTHXxlpbQnQ4MIYdZ1MgiShUCY00=;path=/;Max-Age=300;SameSite=None;Secure; +x-exp-id: NotInTest +x-exp-variant: NotInTest +vary: Accept-Encoding, X-Feature-Hash, X-Forwarded-Proto, Cookie, X-GoogleNews-Bot, X-Kinja-WelcomeAdLoadedV1, X-Kinja-Req-Origin-US, X-Kinja-SuperHeroLoaded, X-Kinja-GDPR, X-Kinja-CCPA, Authorization +content-length: 255672 + diff --git a/content/misc/web_snapshot/3ba9094b295a898cfe8cba256f4ebf65ef98ff05bb3034e048e517d52fc13d33.txt b/content/misc/web_snapshot/3ba9094b295a898cfe8cba256f4ebf65ef98ff05bb3034e048e517d52fc13d33.txt @@ -0,0 +1,18 @@ +HTTP/2 200 +server: shield +date: Mon, 03 May 2021 09:38:39 GMT +content-type: text/html; charset=UTF-8 +last-modified: Mon, 03 May 2021 09:37:19 GMT +x-pingback: https://www.breitbart.com/xmlrpc.php +cache-control: max-age=120 +x-bat: JC 300 1 0.325 0.337 59221 +x-node: 9e9a435893f5 +x-backend: web3 +x-ttl: from_backend +x-varnish: 1084625403 +age: 0 +alt-svc: clear +alt-svc: clear +x-shield-request-id: 8efed1cbea89bc46ad36ba521ecaf1b4 +via: 1.1 google, 1.1 google + diff --git a/content/misc/web_snapshot/595a07b85e6b75a41fe0880c8538f15c4b6da5770db230d986efa2e080ca479a.txt b/content/misc/web_snapshot/595a07b85e6b75a41fe0880c8538f15c4b6da5770db230d986efa2e080ca479a.txt @@ -0,0 +1,1404 @@ +<!DOCTYPE html><html lang="en" prefix="og: http://ogp.me/ns#"><head><meta charset="UTF-8" /><link rel="preconnect" href="https://cdn.statcdn.com" crossorigin><title>• Chart: Amazon Leads $130-Billion Cloud Market | Statista</title><meta itemprop="description" name="description" content="This chart shows worldwide market share of leading cloud infrastructure service providers in Q4 2020." /><meta id="gtm_routeName" data-page="infographic.en" /><meta id="gtm_automatedTest" data-page="false" /><meta id="gtm_userProductGroup" data-page="anonymous" /><meta id="gtm_accountTypeId" data-page="31" /><meta id="gtm_locale" data-page="en" /><meta id="gtm_pageType" data-page="infographic.en" /><meta id="gtm_userPhase" data-page="content" /><meta id="gtm_userId" data-page="0" /><meta id="gtm_userProductId" data-page="31" /><meta id="gtm_userLog" data-page="false" /><meta id="gtm_lastContentId" data-page="" /><meta id="gtm_cookieConsentEnabled" data-page="true" /><meta id="dl_gtm_contentview" data-page="{"event":"contentView","contentType":"infographic","contentId":"18819","contentTitle":"Amazon Leads $130-Billion Cloud Market","contentMainSector":"IT Services","contentAccess":"free","contentEditor":"367"}" /><meta id="gtm_stroeer_pageType" data-page="visit"><meta id="gtm_stroeer_gid" data-page=""><meta id="gtm_infographic_editor" data-page="367" /><meta id="gtm_infographic_dateEdit" data-page="2021-02" /><meta id="gtm_infographic_dateReleased" data-page="2021-02" /><meta id="gtm_infographic_topic" data-page="Infrastructure as a Service (IaaS)" /><meta id="gtm_infographic_idTopic" data-page="2739" /><meta id="gtm_infographic_masterBranch" data-page="IT Services" /><meta id="gtm_infographic_branch1" data-page="IT Services" /><meta id="gtm_infographic_masterTag1" data-page="cloud services" /><meta id="gtm_infographic_tag1" data-page="cloud computing" /><meta id="gtm_infographic_tag2" data-page="Amazon Web Services" /><meta id="gtm_infographic_tag3" data-page="Microsoft Azure" /><meta id="gtm_infographic_tag4" data-page="Google Cloud Platform" /><meta id="gtm_infographic_tag5" data-page="IBM Cloud" /><meta id="usageView_idProduct" data-page="31"><meta id="usageView_type" data-page="Infographic"><meta id="usageView_signal" data-page="Infographic"><meta id="usageView_origin_channel" data-page="Platform"><meta id="usageView_origin_page" data-page="https://www.statista.com/chart/18819/worldwide-market-share-of-leading-cloud-infrastructure-service-providers/"><meta id="usageView_origin_referer" data-page=""><meta id="usageView_origin_agent" data-page="curl/7.76.0"><meta name="robots" content="index,follow" /><meta name="viewport" content="width=device-width,initial-scale=1.0"/><link rel="icon" href="/favicon-48x48.png" sizes="48x48"><link rel="icon" href="https://cdn.statcdn.com/static/favicon.svg" type="image/svg+xml" sizes="192x192"><link rel="shortcut alternate icon" href="https://cdn.statcdn.com/static/favicon.ico"><link rel="icon" href="https://cdn.statcdn.com/static/favicon.ico"><link rel="amphtml" href="https://www.statista.com/chart/amp/18819/worldwide-market-share-of-leading-cloud-infrastructure-service-providers/"><meta name="facebook-domain-verification" content="beegxvhhtsbuwbvnjny9nfl04x4bdq" /><meta name="application-name" content="Statista"><meta name="msapplication-TileImage" content="https://cdn.statcdn.com/static/img/tile-icon.png"><meta name="msapplication-TileColor" content="#0b85e5"><meta name="theme-color" content="#0b85e5"><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"><meta name="apple-mobile-web-app-title" content="Infographics"/><link rel="apple-touch-icon-precomposed" href="https://cdn.statcdn.com/static/img/openGraph/infographics/openGraph-Infographic-en.png"><meta property="fb:app_id" content="1078570375632504" /><meta property="og:locale" content="en_US" /><meta property="og:type" content="article" /><meta property="og:title" content="Infographic: Amazon Leads $130-Billion Cloud Market" /><meta property="og:url" content="https://www.statista.com/chart/18819/worldwide-market-share-of-leading-cloud-infrastructure-service-providers/" /><meta property="og:site_name" content="Statista Infographics" /><meta property="og:description" content="This chart shows worldwide market share of leading cloud infrastructure service providers in Q4 2020." /><meta property="og:image" content="http://cdn.statcdn.com/Infographic/images/normal/18819.jpeg" /><meta property="og:image:secure_url" content="https://cdn.statcdn.com/Infographic/images/normal/18819.jpeg" /><meta name="twitter:card" content="summary_large_image"><meta name="twitter:site" content="@StatistaCharts"><meta name="twitter:title" content="Infographic: Amazon Leads $130-Billion Cloud Market"><meta name="twitter:description" content="This chart shows worldwide market share of leading cloud infrastructure service providers in Q4 2020."><meta name="twitter:creator" content="@StatistaCharts"><meta name="twitter:image:src" content="https://cdn.statcdn.com/Infographic/images/normal/18819.jpeg"><meta name="twitter:domain" content="https://www.statista.com"><link rel="stylesheet" href="/css/base.css?ff41aa727b9799d7f3ea6f86104ed3ec"><link rel="stylesheet" href="/css/main.css?ff41aa727b9799d7f3ea6f86104ed3ec" media="none"><link rel="stylesheet" href="https://cdn.statcdn.com/static/css/fontawesome/4-7-0/css/font-awesome.min.css" media="none"><link rel="stylesheet" data-href="/css/pendo/statista.css?ff41aa727b9799d7f3ea6f86104ed3ec" media="pendo"><noscript><link rel="stylesheet" href="/css/main.css?ff41aa727b9799d7f3ea6f86104ed3ec"><link rel="stylesheet" href="https://cdn.statcdn.com/static/css/fontawesome/4-7-0/css/font-awesome.min.css"></noscript><link rel="stylesheet" href="/css/pages/mobile.css?ff41aa727b9799d7f3ea6f86104ed3ec" media="screen and (max-width: 767px)"><link rel="stylesheet" href="/css/pages/infographics_base.css?ff41aa727b9799d7f3ea6f86104ed3ec" /><link rel="stylesheet" href="/css/pages/infographics_extended.css?ff41aa727b9799d7f3ea6f86104ed3ec" media="none" /><script src="/dist/js/manifest.js?ff41aa727b9799d7f3ea6f86104ed3ec"></script><script src="/dist/js/dynamicscripts.js?ff41aa727b9799d7f3ea6f86104ed3ec"></script><script defer src="/dist/js/polyfill.js?ff41aa727b9799d7f3ea6f86104ed3ec"></script><script defer src="/dist/js/vendor.js?ff41aa727b9799d7f3ea6f86104ed3ec"></script><script defer src="/dist/js/main.js?ff41aa727b9799d7f3ea6f86104ed3ec"></script><script defer src="/dist/js/nonRenderblockingCss.js?ff41aa727b9799d7f3ea6f86104ed3ec"></script><script> +var stGlobals = { + 'currentPath': 'infographic.en', + 'path': {}, + 'trans': {}, + 'locale': 'en', + 'digitSeparator': ',', + 'digitDecimal': '.', + 'env': 'prod', + '_template': {}//Template data cache object +} +</script><script type="application/ld+json" data-structured-data> + [ + { + "@context":"https://schema.org/", + "@graph": + [ + { + "@context": "https://schema.org", + "@type": "Organization", + "url": "https://www.statista.com", + "name": "Statista", + "logo": { + "@type": "ImageObject", + "url": "https://cdn.statcdn.com/static/img/Statista-Logo.png" + } + }, + { + "@context":"https://schema.org/", + "@type": "NewsArticle", + "mainEntityOfPage": { + "@type": "WebPage", + "@id": "https://www.statista.com/chart/18819/worldwide-market-share-of-leading-cloud-infrastructure-service-providers/" + }, + "headline": "Amazon\u0020Leads\u0020\u0024130\u002DBillion\u0020Cloud\u0020Market", + "image": [ + "https://cdn.statcdn.com/Infographic/images/normal/18819.jpeg" + ], + "datePublished": "2019-07-26", + "dateModified": "2021-02-04", "author": { + "@type": "Person", + "name": "Felix Richter" + }, + "publisher": { + "@type": "Organization", + "name": "Statista", + "logo": { + "@type": "ImageObject", + "url": "https://cdn.statcdn.com/static/img/Statista-Logo.png" + } + }, + "description": "This chart shows worldwide market share of leading cloud infrastructure service providers in Q4 2020.", + "articleBody": "Having established itself as an early leader in the market for cloud infrastructure, Amazon Web Services (AWS), the online retailer’s profitable cloud platform, is still ahead of the pack. According to estimates from Synergy Research Group, Amazon’s market share in the worldwide cloud infrastructure market amounted to 32 percent in the fourth quarter of 2020, still exceeding the combined market share of its two largest competitors, Microsoft and Google.In Q4 2020, global cloud infrastructure service revenues amounted to $37 billion, bringing the total for the past twelve months to $129 billion. "2020 ended with a bang for the cloud market, as the sequential jump of $4 billion from Q3 easily set a new record for cloud providers’ incremental revenue growth," said John Dinsdale, Chief Analyst at Synergy Research Group. "This is also a market which has proven to be immune to COVID-19. If anything, the pandemic has helped to highlight some of the main benefits of public cloud."As the following chart shows, Amazon and Microsoft accounted for more than half of cloud infrastructure revenues in Q4 2020, with the eight largest providers controlling roughly 80 percent of the market." + } + + ,{ + "@context": "https://schema.org", + "@type": "BreadcrumbList", + "itemListElement": + [ + { + "@type": "ListItem", + "position": 1, + "item": { + "@id": "https://www.statista.com/topics/", + "name": "Topics" + } + }, + { + "@type": "ListItem", + "position": 2, + "item": { + "@id": "https://www.statista.com/topics/2739/cloud-infrastructure-as-a-service/", + "name": "Infrastructure as a Service (IaaS)" + } + } + ] +} + ] + } + ] + </script></head><body id="product31" class="" data-group="B"><script> + window.dataLayer = window.dataLayer || []; + function gtag() { window.dataLayer.push(arguments); } + gtag('consent', 'default', { + ad_storage: 'denied', + analytics_storage: 'denied', + wait_for_update: 500, + }); +</script><script> + window.dataLayer = window.dataLayer || []; + function gtag() { window.dataLayer.push(arguments); } + gtag('consent', 'update', { + ad_storage: 'denied', + analytics_storage: 'denied', + }); + </script><style>.async-hide { opacity: 0 !important}</style><script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function() + { (i[r].q=i[r].q||[]).push(arguments)} + ,i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); + ga('create', 'UA-76064938-1', 'auto'); + ga('set', 'anonymizeIp', true); + ga('require', 'GTM-M6LQQ78'); + + window.dataLayer = window.dataLayer || [];</script><noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-T6PZKL" height="0" width="0" class="hidden"></iframe></noscript><script> + (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': + new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], + j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= + '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); + })(window,document,'script','dataLayer','GTM-T6PZKL'); + </script><div data-userlike-remote-url="//userlike-cdn-widgets.s3-eu-west-1.amazonaws.com/"></div><div data-userlike-conf="{"w":{"us":{"id":"5d3c178c6cba3af75feef9b265b4ada4b924593eff2dfd8b63c1ac2e8145771a"},"uk":{"id":"72c2f93fc25cddd7a4a8f115f38959323b3cbbf52c29a4bf6ff4723390bb380c"},"hhen":{"id":"264ccf68bb3c45073414765379d59ebd3663959472a49da2180b6e571baa3275"},"hhsalesen":{"id":"87b9ae75baaf7278f57933a58d56186896e9b5670486d4f46b564597747cd6c1"}},"l":false,"u":1,"p":0,"d":"","r":"infographic","i":248,"cl":"en","hf":true}"></div><svg style="display:none"><symbol id="iconBurgerMenuBold" viewBox="0 0 32 32"><path d="M5 16h22M5 8h22M5 24h22" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></symbol></svg><svg style="display:none"><symbol id="iconCaretDownFill" viewBox="0 0 12 12"><path d="M5.62369 8.82925C5.71863 8.93776 5.8558 9 5.99998 9C6.14416 9 6.28132 8.93776 6.37627 8.82925L9.87627 4.82925C10.0055 4.68161 10.0364 4.47205 9.95529 4.29339C9.87423 4.11474 9.69617 4 9.49998 4H2.49998C2.30379 4 2.12573 4.11474 2.04466 4.29339C1.96359 4.47205 1.9945 4.68161 2.12369 4.82925L5.62369 8.82925Z" fill="currentColor"/></symbol></svg><svg style="display:none"><symbol id="iconGlobeFill" viewBox="0 0 16 16"><path d="M6.506 7.5h2.988c-.038-1.685-.272-3.129-.626-4.148-.196-.563-.409-.938-.598-1.154a.775.775 0 00-.204-.177C8.03 2.001 8.01 2 8 2c-.01 0-.029.001-.066.021a.774.774 0 00-.204.177c-.19.216-.402.591-.598 1.154-.354 1.019-.588 2.463-.626 4.148zM9.494 8.5c-.038 1.685-.272 3.129-.626 4.148-.196.563-.409.938-.598 1.154a.776.776 0 01-.204.177.137.137 0 01-.065.021H8c-.01 0-.029-.001-.066-.021a.776.776 0 01-.204-.177c-.19-.216-.402-.591-.598-1.154-.354-1.019-.588-2.463-.626-4.148h2.988zM10.495 8.5h3.485a6.004 6.004 0 01-4.53 5.324c.614-1.159.995-3.077 1.045-5.324zM13.98 7.5h-3.485c-.05-2.247-.43-4.165-1.045-5.324A6.004 6.004 0 0113.98 7.5zM5.505 7.5H2.021A6.004 6.004 0 016.55 2.176C5.936 3.335 5.555 5.253 5.505 7.5zM5.505 8.5H2.021a6.004 6.004 0 004.529 5.324c-.614-1.159-.995-3.077-1.045-5.324z" fill="currentColor"/></symbol></svg><svg style="display:none"><symbol id="iconGlobeAltFill" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.75736 3.75736C4.88258 2.63214 6.4087 2 8 2C9.5913 2 11.1174 2.63214 12.2426 3.75736C13.3679 4.88258 14 6.4087 14 8C14 8.78793 13.8448 9.56815 13.5433 10.2961C13.2417 11.0241 12.7998 11.6855 12.2426 12.2426C11.6855 12.7998 11.0241 13.2417 10.2961 13.5433C9.56815 13.8448 8.78793 14 8 14C7.21207 14 6.43185 13.8448 5.7039 13.5433C4.97595 13.2417 4.31451 12.7998 3.75736 12.2426C3.20021 11.6855 2.75825 11.0241 2.45672 10.2961C2.15519 9.56815 2 8.78793 2 8C2 6.4087 2.63214 4.88258 3.75736 3.75736ZM6 3.41742C5.4326 3.66505 4.9107 4.01823 4.46447 4.46447C3.76608 5.16285 3.29564 6.04656 3.101 7H4C5.10457 7 6 7.89543 6 9V9.5C6 9.77614 6.22386 10 6.5 10C7.32843 10 8 10.6716 8 11.5V12.9749C8 12.9833 7.99978 12.9917 7.99937 13C8.34157 13 8.68267 12.9649 9.01613 12.8957C9.00553 12.855 9 12.8127 9 12.7697V11.5C9 10.1193 10.1193 9 11.5 9H12.7697C12.8127 9 12.855 9.00553 12.8957 9.01612C12.9649 8.68267 13 8.34221 13 8C13 6.67392 12.4732 5.40215 11.5355 4.46447C11.4861 4.41504 11.4357 4.36675 11.3845 4.31962C11.3748 4.33134 11.3644 4.34267 11.3536 4.35355L9.56066 6.14645C8.97487 6.73223 8.02513 6.73223 7.43934 6.14645L6.43934 5.14645C6.15804 4.86514 6 4.48361 6 4.08579V3.41742Z" fill="currentColor"/></symbol></svg><svg style="display:none"><symbol id="iconMagnifyingGlassRegular" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M2 7C2 8.32608 2.52678 9.59785 3.46447 10.5355C4.40215 11.4732 5.67392 12 7 12C8.15837 12 9.27529 11.598 10.1643 10.8714L13.1465 13.8536C13.3417 14.0488 13.6583 14.0488 13.8536 13.8536C14.0489 13.6583 14.0489 13.3417 13.8536 13.1465L10.8714 10.1643C11.598 9.27526 12 8.15835 12 7C12 5.67392 11.4732 4.40215 10.5355 3.46447C9.59785 2.52678 8.32608 2 7 2C5.67392 2 4.40215 2.52678 3.46447 3.46447C2.52678 4.40215 2 5.67392 2 7ZM4.17157 9.82843C3.42143 9.07828 3 8.06087 3 7C3 5.93913 3.42143 4.92172 4.17157 4.17157C4.92172 3.42143 5.93913 3 7 3C8.06087 3 9.07828 3.42143 9.82843 4.17157C10.5786 4.92172 11 5.93913 11 7C11 8.06087 10.5786 9.07828 9.82843 9.82843C9.07828 10.5786 8.06087 11 7 11C5.93913 11 4.92172 10.5786 4.17157 9.82843Z" fill="currentColor"/></symbol></svg><svg style="display:none"><symbol id="iconMagnifyingGlassBold" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M2 7C2 8.32608 2.52678 9.59785 3.46447 10.5355C4.40215 11.4732 5.67392 12 7 12C7.98768 12 8.94522 11.7078 9.75705 11.1712L12.293 13.7071C12.6835 14.0976 13.3167 14.0976 13.7072 13.7071C14.0977 13.3166 14.0977 12.6834 13.7072 12.2929L11.1712 9.75697C11.7078 8.94517 12 7.98765 12 7C12 5.67392 11.4732 4.40215 10.5355 3.46447C9.59785 2.52678 8.32608 2 7 2C5.67392 2 4.40215 2.52678 3.46447 3.46447C2.52678 4.40215 2 5.67392 2 7ZM4.87868 9.12132C4.31607 8.55871 4 7.79565 4 7C4 6.20435 4.31607 5.44129 4.87868 4.87868C5.44129 4.31607 6.20435 4 7 4C7.79565 4 8.55871 4.31607 9.12132 4.87868C9.68393 5.44129 10 6.20435 10 7C10 7.79565 9.68393 8.55871 9.12132 9.12132C8.55871 9.68393 7.79565 10 7 10C6.20435 10 5.44129 9.68393 4.87868 9.12132Z" fill="currentColor"/></symbol></svg><svg style="display:none"><symbol id="iconPhoneFill" viewBox="0 0 16 16"><path d="M5.91603 2.22265C5.8398 2.10831 5.71987 2.03038 5.58442 2.00718C5.44897 1.98398 5.30994 2.01755 5.2 2.1L3.2 3.6C3.0741 3.69443 3 3.84262 3 4V4.5C3 9.19442 6.80558 13 11.5 13H12C12.1574 13 12.3056 12.9259 12.4 12.8L13.9 10.8C13.9825 10.6901 14.016 10.551 13.9928 10.4156C13.9696 10.2801 13.8917 10.1602 13.7774 10.084L10.7773 8.08398C10.6094 7.97201 10.3906 7.97201 10.2227 8.08398L8.90669 8.96129L8.86752 8.9515C7.97181 8.72757 7.27244 8.02819 7.04851 7.13248L7.03872 7.09332L7.91603 5.77735C8.02799 5.6094 8.02799 5.3906 7.91603 5.22265L5.91603 2.22265Z" fill="currentColor"/></symbol></svg><svg style="display:none"><symbol id="iconMailFill" viewBox="0 0 16 16"><path d="M2.5 12V5.056l4.722 4.722a1.1 1.1 0 001.556 0L13.5 5.056V12a.1.1 0 01-.1.1H2.6a.1.1 0 01-.1-.1zm1.556-8.5h7.888L8 7.444 4.056 3.5z" fill="currentColor" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></symbol></svg><svg style="display:none"><symbol id="iconMailBold" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.5 3C2.67157 3 2 3.67157 2 4.5V11.5C2 12.3284 2.67157 13 3.5 13H12.5C13.3284 13 14 12.3284 14 11.5V4.5C14 3.67157 13.3284 3 12.5 3H3.5ZM4 6.41421V11H12V6.41421L8.70711 9.70711C8.31658 10.0976 7.68342 10.0976 7.29289 9.70711L4 6.41421ZM10.5858 5H5.41421L8 7.58579L10.5858 5Z" fill="currentColor"/></symbol></svg><svg style="display:none"><symbol id="iconMailAltFill" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M8 1C3.94772 1 1 3.94772 1 8C1 12.0523 3.94772 15 8 15L8.0375 15C8.50768 15 8.9438 15.0001 9.39713 14.9368C9.88083 14.8693 10.3534 14.7357 10.9428 14.4999C11.4556 14.2948 11.705 13.7128 11.4999 13.2C11.2948 12.6873 10.7128 12.4378 10.2 12.643C9.71806 12.8357 9.40488 12.9164 9.12073 12.956C8.81823 12.9982 8.51545 13 8 13C5.05228 13 3 10.9477 3 8C3 5.05228 5.05228 3 8 3C10.9477 3 13 5.05228 13 8C13 9.73333 12.2 10 12 10C11.4558 10 11 9.64162 11 9V5.5C11 4.94772 10.5523 4.5 10 4.5C9.66023 4.5 9.36005 4.66945 9.17933 4.92845C8.68081 4.65531 8.10854 4.5 7.5 4.5C5.567 4.5 4 6.067 4 8C4 9.933 5.567 11.5 7.5 11.5C8.2786 11.5 8.99782 11.2458 9.57917 10.8158C10.1606 11.5885 11.0973 12 12 12C13.8 12 15 10.2667 15 8C15 3.94772 12.0523 1 8 1ZM9 8C9 7.17157 8.32843 6.5 7.5 6.5C6.67157 6.5 6 7.17157 6 8C6 8.82843 6.67157 9.5 7.5 9.5C8.32843 9.5 9 8.82843 9 8Z" fill="currentColor"/></symbol></svg><svg style="display:none"><symbol id="iconMailAltRegular" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.9999 1.90002C4.66853 1.90002 1.8999 4.66865 1.8999 8.00002C1.8999 11.3314 4.66853 14.1 7.9999 14.1L8.02363 14.1C8.53302 14.1004 10.247 14.1015 11.4242 12.9243C11.6585 12.69 11.6585 12.3101 11.4242 12.0758C11.1899 11.8414 10.81 11.8414 10.5756 12.0758C9.77185 12.8795 8.52228 12.9 7.9999 12.9C5.33127 12.9 3.0999 10.6687 3.0999 8.00002C3.0999 5.3314 5.33127 3.10002 7.9999 3.10002C10.6685 3.10002 12.8999 5.3314 12.8999 8.00002C12.8999 8.69808 12.7812 9.20469 12.604 9.51484C12.4453 9.79245 12.2551 9.90002 11.9999 9.90002C11.6732 9.90002 11.4873 9.78669 11.3609 9.61207C11.2134 9.40827 11.0999 9.05121 11.0999 8.50002V5.50002C11.0999 5.16865 10.8313 4.90002 10.4999 4.90002C10.1685 4.90002 9.8999 5.16865 9.8999 5.50002V5.67817C9.38255 5.25433 8.72098 5 8 5C6.34315 5 5 6.34315 5 8C5 9.65685 6.34315 11 8 11C8.87598 11 9.66426 10.6246 10.2127 10.0258C10.2642 10.1274 10.3227 10.2243 10.3889 10.3157C10.7625 10.8318 11.3266 11.1 11.9999 11.1C12.7447 11.1 13.3045 10.7076 13.6458 10.1102C13.9686 9.54536 14.0999 8.80197 14.0999 8.00002C14.0999 4.66865 11.3313 1.90002 7.9999 1.90002ZM9.8 8C9.8 8.99411 8.99411 9.8 8 9.8C7.00589 9.8 6.2 8.99411 6.2 8C6.2 7.00589 7.00589 6.2 8 6.2C8.99411 6.2 9.8 7.00589 9.8 8Z" fill="currentColor"/></symbol></svg><svg style="display:none"><symbol id="iconFavoriteFill" viewBox="0 0 16 16"><path d="M8.457 2.796a.5.5 0 00-.914 0L6.141 5.942l-3.424.361a.5.5 0 00-.283.869l2.558 2.305-.714 3.369a.5.5 0 00.739.537L8 11.663l2.983 1.72a.5.5 0 00.739-.537l-.715-3.369 2.558-2.305a.5.5 0 00-.282-.869L9.86 5.942 8.457 2.796z" fill="currentColor"/></symbol></svg><div id="main" class="page"><a class="skip-link button" href="#main-content">Skip to main content</a><header data-page-header class="page__header page__header--dark"><div class="contentFlex"><div data-remove-desktop class="showMobile pageHeader pageHeader--dark pageHeader--default pageHeader--en"><div data-vue-navigation-mobile><div class="pageHeader__grid pageHeader__grid--default pageHeader__grid--en"><div id="pageHeader__mobileLogo"><a + href="https://www.statista.com" + class="pageHeader__logo" + aria-label="Statista Homepage" + data-gtm="pageHeader__logo"><svg class="statistaLogo statistaLogoSvg statistaLogoSvg--dark" data-name="Statista Logo" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 215 42"><title>Statista Logo</title><path data-name="s" class="statistaLogoSvg__path" d="M7.14,16.41c0-1.69,1.21-2.6,3-2.6,2.18,0,3.39,1.46,3.87,4.06l5.75-1c-1-5.08-4.6-8.65-9.92-8.65C4.72,8.25.72,11.82.72,17c0,8.89,12.71,11,12.71,16.63a2.75,2.75,0,0,1-3,2.85c-3.08,0-4.05-2.43-4.47-5.15L0,32.93C1,38.61,4.42,42,10.34,42c5.51,0,9.5-3,9.5-8.77C19.84,23.55,7.14,21.5,7.14,16.41Z"/><path data-name="t" class="statistaLogoSvg__path" d="M33,.08H26.25V8.85H22.5v5.57h3.75V34.68c0,5,2.84,7.32,7.92,7.32a11.76,11.76,0,0,0,3.39-.36V35.83H35.32c-1.57,0-2.3-1-2.3-2.66V14.42h4.54V8.85H33Z"/><path data-name="a" class="statistaLogoSvg__path" d="M62,17.08c0-5.93-3.57-8.83-9.86-8.83S41.61,11.82,41.25,18.41H48c.13-2.78.79-4.6,3.87-4.6,2.24,0,3.33,1.46,3.33,4.18v1.93c-9.74,3.69-14.45,7.62-14.45,14.76,0,4.17,2.29,7.32,6.89,7.32,3.27,0,5.38-1.09,7.92-3.15.06.79.31,1.64.37,2.54h6.47A23.22,23.22,0,0,1,62,38ZM55.22,33.41c-1.15,1.63-2.66,3-4.54,3-2,0-3.14-.85-3.14-3,0-2.84,1.51-5.08,7.68-8.59Z"/><path data-name="t" class="statistaLogoSvg__path" d="M81.23,14.42V8.85H76.69V.08H69.92V8.85H66.17v5.57h3.75V34.68c0,5,2.84,7.32,7.92,7.32a11.8,11.8,0,0,0,3.39-.36V35.83H79c-1.57,0-2.3-1-2.3-2.66V14.42Z"/><g data-name="i"><rect class="statistaLogoSvg__path" x="85.7" y="8.85" width="6.78" height="32.54"/><rect class="statistaLogoSvg__path" x="85.7" width="6.78" height="6.17"/></g><path data-name="s" class="statistaLogoSvg__path" d="M104.58,16.41c0-1.69,1.2-2.6,3-2.6,2.18,0,3.39,1.46,3.87,4.06l5.75-1c-1-5.08-4.6-8.65-9.92-8.65-5.09,0-9.08,3.57-9.08,8.71,0,8.89,12.7,11,12.7,16.63a2.75,2.75,0,0,1-3,2.85c-3.08,0-4-2.43-4.48-5.15l-5.92,1.64c1,5.68,4.41,9.07,10.34,9.07,5.5,0,9.5-3,9.5-8.77C117.28,23.55,104.58,21.5,104.58,16.41Z"/><path data-name="t" class="statistaLogoSvg__path" d="M130.46.08h-6.77V8.85h-3.75v5.57h3.75V34.68c0,5,2.84,7.32,7.92,7.32a11.8,11.8,0,0,0,3.39-.36V35.83h-2.24c-1.57,0-2.3-1-2.3-2.66V14.42H135V8.85h-4.54Z"/><path data-name="a" class="statistaLogoSvg__path" d="M159.43,17.08c0-5.93-3.57-8.83-9.86-8.83s-10.52,3.57-10.88,10.16h6.77c.12-2.78.79-4.6,3.87-4.6,2.24,0,3.33,1.46,3.33,4.18v1.93c-9.74,3.69-14.46,7.62-14.46,14.76,0,4.17,2.3,7.32,6.9,7.32,3.26,0,5.38-1.09,7.92-3.15.06.79.3,1.64.36,2.54h6.48a23.43,23.43,0,0,1-.43-3.44Zm-6.77,16.33c-1.15,1.63-2.66,3-4.54,3-2.05,0-3.14-.85-3.14-3,0-2.84,1.51-5.08,7.68-8.59Z"/><g><path class="statistaLogoSvg__path" d="M205.13,15.5a19,19,0,0,0-5.84,5.33l-1.55,2.24c-.23.32-.45.64-.51.71l-.47.67-1.43,2.06s-3.81,5.5-9.21,8.3c-5.6,2.91-12.93,2.72-13.53,2.7v3A1.47,1.47,0,0,0,174.06,42h39a1.47,1.47,0,0,0,1.47-1.47V13.91a1.58,1.58,0,0,1-.38.05S207.84,14.08,205.13,15.5Z"/><path class="statistaLogoSvg__path" d="M213.07,0h-39a1.47,1.47,0,0,0-1.47,1.47V28.1l.21,0s6.32-.12,9-1.53a19.06,19.06,0,0,0,5.84-5.34L189.23,19l.5-.71c.06-.07.32-.45.47-.67s.8-1.14,1.43-2.06a29.65,29.65,0,0,1,9.21-8.3c5.84-3,13.58-2.7,13.58-2.7h.12v-3A1.47,1.47,0,0,0,213.07,0Z"/></g></svg><link itemprop="logo" href="https://cdn.statcdn.com/static/img/Statista-Logo-Color-Primary.png" /></a></div><div class="pageHeader__mobileIconsWrapper pageHeader__mobileIconsWrapper--en"><a + href="/search/" + aria-label="Statista Search"><svg class="pageHeader__searchMenuIconSVG" aria-hidden="true"><use href="#iconMagnifyingGlassBold"></use></svg></a><svg + class="pageHeader__burgerMenuIconSVG" + aria-label="Menu" + data-mobile-menu-open><use href="#iconBurgerMenuBold"></use></svg></div></div><div data-var-name="pageHeaderVars" data-var="{"borderTop":false,"borderBottom":true,"borderBottomLight":false,"theme":"dark","layout":"default","navName":"Statista Main Navigation","logo":true,"text":true,"search":true,"navigation":true,"languages":true,"login":true,"mobileMenu":true,"pageHeadline":"","sectionWrap":true,"sectionWrapCssClass":"","pageHeaderCssClass":""}"></div><div data-var-name="layout" data-var="default"></div><div data-var-name="currentRoute" data-var="infographic"></div><div data-var-name="loggedIn" data-var="false"></div></div><div data-path-name="search" data-path="/search/"></div><div data-path-name="loginExternal" data-path="/login/external/"></div><div data-path-name="passwordRecovery" data-path="/login/password/"></div><div data-path-name="loginShibboleth" data-path="/login/campus/"></div><div data-path-name="resendConfirmationLink" data-path="/login/resend-confirmation-link"></div><div data-path-name="contact" data-path="/contact/"></div><div data-path-name="accountOverview" data-path="/accounts/"></div></div><div data-remove-mobile class="hideMobile"><div class="pageHeader pageHeader--dark pageHeader--default pageHeader--en" data-vue-navigation><div class="pageHeader__grid pageHeader__grid--default pageHeader__grid--en"><a + href="https://www.statista.com" + class="pageHeader__logo" + aria-label="Statista Homepage" + data-gtm="pageHeader__logo"><svg class="statistaLogo statistaLogoSvg statistaLogoSvg--dark" data-name="Statista Logo" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 215 42"><title>Statista Logo</title><path data-name="s" class="statistaLogoSvg__path" d="M7.14,16.41c0-1.69,1.21-2.6,3-2.6,2.18,0,3.39,1.46,3.87,4.06l5.75-1c-1-5.08-4.6-8.65-9.92-8.65C4.72,8.25.72,11.82.72,17c0,8.89,12.71,11,12.71,16.63a2.75,2.75,0,0,1-3,2.85c-3.08,0-4.05-2.43-4.47-5.15L0,32.93C1,38.61,4.42,42,10.34,42c5.51,0,9.5-3,9.5-8.77C19.84,23.55,7.14,21.5,7.14,16.41Z"/><path data-name="t" class="statistaLogoSvg__path" d="M33,.08H26.25V8.85H22.5v5.57h3.75V34.68c0,5,2.84,7.32,7.92,7.32a11.76,11.76,0,0,0,3.39-.36V35.83H35.32c-1.57,0-2.3-1-2.3-2.66V14.42h4.54V8.85H33Z"/><path data-name="a" class="statistaLogoSvg__path" d="M62,17.08c0-5.93-3.57-8.83-9.86-8.83S41.61,11.82,41.25,18.41H48c.13-2.78.79-4.6,3.87-4.6,2.24,0,3.33,1.46,3.33,4.18v1.93c-9.74,3.69-14.45,7.62-14.45,14.76,0,4.17,2.29,7.32,6.89,7.32,3.27,0,5.38-1.09,7.92-3.15.06.79.31,1.64.37,2.54h6.47A23.22,23.22,0,0,1,62,38ZM55.22,33.41c-1.15,1.63-2.66,3-4.54,3-2,0-3.14-.85-3.14-3,0-2.84,1.51-5.08,7.68-8.59Z"/><path data-name="t" class="statistaLogoSvg__path" d="M81.23,14.42V8.85H76.69V.08H69.92V8.85H66.17v5.57h3.75V34.68c0,5,2.84,7.32,7.92,7.32a11.8,11.8,0,0,0,3.39-.36V35.83H79c-1.57,0-2.3-1-2.3-2.66V14.42Z"/><g data-name="i"><rect class="statistaLogoSvg__path" x="85.7" y="8.85" width="6.78" height="32.54"/><rect class="statistaLogoSvg__path" x="85.7" width="6.78" height="6.17"/></g><path data-name="s" class="statistaLogoSvg__path" d="M104.58,16.41c0-1.69,1.2-2.6,3-2.6,2.18,0,3.39,1.46,3.87,4.06l5.75-1c-1-5.08-4.6-8.65-9.92-8.65-5.09,0-9.08,3.57-9.08,8.71,0,8.89,12.7,11,12.7,16.63a2.75,2.75,0,0,1-3,2.85c-3.08,0-4-2.43-4.48-5.15l-5.92,1.64c1,5.68,4.41,9.07,10.34,9.07,5.5,0,9.5-3,9.5-8.77C117.28,23.55,104.58,21.5,104.58,16.41Z"/><path data-name="t" class="statistaLogoSvg__path" d="M130.46.08h-6.77V8.85h-3.75v5.57h3.75V34.68c0,5,2.84,7.32,7.92,7.32a11.8,11.8,0,0,0,3.39-.36V35.83h-2.24c-1.57,0-2.3-1-2.3-2.66V14.42H135V8.85h-4.54Z"/><path data-name="a" class="statistaLogoSvg__path" d="M159.43,17.08c0-5.93-3.57-8.83-9.86-8.83s-10.52,3.57-10.88,10.16h6.77c.12-2.78.79-4.6,3.87-4.6,2.24,0,3.33,1.46,3.33,4.18v1.93c-9.74,3.69-14.46,7.62-14.46,14.76,0,4.17,2.3,7.32,6.9,7.32,3.26,0,5.38-1.09,7.92-3.15.06.79.3,1.64.36,2.54h6.48a23.43,23.43,0,0,1-.43-3.44Zm-6.77,16.33c-1.15,1.63-2.66,3-4.54,3-2.05,0-3.14-.85-3.14-3,0-2.84,1.51-5.08,7.68-8.59Z"/><g><path class="statistaLogoSvg__path" d="M205.13,15.5a19,19,0,0,0-5.84,5.33l-1.55,2.24c-.23.32-.45.64-.51.71l-.47.67-1.43,2.06s-3.81,5.5-9.21,8.3c-5.6,2.91-12.93,2.72-13.53,2.7v3A1.47,1.47,0,0,0,174.06,42h39a1.47,1.47,0,0,0,1.47-1.47V13.91a1.58,1.58,0,0,1-.38.05S207.84,14.08,205.13,15.5Z"/><path class="statistaLogoSvg__path" d="M213.07,0h-39a1.47,1.47,0,0,0-1.47,1.47V28.1l.21,0s6.32-.12,9-1.53a19.06,19.06,0,0,0,5.84-5.34L189.23,19l.5-.71c.06-.07.32-.45.47-.67s.8-1.14,1.43-2.06a29.65,29.65,0,0,1,9.21-8.3c5.84-3,13.58-2.7,13.58-2.7h.12v-3A1.47,1.47,0,0,0,213.07,0Z"/></g></svg><link itemprop="logo" href="https://cdn.statcdn.com/static/img/Statista-Logo-Color-Primary.png" /></a><div class="desktopNavMain__item desktopNavMain__item--text"></div><div class="desktopNavMain__item desktopNavMain__item--search cloakRendering"><form class="desktopNavMain__searchForm" + method="get" + role="search" + action="/search/"><input id="q" + class="desktopNavMain__searchInput" + name="q" + value="" + type="text" + placeholder="Search Statistics" + aria-label="Statista Search" + autocomplete="off" + /><button + id="searchsubmit" + class="desktopNavMain__searchButton" + type="submit" + data-gtm="searchSubmit" + name="Search" + title="Search for content"><svg class="desktopNavMain__searchIconSVG" aria-hidden="true"><use href="#iconMagnifyingGlassBold"></use></svg></button><input type="hidden" name="qKat" value="search"><div id="vue-top-search"></div></form></div><div class="pageHeader__iconNavWrapper pageHeader__iconNavWrapper--en"><nav class="desktopNavMain__item desktopNavMain__item--login navMain navMain--dark navMain--default"><ul class="flex"><li + class="navMain__item navMain__item--responsiveEn" + data-newsletter><a + class="navMain__text navMain__text--icon navMain__text--narrow" + href="/newsletter/subscription" + aria-label="Our Expert Newsletters" + data-gtm="navMain__navigationItem--newsletter"><svg class="navMain__icon" aria-hidden="true"><use xlink:href="#iconMailFill"></use></svg></a></li><li + class="navMain__item navMain__item--responsiveEn" + ref="navMain__itemLanguages" + :class="{ 'navMain__item--focus': openNavigationItem === $refs.navMain__itemLanguages }"><button + type="button" + aria-haspopup="true" + aria-label="Select language" + class="navMain__text navMain__text--icon navMain__text--narrow" + tabindex="0" + @focus="showNavigationItem" + @blur="hideNavigationItem"><svg class="navMain__icon" aria-hidden="true"><use xlink:href="#iconGlobeAltFill"></use></svg></button><div + class="navMain__subnav navMain__subnav--narrow navMain__subnav--right navMain__subnav--languages" + @focus.capture="showNavigationItem" + @blur.capture="hideNavigationItem"><ul + class="navMain__subnavList" + role="menu"><li class="navMain__subnavItem" + role="none"><span class="navMain__subnavText navMain__subnavText--withIcon navMain__subnavText--noHover text-bold"><i class="flagIcon flagIcon--en margin-right-10" aria-hidden="true"></i>statista.com</span></li><li class="navMain__subnavItem" + role="none"><a + href="https://es.statista.com" + role="menuitem" + class="navMain__subnavText navMain__subnavText--withIcon" + title="statista.es" + itemprop="url" + data-gtm="navMain__language--es"><i class="flagIcon flagIcon--es margin-right-10" aria-hidden="true"></i>statista.es</a></li><li class="navMain__subnavItem" + role="none"><a + href="https://de.statista.com" + role="menuitem" + class="navMain__subnavText navMain__subnavText--withIcon" + title="statista.de" + itemprop="url" + data-gtm="navMain__language--de"><i class="flagIcon flagIcon--de margin-right-10" aria-hidden="true"></i>statista.de</a></li><li class="navMain__subnavItem" + role="none"><a + href="https://fr.statista.com" + role="menuitem" + class="navMain__subnavText navMain__subnavText--withIcon" + title="statista.fr" + itemprop="url" + data-gtm="navMain__language--fr"><i class="flagIcon flagIcon--fr margin-right-10" aria-hidden="true"></i>statista.fr</a></li></ul></div></li><li class="navMain__item navMain__item--responsiveEn navMain__item--layoutDefault" + :class="['', { 'navMain__item--noHoverStyle' : loginModalOpen }]"><form action="/login/"><input + type="submit" + value="Login" + class="navMain__text navMain__text--button navMain__text--narrow " + itemprop="url" + data-gtm="navMain__navigationItem--login" + @click.prevent="toggleLoginModal(true)" /></form></li></ul></nav></div><div class="pageHeader__navMainWrapper pageHeader__navMainWrapper--en"><nav class="navMain navMain--dark navMain--default" + role="navigation" + aria-label="Statista Main Navigation" + itemscope + itemtype="http://schema.org/SiteNavigationElement" +><ul class="navMain__list"><li class="navMain__item navMain__item--subnav" + ref="navMain__itemPrices" + :class="{ 'navMain__item--focus': openNavigationItem === $refs.navMain__itemPrices }"><a + id="navPrices" + aria-haspopup="true" + role="button" + class="navMain__text navMain__text--highlight" + href="/accounts/" + itemprop="url" + data-gtm="navMain__navItem--prices" + ref="navMain__itemPrices" + @focus="showNavigationItem" + @blur="hideNavigationItem">Prices & Access + <svg class="navMain__caret" aria-hidden="true"><use xlink:href="#iconCaretDownFill"></use></svg></a><div + class="navMain__subnav" + @focus.capture="showNavigationItem" + @blur.capture="hideNavigationItem"><ul + class="navMain__subnavList" + role="menu" + aria-labelledby="navPrices"><li + class="navMain__subnavItem" + role="none"><a + href="/accounts/" + role="menuitem" + class="navMain__subnavText" + data-gtm="navMain__prices--singleAccount"> + Single Accounts + </a></li><li + class="navMain__subnavItem" + role="none"><a + href="/accounts/corporate/" + role="menuitem" + class="navMain__subnavText" + data-gtm="navMain__prices--corporate"> + Corporate Solutions + </a></li><li + class="navMain__subnavItem" + role="none"><a + href="/accounts/education/" + role="menuitem" + class="navMain__subnavText" + data-gtm="navMain__prices--university"> + Universities + </a></li></ul></div></li><li + class="navMain__item navMain__item--subnavExpanded" + ref="navMain__itemStatistics" + :class="{ 'navMain__item--focus': openNavigationItem === $refs.navMain__itemStatistics }" + @mouseenter="showLazyImages"><a + id="navStatistics" + class="navMain__text" + role="button" + aria-haspopup="true" + href="/markets/" + itemprop="url" + data-gtm="navMain__navigationItem--statistics" + @mouseenter="navMainItemStatisticsOpened = true" + @focus="showNavigationItemStatistics" + @blur="hideNavigationItem"> + Statistics + <svg class="navMain__caret" aria-hidden="true"><use xlink:href="#iconCaretDownFill"></use></svg></a><nav-statistics + v-if="true" + :open="openNavigationItem === $refs.navMain__itemStatistics || navMainItemStatisticsOpened" + :locale="'en'" + :mainbranch="0" + :branch-overview-link="'/markets/'" + :topic-overview-link="'/topics/'" + :popular-statistics-link="'/statistics/popular/'" + :recent-statistics-link="'/statistics/recent/'" + class="navMain__subnavExpandedWrapper" + @focus.capture.native="showNavigationItem" + @blur.capture.native="hideNavigationItem"><div class="navMain__subnav navMain__subnav--expanded"><div class="tabbar tabbar--navInclude" data-tabbar><div class="tabbar__tabs flex__item border-right-gray20-1 width20"><ul + class="tabbar__tabs-list tabbar__tabs-list--left width100" + role="menu" + aria-labelledby="navStatistics"><li + class="tabbar__tab tabbar__tab--s tabbar__tab--link border-bottom-gray20-1 active" + data-tabbar-target="tabbarContent" + role="none"><a + class="display-block tabbar__tabLink--s navMain__dropdownListLink--statistics" + href="/markets/" + data-gtm="navMain__statisticsNav--branchall" + role="menuitem"> + All Industries + </a></li><li + class="tabbar__tab tabbar__tab--s tabbar__tab--link border-bottom-gray20-1 " + data-tabbar-target="tabbarContent" + role="none"><a + class="display-block tabbar__tabLink--s navMain__dropdownListLink--statistics" + href="/markets/415/consumer-goods-fmcg/" + data-gtm="navMain__statisticsNav--branchfmcgConsumerGoods" + role="menuitem"> + Consumer Goods & FMCG + </a></li><li + class="tabbar__tab tabbar__tab--s tabbar__tab--link border-bottom-gray20-1 " + data-tabbar-target="tabbarContent" + role="none"><a + class="display-block tabbar__tabLink--s navMain__dropdownListLink--statistics" + href="/markets/424/internet/" + data-gtm="navMain__statisticsNav--branchinternet" + role="menuitem"> + Internet + </a></li><li + class="tabbar__tab tabbar__tab--s tabbar__tab--link border-bottom-gray20-1 " + data-tabbar-target="tabbarContent" + role="none"><a + class="display-block tabbar__tabLink--s navMain__dropdownListLink--statistics" + href="/markets/417/media/" + data-gtm="navMain__statisticsNav--branchmediaMarketing" + role="menuitem"> + Media & Advertising + </a></li><li + class="tabbar__tab tabbar__tab--s tabbar__tab--link border-bottom-gray20-1 " + data-tabbar-target="tabbarContent" + role="none"><a + class="display-block tabbar__tabLink--s navMain__dropdownListLink--statistics" + href="/markets/423/retail-trade/" + data-gtm="navMain__statisticsNav--branchretailTrade" + role="menuitem"> + Retail & Trade + </a></li><li + class="tabbar__tab tabbar__tab--s tabbar__tab--link border-bottom-gray20-1 " + data-tabbar-target="tabbarContent" + role="none"><a + class="display-block tabbar__tabLink--s navMain__dropdownListLink--statistics" + href="/markets/409/sports-recreation/" + data-gtm="navMain__statisticsNav--branchsportsRecreation" + role="menuitem"> + Sports & Recreation + </a></li><li + class="tabbar__tab tabbar__tab--s tabbar__tab--link border-bottom-gray20-1 " + data-tabbar-target="tabbarContent" + role="none"><a + class="display-block tabbar__tabLink--s navMain__dropdownListLink--statistics" + href="/markets/418/technology-telecommunications/" + data-gtm="navMain__statisticsNav--branchtechnologyTelecommunications" + role="menuitem"> + Technology & Telecommunications + </a></li><li + class="tabbar__tab tabbar__tab--s tabbar__tab--link border-bottom-gray20-1 " + data-tabbar-target="tabbarContent" + role="none"><a + class="display-block tabbar__tabLink--s navMain__dropdownListLink--statistics" + href="/markets/419/transportation-logistics/" + data-gtm="navMain__statisticsNav--branchtravelLogistic" + role="menuitem"> + Transportation & Logistics + </a></li><li + class="tabbar__tab tabbar__tab--s tabbar__tab--link border-bottom-gray20-1 " + data-tabbar-target="tabbarContent" + role="none"><a + class="display-block tabbar__tabLink--s navMain__dropdownListLink--statistics" + href="/markets/420/travel-tourism-hospitality/" + data-gtm="navMain__statisticsNav--branchtravelTourismHospitality" + role="menuitem"> + Travel, Tourism & Hospitality + </a></li></ul></div><div class="tabbar__content-wrap flex__item width80"><div class="tabbar__content flex-width100 padding-all-20 active"><div class="row row-spacing-30"><div class="width80"><div class="subnavContent__headline row"><div class="width40"><div class="h3 hl-module"> + Most-viewed Statistics + </div></div><div class="width60 text-right"><a href="/statistics/recent/" + class="padding-right-10 text--link" + data-gtm="navMain__statisticsNav--recentStatistics"> + Recent Statistics + </a><a href="/statistics/popular/" + class="text--link" + data-gtm="navMain__statisticsNav--popularStatistics"> + Popular Statistics + </a></div></div><ul class="list list--blank margin-bottom-20"><li class="list__item"><a href="/statistics/264810/number-of-monthly-active-facebook-users-worldwide/" + class="list__itemWrap text--linkReset" + data-gtm="navMain__statisticsNav--promotedStatistic1"><i class="list__itemIcon list__itemIcon--26 iconSprite iconSprite--statisticBasis"></i><div class="list__itemText"> + Facebook: number of monthly active users worldwide 2008-2020 + </div></a></li><li class="list__item"><a href="/statistics/271496/global-market-share-held-by-smartphone-vendors-since-4th-quarter-2009/" + class="list__itemWrap text--linkReset" + data-gtm="navMain__statisticsNav--promotedStatistic2"><i class="list__itemIcon list__itemIcon--26 iconSprite iconSprite--statisticPremium"></i><div class="list__itemText"> + Smartphone market share worldwide by vendor 2009-2020 + </div></a></li><li class="list__item"><a href="/statistics/276623/number-of-apps-available-in-leading-app-stores/" + class="list__itemWrap text--linkReset" + data-gtm="navMain__statisticsNav--promotedStatistic3"><i class="list__itemIcon list__itemIcon--26 iconSprite iconSprite--statisticPremium"></i><div class="list__itemText"> + Number of apps available in leading app stores 2020 + </div></a></li><li class="list__item"><a href="/statistics/262858/change-in-opec-crude-oil-prices-since-1960/" + class="list__itemWrap text--linkReset" + data-gtm="navMain__statisticsNav--promotedStatistic4"><i class="list__itemIcon list__itemIcon--26 iconSprite iconSprite--statisticPremium"></i><div class="list__itemText"> + OPEC oil price annually 1960-2021 + </div></a></li><li class="list__item"><a href="/statistics/274326/big-mac-index-global-prices-for-a-big-mac/" + class="list__itemWrap text--linkReset" + data-gtm="navMain__statisticsNav--promotedStatistic5"><i class="list__itemIcon list__itemIcon--26 iconSprite iconSprite--statisticPremium"></i><div class="list__itemText"> + Big Mac index worldwide 2021 + </div></a></li></ul><div class="navMain__headline row"><div class="width50"><div class="h3 hl-module"> + Topics + </div></div><div class="width50 text-right"><a href="/topics/" + class="text--link" + data-gtm="navMain__statisticsNav--topicOverview"> + Topic Overview + </a></div></div><div><ul class="list list--blank"><li class="list__item"><a href="/topics/840/smartphones/" + class="list__itemWrap text--linkReset" + data-gtm="navMain__statisticsNav--promotedTopic1"><i class="list__itemIcon list__itemIcon--26 iconSprite iconSprite--topic"></i><div class="list__itemText"> + Smartphones - Statistics & Facts + </div></a></li><li class="list__item"><a href="/topics/1164/social-networks/" + class="list__itemWrap text--linkReset" + data-gtm="navMain__statisticsNav--promotedTopic2"><i class="list__itemIcon list__itemIcon--26 iconSprite iconSprite--topic"></i><div class="list__itemText"> + Social media - Statistics & Facts + </div></a></li></ul></div></div><div class="width20"><div><div class="subnavContent__headline"><div class="h3 hl-module">Top Study</div></div><div class="center"><a href="/study/10653/e-commerce-worldwide-statista-dossier/" + title="E-commerce worldwide" + class="center" + data-gtm="navMain__statisticsNav--promotedStudy noHover--underline"><img src="https://cdn.statcdn.com/static/icons/blank.gif" + data-src="https://cdn.statcdn.com/Study/10000/10653.png" + class="lazyOnShow subnavContent__image" + width="129" height="192" + alt="E-commerce worldwide"/><span class="button">View Study</span></a></div><p class="margin-top-30 text-center"><a href="/markets/" + class="text--link navMain__branchOverviewLink" + data-gtm="navMain__statisticsNav--branchOverview"> + Industry Overview + </a></p></div></div></div></div></div></div></div></nav-statistics></li><li class="navMain__item navMain__item--subnavExpanded" + ref="navMain__itemReports" + :class="{ 'navMain__item--focus': openNavigationItem === $refs.navMain__itemReports }"><a + id="navReports" + href="/studies-and-reports/" + aria-haspopup="true" + role="button" + itemprop="url" + data-gtm="navMain__navigationItem--reports" + class="navMain__text" + @focus="showNavigationItem" + @blur="hideNavigationItem"> + Reports + <svg class="navMain__caret" aria-hidden="true"><use xlink:href="#iconCaretDownFill"></use></svg></a><div class="navMain__subnavExpandedWrapper" + @focus.capture="showNavigationItem" + @blur.capture="hideNavigationItem"><div class="navMain__subnav navMain__subnav--expanded navMain__subnav--content"><div class="subnavContent__row"><div class="subnavContent__headline flex"><a + href="/studies-and-reports/" + role="menuitem" + data-gtm="navMain__reports--reportShop" + class="nodeco hl-module"> + Report Shop + </a><div class="margin-left-auto"><a + href="/studies-and-reports/all-reports" + role="menuitem" + data-gtm="navMain__reports--hubpage">Search our database</a></div></div><div class="subnavContent__text margin-bottom-15"><ul + class="flex width100" + role="menu" + aria-labelledby="navReports"><li + class="flex__item width33" + role="none"><a + href="/studies-and-reports/digital-and-trends" + role="menuitem" + class="navMain__subnavBlock" + data-gtm="navMain__reports--digital"><div class="navMain__subnavIcon"><svg class="reportsClusterIcon reportsClusterIcon--digital reportsClusterIcon--small margin-bottom-5" + viewBox="0 0 60 60" + preserveAspectRatio="xMidYMid meet" + width="32" + height="32" + xmlns="http://www.w3.org/2000/svg" + aria-hidden="true"><title>Digital & Trends</title><circle class="reportsClusterIcon__backgroundCircle" cx="30" cy="30" r="30" fill="rgba(152, 114, 250, 0.15)"></circle><path class="reportsClusterIcon__iconPath" d="M41.9 30.1h-2.2v-3.4h2.2c.7 0 1.1-.5 1.1-1.1s-.5-1.1-1.1-1.1h-2.2v-2.2c0-1.9-1.5-3.4-3.4-3.4H34v-2.2c0-.7-.5-1.1-1.1-1.1s-1.1.4-1.1 1.1v2.2h-4.5v-2.2c0-.7-.5-1.1-1.1-1.1s-1.2.3-1.2 1v2.2h-2.2c-1.9 0-3.4 1.5-3.4 3.4v2.2h-2.2c-.7 0-1.1.5-1.1 1.1s.5 1.1 1.1 1.1h2.2V30h-2.2c-.7 0-1.1.5-1.1 1.1s.5 1.1 1.1 1.1h2.2v3.4c0 1.9 1.5 3.4 3.4 3.4H25v2.2c0 .7.5 1.1 1.1 1.1s1.1-.5 1.1-1.1V39h4.5v2.2c0 .7.5 1.1 1.1 1.1s1.2-.3 1.2-.9v-2.2h2.2c1.9 0 3.4-1.5 3.4-3.4v-3.4h2.2c.7 0 1.1-.5 1.1-1.1s-.4-1.2-1-1.2zm-4.5 5.7c0 .6-.5 1.1-1.1 1.1H22.8c-.6 0-1.1-.5-1.1-1.1V22.2c0-.6.5-1.1 1.1-1.1h13.5c.6 0 1.1.5 1.1 1.1v13.6zm-4.5-11.3h-6.8c-.6 0-1.1.5-1.1 1.1v6.8c0 .6.5 1.1 1.1 1.1h6.8c.6 0 1.1-.5 1.1-1.1v-6.8c0-.6-.5-1.1-1.1-1.1zm-1.1 6.7h-4.5v-4.5h4.5v4.5z" fill="#845ef6"></path></svg></div><div class="navMain__subnavTextWrapper"><p class="text-bold">Digital & Trend Reports</p><p class="text-normal text-color--gray">Overview and forecasts on trending topics</p></div></a></li><li + class="flex__item width33" + role="none"><a + href="/studies-and-reports/industries" + role="menuitem" + class="navMain__subnavBlock" + data-gtm="navMain__reports--industry"><div class="navMain__subnavIcon"><svg class="reportsClusterIcon reportsClusterIcon--industry reportsClusterIcon--small margin-bottom-5" + viewBox="0 0 60 60" + preserveAspectRatio="xMidYMid meet" + width="32" + height="32" + xmlns="http://www.w3.org/2000/svg" + aria-hidden="true"><title>Industries</title><circle class="reportsClusterIcon__backgroundCircle" cx="30" cy="30" r="30" fill="rgba(207, 0, 0, 0.1)"></circle><path class="reportsClusterIcon__iconPath" d="M36,28.5857864 L43.2928932,21.2928932 C43.9228581,20.6629284 45,21.1090951 45,22 L45,42.0020061 C45,43.5527689 43.5518005,45 42,45 L18,45 C16.4481995,45 15,43.5527689 15,42.0020061 L15,18 C15,16.4477153 16.4477153,15 18,15 L24,15 C25.5562374,15 27,16.4364585 27,18 L27,28.5857864 L34.2928932,21.2928932 C34.9228581,20.6629284 36,21.1090951 36,22 L36,28.5857864 Z M34,24.4142136 L26.7071068,31.7071068 C26.0771419,32.3370716 25,31.8909049 25,31 L25,18 C25,17.5433051 24.4539323,17 24,17 L18,17 C17.5522847,17 17,17.5522847 17,18 L17,42.0020061 C17,42.4478998 17.5524696,43 18,43 L42,43 C42.4475304,43 43,42.4478998 43,42.0020061 L43,24.4142136 L35.7071068,31.7071068 C35.0771419,32.3370716 34,31.8909049 34,31 L34,24.4142136 Z" fill="#e42929"></path></svg></div><div class="navMain__subnavTextWrapper"><p class="text-bold">Industry Reports</p><p class="text-normal text-color--gray">Industry insights and forecasts</p></div></a></li><li + class="flex__item width33" + role="none"><a + href="/studies-and-reports/brands-and-companies" + role="menuitem" + class="navMain__subnavBlock" + data-gtm="navMain__reports--company"><div class="navMain__subnavIcon"><svg class="reportsClusterIcon reportsClusterIcon--company reportsClusterIcon--small margin-bottom-5" + viewBox="0 0 60 60" + preserveAspectRatio="xMidYMid meet" + width="32" + height="32" + xmlns="http://www.w3.org/2000/svg" + aria-hidden="true"><title>Brands & Companies</title><circle class="reportsClusterIcon__backgroundCircle" cx="30" cy="30" r="30" fill="rgba(245, 109, 0, 0.1)"></circle><path class="reportsClusterIcon__iconPath" d="M24,42 L18,42 C16.3431458,42 15,40.6568542 15,39 L15,24 C15,22.3431458 16.3431458,21 18,21 L23,21 L23,18.7777778 C23,16.7392046 24.6961272,15.105011 26.7956086,15.0048647 L27,15 L33,15 C35.1926803,15 37,16.6734441 37,18.7777778 L37,18.7777778 L37,21 L42,21 C43.6568542,21 45,22.3431458 45,24 L45,39 C45,40.6568542 43.6568542,42 42,42 L36,42 L36,42 L24,42 L24,42 Z M23,23 L18,23 C17.4477153,23 17,23.4477153 17,24 L17,39 C17,39.5522847 17.4477153,40 18,40 L23,40 L23,23 Z M35,23 L25,23 L25,40 L35,40 L35,23 Z M42,23 L37,23 L37,40 L42,40 C42.5522847,40 43,39.5522847 43,39 L43,24 C43,23.4477153 42.5522847,23 42,23 Z M33,17 L27,17 C25.8789718,17 25,17.8138628 25,18.7777778 L25,18.7777778 L25,21 L35,21 L35,18.7777778 C35,17.8597635 34.2027466,17.077851 33.1584315,17.0054648 L33,17 Z" fill="#f56d00"></path></svg></div><div class="navMain__subnavTextWrapper"><p class="text-bold">Brands & Company Reports</p><p class="text-normal text-color--gray">Key figures and rankings about brands and companies</p></div></a></li><li + class="flex__item width33" + role="none"><a + href="/studies-and-reports/consumers" + role="menuitem" + class="navMain__subnavBlock" + data-gtm="navMain__reports--consumer"><div class="navMain__subnavIcon"><svg class="reportsClusterIcon reportsClusterIcon--consumer reportsClusterIcon--small margin-bottom-5" + viewBox="0 0 60 60" + preserveAspectRatio="xMidYMid meet" + width="32" + height="32" + xmlns="http://www.w3.org/2000/svg" + aria-hidden="true"><title>Consumers</title><circle class="reportsClusterIcon__backgroundCircle" cx="30" cy="30" r="30" fill="rgba(130, 214, 55, 0.2)"></circle><path class="reportsClusterIcon__iconPath" d="M20.9999908,15 L38.9999908,15 C39.2925498,15 39.5681718,15.1279368 39.7567536,15.3462924 L39.8320411,15.4452998 L43.8320411,21.4452998 C43.8335442,21.4475545 43.8350376,21.4498145 43.8365215,21.4520799 C43.8943826,21.5401236 43.9384422,21.6373435 43.9661943,21.7412249 C43.9810228,21.797279 43.9911007,21.8545905 43.9961716,21.9125799 L43.9999908,22 L43.9999908,42 C43.9999908,43.496846 42.6538372,44.8964584 41.1658457,44.9945215 L40.9999908,45 L18.9999908,45 C17.5031448,45 16.1035324,43.6538464 16.0054693,42.1658549 L15.9999908,42 L15.9999908,22 C15.9999908,21.84206 16.0373911,21.6869471 16.1084212,21.5471146 L16.1679405,21.4452998 L20.1679405,15.4452998 C20.330223,15.201876 20.5895605,15.0435112 20.8758497,15.0077235 L20.9999908,15 L38.9999908,15 Z M41.9999908,23 L18,23 L17.9999908,42 C17.9999908,42.4157356 18.4761955,42.9216357 18.9026906,42.991786 L18.9999908,43 L40.9999908,43 C41.4157263,43 41.9216265,42.5237953 41.9917768,42.0973002 L41.9999908,42 L41.9999908,23 Z M35,27 C35.5522847,27 36,27.4477153 36,28 C36,31.3137085 33.3137085,34 30,34 C26.6862915,34 24,31.3137085 24,28 C24,27.4477153 24.4477153,27 25,27 C25.5522847,27 26,27.4477153 26,28 C26,30.209139 27.790861,32 30,32 C32.209139,32 34,30.209139 34,28 C34,27.4477153 34.4477153,27 35,27 Z M38.464807,17 L21.5351745,17 L18.8679908,21 L41.1319908,21 L38.464807,17 Z" fill="#40990f"></path></svg></div><div class="navMain__subnavTextWrapper"><p class="text-bold">Consumer Reports</p><p class="text-normal text-color--gray">Consumer insights and preferences in various industries</p></div></a></li><li + class="flex__item width33" + role="none"><a + href="/studies-and-reports/politics-and-society" + role="menuitem" + class="navMain__subnavBlock" + data-gtm="navMain__reports--politics"><div class="navMain__subnavIcon"><svg class="reportsClusterIcon reportsClusterIcon--politics reportsClusterIcon--small margin-bottom-5" + viewBox="0 0 60 60" + preserveAspectRatio="xMidYMid meet" + width="32" + height="32" + xmlns="http://www.w3.org/2000/svg" + aria-hidden="true"><title>Politics & Society</title><circle class="reportsClusterIcon__backgroundCircle" cx="30" cy="30" r="30" fill="rgba(31, 191, 174, 0.15)"></circle><path class="reportsClusterIcon__iconPath" d="M39,32 C42.471551,32 44.8881697,34.3377198 44.9962228,37.7595262 L45,38 L45,41 C45,41.5522847 44.5522847,42 44,42 C43.4871642,42 43.0644928,41.6139598 43.0067277,41.1166211 L43,41 L43,38 C43,35.5522847 41.4477153,34 39,34 C38.4477153,34 38,33.5522847 38,33 C38,32.4477153 38.4477153,32 39,32 Z M21.0897709,32.0112795 L31,32 C34.471551,32 36.8881697,34.3377198 36.9962228,37.7595262 L37,38 L37,41 C37,41.5522847 36.5522847,42 36,42 C35.4871642,42 35.0644928,41.6139598 35.0067277,41.1166211 L35,41 L35,38 C35,35.6264579 33.5403677,34.0949001 31.2210724,34.004258 L31.0011382,34 L21.0872601,34.0112722 C18.6387213,34.0023374 17.0955632,35.4498572 17.0042869,37.7790707 L17,38 L17,41 C17,41.5522847 16.5522847,42 16,42 C15.4871642,42 15.0644928,41.6139598 15.0067277,41.1166211 L15,41 L15,38 C15,34.5105776 17.3560724,32.1091539 20.8445656,32.0141502 L21.0897709,32.0112795 L31,32 Z M34,17 C37.3137085,17 40,19.6862915 40,23 C40,26.3137085 37.3137085,29 34,29 C33.4477153,29 33,28.5522847 33,28 C33,27.4477153 33.4477153,27 34,27 C36.209139,27 38,25.209139 38,23 C38,20.790861 36.209139,19 34,19 C33.4477153,19 33,18.5522847 33,18 C33,17.4477153 33.4477153,17 34,17 Z M26,17 C29.3137085,17 32,19.6862915 32,23 C32,26.3137085 29.3137085,29 26,29 C22.6862915,29 20,26.3137085 20,23 C20,19.6862915 22.6862915,17 26,17 Z M26,19 C23.790861,19 22,20.790861 22,23 C22,25.209139 23.790861,27 26,27 C28.209139,27 30,25.209139 30,23 C30,20.790861 28.209139,19 26,19 Z" fill="#1fbfae"></path></svg></div><div class="navMain__subnavTextWrapper"><p class="text-bold">Politics & Society Reports</p><p class="text-normal text-color--gray">Detailed information about political and social topics</p></div></a></li><li + class="flex__item width33" + role="none"><a + href="/studies-and-reports/regions-and-countries" + role="menuitem" + class="navMain__subnavBlock" + data-gtm="navMain__reports--country"><div class="navMain__subnavIcon"><svg class="reportsClusterIcon reportsClusterIcon--country reportsClusterIcon--small margin-bottom-5" + viewBox="0 0 60 60" + preserveAspectRatio="xMidYMid meet" + width="32" + height="32" + xmlns="http://www.w3.org/2000/svg" + aria-hidden="true"><title>Countries</title><circle class="reportsClusterIcon__backgroundCircle" cx="30" cy="30" r="30" fill="rgba(0, 118, 255, 0.1)"></circle><path class="reportsClusterIcon__iconPath" d="M30,15 C38.2842712,15 45,21.7157288 45,30 C45,38.2842712 38.2842712,45 30,45 C21.7157288,45 15,38.2842712 15,30 C15,21.7157288 21.7157288,15 30,15 Z M34.9840671,31.0012826 L25.0159329,31.0012826 C25.1940011,36.5016423 26.8641289,40.3966875 30,42.773505 C33.1358711,40.3966875 34.8059989,36.5016423 34.9840671,31.0012826 Z M23.0150857,31.0010074 L17.0379231,31.0004402 C17.4694625,36.6707378 21.538637,41.3241626 26.9169638,42.6322316 C24.4627009,39.8549239 23.1667739,35.9621507 23.0150857,31.0010074 Z M42.9620768,31.0004401 L36.9849142,31.0010072 C36.8332249,35.9621486 35.5372791,39.8548912 33.0827142,42.6317055 C38.4613453,41.3241336 42.5305365,36.6707363 42.9620768,31.0004401 Z M26.9172858,17.3682945 L26.7333006,17.4138668 C21.4460612,18.7822455 17.4643079,23.3942525 17.0378864,29.0000426 L23.0150554,28.9999867 C23.166602,24.0383713 24.462557,20.1452942 26.9172858,17.3682945 Z M30,17.226495 L29.7476393,17.4235955 C26.77431,19.816289 25.1889873,23.6482285 25.0159041,28.9996066 L34.9840959,28.9996066 C34.8110127,23.6482285 33.22569,19.816289 30.2523607,17.4235955 L30,17.226495 Z M33.0830362,17.3677684 L33.2737492,17.5894319 C35.6047616,20.3505805 36.8374073,24.1687857 36.9849497,29.0001555 L42.9621531,29.0005624 C42.5310171,23.3298107 38.46168,18.6759145 33.0830362,17.3677684 Z" fill="#0076ff"></path></svg></div><div class="navMain__subnavTextWrapper"><p class="text-bold">Country Reports</p><p class="text-normal text-color--gray">All key figures about regions and countries</p></div></a></li></ul></div><div class="subnavContent__footer"><a + href="/studies-and-reports/" + role="menuitem" + data-gtm="navMain__reports--searchAll"> + Find your information in our database containing over 20,000 reports + <i class="fa fa-long-arrow-right margin-left-10 margin-right-5" aria-hidden="true"></i></a></div></div></div></div></li><li class="navMain__item navMain__item--subnavExpanded" + ref="navMain__itemOutlooks" + :class="{ 'navMain__item--focus': openNavigationItem === $refs.navMain__itemOutlooks }"><button + id="navOutlooks" + class="navMain__text text-capital" + type="button" + aria-haspopup="true" + itemprop="url" + data-gtm="navMain__navigationItem--outlooks" + @focus="showNavigationItem" + @blur="hideNavigationItem">Outlooks <svg class="navMain__caret" aria-hidden="true"><use xlink:href="#iconCaretDownFill"></use></svg></button><div class="navMain__subnavExpandedWrapper" + @focus.capture="showNavigationItem" + @blur.capture="hideNavigationItem"><div class="navMain__subnav navMain__subnav--expanded navMain__subnav--content"><div class="subnavContent__row"><div class="subnavContent__headline flex"><span class="nodeco hl-module"> + Outlooks + </span></div><div class="subnavContent__text margin-bottom-15"><ul + class="flex width100" + role="menu" + aria-labelledby="navOutlooks"><li + class="flex__item width33" + role="none"><a + href="/outlook/consumer-markets" + role="menuitem" + class="navMain__subnavBlock" + data-gtm="navMain__reports--cmo"><div class="navMain__subnavIcon"><svg class="outlookClusterIcon outlookClusterIcon--cmo outlookClusterIcon--small margin-bottom-5" + viewBox="0 0 32 32" + preserveAspectRatio="xMidYMid meet" + width="32" + height="32" + xmlns="http://www.w3.org/2000/svg" + aria-hidden="true"><title>Consumer Market Outlook</title><circle class="outlookClusterIcon__backgroundCircle" cx="16" cy="16" r="16"></circle><path class="outlookClusterIcon__iconPath" d="M8.64645 11.3536L11.3536 8.64645C11.4473 8.55268 11.5745 8.5 11.7071 8.5H20.2929C20.4255 8.5 20.5527 8.55268 20.6464 8.64645L23.3536 11.3536C23.4473 11.4473 23.5 11.5745 23.5 11.7071V23C23.5 23.2761 23.2761 23.5 23 23.5H9C8.72386 23.5 8.5 23.2761 8.5 23V11.7071C8.5 11.5745 8.55268 11.4473 8.64645 11.3536Z M8.5 11.5H23.5 M18.5 14.5C18.5 17 17 17.5 16 17.5C15 17.5 13.5 17 13.5 14.5" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></svg></div><div class="navMain__subnavTextWrapper"><p class="text-bold">Consumer Market Outlook </p><p class="text-normal text-color--gray">Everything you need to know about Consumer Goods</p></div></a></li><li + class="flex__item width33" + role="none"><a + href="/outlook/digital-markets" + role="menuitem" + class="navMain__subnavBlock" + data-gtm="navMain__reports--dmo"><div class="navMain__subnavIcon"><svg class="outlookClusterIcon outlookClusterIcon--dmo outlookClusterIcon--small margin-bottom-5" + viewBox="0 0 32 32" + preserveAspectRatio="xMidYMid meet" + width="32" + height="32" + xmlns="http://www.w3.org/2000/svg" + aria-hidden="true"><title>Digital Market Outlook</title><circle class="outlookClusterIcon__backgroundCircle" cx="16" cy="16" r="16"></circle><path class="outlookClusterIcon__iconPath" d="M10.5 11C10.5 10.7239 10.7239 10.5 11 10.5H21C21.2761 10.5 21.5 10.7239 21.5 11V21C21.5 21.2761 21.2761 21.5 21 21.5H11C10.7239 21.5 10.5 21.2761 10.5 21V11Z M10.5 21V11C10.5 10.7239 10.7239 10.5 11 10.5H21C21.2761 10.5 21.5 10.7239 21.5 11V21C21.5 21.2761 21.2761 21.5 21 21.5H11C10.7239 21.5 10.5 21.2761 10.5 21Z M13.5 18V14C13.5 13.7239 13.7239 13.5 14 13.5H18C18.2761 13.5 18.5 13.7239 18.5 14V18C18.5 18.2761 18.2761 18.5 18 18.5H14C13.7239 18.5 13.5 18.2761 13.5 18Z M10.5 13.5H7.5M24.5 13.5H21.5M10.5 18.5H7.5M24.5 18.5H21.5M13.5 10.5V7.5M18.5 10.5V7.5M13.5 24.5V21.5M18.5 24.5V21.5" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></svg></div><div class="navMain__subnavTextWrapper"><p class="text-bold">Digital Market Outlook </p><p class="text-normal text-color--gray">Identify market potentials of the digital future</p></div></a></li><li + class="flex__item width33" + role="none"><a + href="/outlook/mobility-markets" + role="menuitem" + class="navMain__subnavBlock" + data-gtm="navMain__reports--mmo"><div class="navMain__subnavIcon"><svg class="outlookClusterIcon outlookClusterIcon--mmo outlookClusterIcon--small margin-bottom-5" + viewBox="0 0 32 32" + preserveAspectRatio="xMidYMid meet" + width="32" + height="32" + xmlns="http://www.w3.org/2000/svg" + aria-hidden="true"><title>Mobility Market Outlook</title><circle class="outlookClusterIcon__backgroundCircle" cx="16" cy="16" r="16"></circle><path class="outlookClusterIcon__iconPath" d="M8.5 12.5H9.3347C9.43342 12.5 9.52106 12.4368 9.55227 12.3432L10.0442 10.8675C10.3164 10.0509 11.0807 9.5 11.9415 9.5H20.0585C20.9193 9.5 21.6836 10.0509 21.9558 10.8675L22.4477 12.3432C22.4789 12.4368 22.5666 12.5 22.6653 12.5H23.5C24.0523 12.5 24.5 12.9477 24.5 13.5C24.5 14.0523 24.0523 14.5 23.5 14.5H22.5L22.8416 14.6708C23.858 15.179 24.5 16.2178 24.5 17.3541V18.9C24.5 19.7837 23.7837 20.5 22.9 20.5C22.6791 20.5 22.5 20.6791 22.5 20.9V22C22.5 22.2761 22.2761 22.5 22 22.5H20C19.7239 22.5 19.5 22.2761 19.5 22V21C19.5 20.7239 19.2761 20.5 19 20.5H13C12.7239 20.5 12.5 20.7239 12.5 21V22C12.5 22.2761 12.2761 22.5 12 22.5H10C9.72386 22.5 9.5 22.2761 9.5 22V20.9C9.5 20.6791 9.32091 20.5 9.1 20.5C8.21634 20.5 7.5 19.7837 7.5 18.9V17.3541C7.5 16.2178 8.14201 15.179 9.15836 14.6708L9.5 14.5H8.5C7.94772 14.5 7.5 14.0523 7.5 13.5C7.5 12.9477 7.94772 12.5 8.5 12.5Z M11.5 14.5H20.5 M 21, 17.5 a 0.5,0.5 0 1,0 1,0 a 0.5,0.5 0 1,0 -1,0 M 10, 17.5 a 0.5,0.5 0 1,0 1,0 a 0.5,0.5 0 1,0 -1,0" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></svg></div><div class="navMain__subnavTextWrapper"><p class="text-bold">Mobility Market Outlook </p><p class="text-normal text-color--gray">Key topics in mobility</p></div></a></li><li + class="flex__item width33" + role="none"><a + href="/outlook/technology-outlook" + role="menuitem" + class="navMain__subnavBlock" + data-gtm="navMain__reports--tmo"><div class="navMain__subnavIcon"><svg class="outlookClusterIcon outlookClusterIcon--tmo outlookClusterIcon--small margin-bottom-5" + viewBox="0 0 32 32" + preserveAspectRatio="xMidYMid meet" + width="32" + height="32" + xmlns="http://www.w3.org/2000/svg" + aria-hidden="true"><title>Technology Market Outlook</title><circle class="outlookClusterIcon__backgroundCircle" cx="16" cy="16" r="16"></circle><path class="outlookClusterIcon__iconPath" d="M24 19.5H8C7.58798 19.5 7.35279 19.9704 7.6 20.3L8.05 20.9C8.33328 21.2777 8.77786 21.5 9.25 21.5H22.75C23.2221 21.5 23.6667 21.2777 23.95 20.9L24.4 20.3C24.6472 19.9704 24.412 19.5 24 19.5Z M9.5 19.5V12C9.5 11.1716 10.1716 10.5 11 10.5H21C21.8284 10.5 22.5 11.1716 22.5 12V19.5" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></svg></div><div class="navMain__subnavTextWrapper"><p class="text-bold">Technology Market Outlook </p><p class="text-normal text-color--gray">Insights into the world's most important technology markets</p></div></a></li><li + class="flex__item width33" + role="none"><a + href="/outlook/health-markets" + role="menuitem" + class="navMain__subnavBlock" + data-gtm="navMain__reports--hmo"><div class="navMain__subnavIcon"><svg class="outlookClusterIcon outlookClusterIcon--hmo outlookClusterIcon--small margin-bottom-5" + viewBox="0 0 32 32" + preserveAspectRatio="xMidYMid meet" + width="32" + height="32" + xmlns="http://www.w3.org/2000/svg" + aria-hidden="true"><title>Health Market Outlook</title><circle class="outlookClusterIcon__backgroundCircle" cx="16" cy="16" r="16"></circle><path class="outlookClusterIcon__iconPath" d="M12 9.5C14 9.5 15 11 16 13C17 11 18 9.5 20 9.5C22.2812 9.5 24.5 11.5 24.5 14.5C24.5 18 19.5 22.5 16 24.5C12.5 22.5 7.5 18 7.5 14.5C7.5 11.5 9 9.5 12 9.5Z" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></svg></div><div class="navMain__subnavTextWrapper"><p class="text-bold">Health Market Outlook <span class="navMain__subnavTextBadge flatBadge flatBadge--blue margin-left-5"> + New + </span></p><p class="text-normal text-color--gray">Insights into the world’s most important health markets</p></div></a></li><li + class="flex__item width33" + role="none"><a + href="/outlook/advertising-media" + role="menuitem" + class="navMain__subnavBlock" + data-gtm="navMain__reports--amo"><div class="navMain__subnavIcon"><svg class="outlookClusterIcon outlookClusterIcon--amo outlookClusterIcon--small margin-bottom-5" + viewBox="0 0 32 32" + preserveAspectRatio="xMidYMid meet" + width="32" + height="32" + xmlns="http://www.w3.org/2000/svg" + aria-hidden="true"><title>Advertising & Media Outlook</title><circle class="outlookClusterIcon__backgroundCircle" cx="16" cy="16" r="16"></circle><path class="outlookClusterIcon__iconPath" d="M14.4093 12.5H8C7.72386 12.5 7.5 12.7239 7.5 13V17C7.5 17.2761 7.72386 17.5 8 17.5H14.4093C14.4693 17.5 14.5288 17.5108 14.5849 17.5318L21.8244 20.2467C22.1513 20.3692 22.5 20.1276 22.5 19.7785V10.2215C22.5 9.8724 22.1513 9.63076 21.8244 9.75334L14.5849 12.4682C14.5288 12.4892 14.4693 12.5 14.4093 12.5Z M14.5 12.5V17.5 M9.5 17.5L10.4196 22.0981C10.4664 22.3318 10.6716 22.5 10.9099 22.5H12C12.2761 22.5 12.5 22.2761 12.5 22V17.5 M24.5 13.5V16.5" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></svg></div><div class="navMain__subnavTextWrapper"><p class="text-bold">Advertising & Media Outlook </p><p class="text-normal text-color--gray">Figures and insights about the advertising and media world</p></div></a></li><li + class="flex__item width33" + role="none"><a + href="/outlook/industry-outlook" + role="menuitem" + class="navMain__subnavBlock" + data-gtm="navMain__reports--io"><div class="navMain__subnavIcon"><svg class="outlookClusterIcon outlookClusterIcon--io outlookClusterIcon--small margin-bottom-5" + viewBox="0 0 32 32" + preserveAspectRatio="xMidYMid meet" + width="32" + height="32" + xmlns="http://www.w3.org/2000/svg" + aria-hidden="true"><title>Industry Outlook</title><circle class="outlookClusterIcon__backgroundCircle" cx="16" cy="16" r="16"></circle><path class="outlookClusterIcon__iconPath" d="M13 8.5H9C8.72386 8.5 8.5 8.72386 8.5 9V23C8.5 23.2761 8.72386 23.5 9 23.5H23C23.2761 23.5 23.5 23.2761 23.5 23V13L19.3123 16.3501C18.985 16.612 18.5 16.3789 18.5 15.9597V13L14.3123 16.3501C13.985 16.612 13.5 16.3789 13.5 15.9597V9C13.5 8.72386 13.2761 8.5 13 8.5Z" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></svg></div><div class="navMain__subnavTextWrapper"><p class="text-bold">Industry Outlook </p><p class="text-normal text-color--gray">Everything you need to know about the industry development</p></div></a></li><li + class="flex__item width33" + role="none"><a + href="/outlook/country-outlook" + role="menuitem" + class="navMain__subnavBlock" + data-gtm="navMain__reports--co"><div class="navMain__subnavIcon"><svg class="outlookClusterIcon outlookClusterIcon--co outlookClusterIcon--small margin-bottom-5" + viewBox="0 0 32 32" + preserveAspectRatio="xMidYMid meet" + width="32" + height="32" + xmlns="http://www.w3.org/2000/svg" + aria-hidden="true"><title>Country Outlook</title><circle class="outlookClusterIcon__backgroundCircle" cx="16" cy="16" r="16"></circle><path class="outlookClusterIcon__iconPath" d="M16 24.5C20.6944 24.5 24.5 20.6944 24.5 16C24.5 11.3056 20.6944 7.5 16 7.5C11.3056 7.5 7.5 11.3056 7.5 16C7.5 20.6944 11.3056 24.5 16 24.5Z M16 24.5C17.5 24.5 19.5 21.4706 19.5 16.5C19.5 11.5294 17.5 7.5 16 7.5C14.5 7.5 12.5 11.5294 12.5 16.5C12.5 21.4706 14.5 24.5 16 24.5Z M7.5 16.5H24.5" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></svg></div><div class="navMain__subnavTextWrapper"><p class="text-bold">Country Outlook </p><p class="text-normal text-color--gray">Key economic and social indicators</p></div></a></li></ul></div></div></div></div></li><li + class="navMain__item navMain__item--subnav" + ref="navMain__itemTools" + :class="{ 'navMain__item--focus': openNavigationItem === $refs.navMain__itemTools }"><button + type="button" + class="navMain__text text-capital" + itemprop="url" + data-gtm="navMain__navigationItem--tools" + @focus="showNavigationItem" + @blur="hideNavigationItem">Tools <i class="fa fa-caret-down navMain__textIcon" aria-hidden="true"></i></button><div class="navMain__subnav navMain__subnav--list navMain__subnav--tools" + @focus.capture="showNavigationItem" + @blur.capture="hideNavigationItem"><ul + class="navMain__subnavList" + role="menu"><li + class="navMain__subnavItem" + role="none"><a href="/publication-finder" + role="menuitem" + class="navMain__subnavText navMain__subnavText--withIcon " + data-gtm="navMain__navigationItem--publicationFinder"><div class="navMain__subnavIcon"><span class="iconSprite iconSprite--publicationFinder"></span></div><div class="navMain__subnavTextWrapper"><span class="text-bold">Publication Finder </span><p class="text-normal text-color--gray">Find studies from all around the internet</p></div></a></li><li + class="navMain__subnavItem" + role="none"><a href="/companydb/about" + role="menuitem" + class="navMain__subnavText navMain__subnavText--withIcon " + rel="noopener nofollow" + data-gtm="navMain__navigationItem--companyDatabase"><div class="navMain__subnavIcon"><span class="iconSprite iconSprite--company"></span></div><div class="navMain__subnavTextWrapper"><span class="text-bold">Company DB <span class="navMain__subnavTextBadge flatBadge flatBadge--green margin-left-5">Beta</span></span><p class="text-normal text-color--gray">Key company figures at a glance</p></div></a></li><li + class="navMain__subnavItem" + role="none"><a href="/business-plan-export" + role="menuitem" + class="navMain__subnavText navMain__subnavText--withIcon " + data-gtm="navMain__navigationItem--businessPlanExport"><div class="navMain__subnavIcon"><span class="iconSprite iconSprite--bpe"></span></div><div class="navMain__subnavTextWrapper"><span class="text-bold">Business Plan Export </span><p class="text-normal text-color--gray">Data sets for your business plan</p></div></a></li></ul></div></li><li class="navMain__item"><a + id="navInfographics" + class="navMain__text navMain__text--active" + role="button" + href="/chartoftheday/" + itemprop="url" + data-gtm="navMain__navigationItem--infographics"> + Infographics + </a></li><li + class="navMain__item navMain__item--subnavExpanded" + ref="navMain__itemServices" + :class="{ 'navMain__item--focus': openNavigationItem === $refs.navMain__itemServices }" + @mouseenter="showLazyImages"><a + id="navServices" + aria-haspopup="true" + role="button" + class="navMain__text" + href="/aboutus/" + itemprop="url" + data-gtm="navMain__navigationItem--services" + @focus="showNavigationItem" + @blur="hideNavigationItem"> + Services + <svg class="navMain__caret" aria-hidden="true"><use xlink:href="#iconCaretDownFill"></use></svg></a><div + class="navMain__subnavExpandedWrapper" + @focus.capture="showNavigationItem" + @blur.capture="hideNavigationItem"><div class="navMain__subnav navMain__subnav--expanded navMain__subnav--content"><div class="subnavContent__row"><div class="subnavContent__headline"><div id="navStatisticsPortal" class="hl-module"> + The Statistics Portal + </div></div><p class="subnavContent__text margin-bottom-15"> + + Directly accessible data for 170 industries from 50 countries + and over 1 Mio. facts. + + </p><ul + class="subnavContent__list subnavContent__list--styleNone" + role="menu" + aria-labelledby="navStatisticsPortal"><li + class="subnavContent__listItem" + role="none"><a + href="/aboutus/" + role="menuitem" + class="text--link" + data-gtm="navMain__services--aboutUs"> + About Statista + <i class="fa fa-long-arrow-right" aria-hidden="true"></i></a></li><li + class="subnavContent__listItem" + role="none"><a + href="/aboutus/trust" + role="menuitem" + class="text--link" + data-gtm="navMain__services--trust">Why trust Statista + <i class="fa fa-long-arrow-right" aria-hidden="true"></i></a></li><li + class="subnavContent__listItem" + role="none"><a + href="/getting-started" + role="menuitem" + class="text--link" + data-gtm="navMain__services--gettingStarted">First Steps and Help Centre + <i class="fa fa-long-arrow-right" aria-hidden="true"></i></a></li><li + class="subnavContent__listItem" + role="none"><a + href="/statistic-portal/" + role="menuitem" + class="text--link" + data-gtm="navMain__services--statisticPortal">Tools and Tutorials explained in our Media Centre + <i class="fa fa-long-arrow-right" aria-hidden="true"></i></a></li></ul></div><div class="subnavContent__row"><div class="subnavContent__headline"><div id="navResearchAnalysis" class="hl-module"> + Research & Analysis + </div></div><div class="navMain__dropdownContent"><div class="subnavContent__text"><p class="margin-bottom-10"> + + Customized Research & Analysis projects: + + </p></div><a + href="https://q.statista.com/" + role="menuitem" + target="_blank" + rel="noopener" + class="text--link" + data-gtm="navMain__services--researchAnalysis"> + Statista Q + <i class="fa fa-long-arrow-right" aria-hidden="true"></i></a><div class="subnavContent__text"><p class="margin-top-10 margin-bottom-10"> + + Quick Analysis with our professional Research Service: + + </p></div><a + href="https://ask.statista.com/" + role="menuitem" + target="_blank" + rel="noopener" + class="text--link" + data-gtm="navMain__services--askStatista"> + AskStatista + <i class="fa fa-long-arrow-right" aria-hidden="true"></i></a><p class="margin-top-10 margin-bottom-10"> + Unique content meets Design: + </p><a + href="/page/whitepaper" + role="menuitem" + class="text--link" + data-gtm="navMain__services--whitepaper"> + Whitepaper Configurator + <i class="fa fa-long-arrow-right" aria-hidden="true"></i></a></div></div><div class="subnavContent__row"><div class="subnavContent__headline"><div id="navContentDesign" class="hl-module"> + Content & Information Design + </div></div><p> + Information Design for your projects: + </p><p class="margin-top-10"><img + src="https://cdn.statcdn.com/static/icons/blank.gif" + data-src="https://cdn.statcdn.com/static/img/cidNavImage2021.png" + data-src-retina="https://cdn.statcdn.com/static/img/cidNavImage2021@2x.png" + width="90" + height="90" + alt="" + class="display-block margin-vertical-10 lazyOnShow" /></p><ul + class="subnavContent__list" + role="menu" + aria-labelledby="navContentDesign"><li + class="subnavContent__listItem" + role="none"><i class="fa fa-check text-color--primary margin-right-5" aria-hidden="true"></i>Customized infographic service</li><li + class="subnavContent__listItem" + role="none"><i class="fa fa-check text-color--primary margin-right-5" aria-hidden="true"></i>Presentation Design</li><li + class="subnavContent__listItem" + role="none"><i class="fa fa-check text-color--primary margin-right-5" aria-hidden="true"></i>Animated videos</li><li + class="subnavContent__listItem" + role="none"><i class="fa fa-check text-color--primary margin-right-5" aria-hidden="true"></i>Whitepapers, E-Books, etc.</li></ul><p><a + href="https://content-design.statista.com/?utm_source=statista&utm_medium=referral&utm_campaign=top_navigation_link_en" + class="text--link" + role="menuitem" + data-gtm="navMain__services--contentDesign" + target="_blank" rel="noopener">More Information + <i class="fa fa-long-arrow-right" aria-hidden="true"></i></a></p></div><div class="subnavContent__row"><div class="subnavContent__headline"><div id="navEcommerceDB" class="hl-module"> + eCommerceDB.com + </div></div><div class="navMain__dropdownContent"><p class="margin-bottom-10"> + KPIs for more than 20,000 online stores + </p><ul + class="subnavContent__list" + role="menu" + aria-labelledby="navEcommerceDB"><li + class="subnavContent__listItem" + role="none"><i class="fa fa-check text-color--primary margin-right-5" aria-hidden="true"></i>Rankings by country</li><li + class="subnavContent__listItem" + role="none"><i class="fa fa-check text-color--primary margin-right-5" aria-hidden="true"></i>Rankings by category</li></ul><a + href="https://ecommercedb.com/" + role="menuitem" + target="_blank" + rel="noopener" + class="text--link" + data-gtm="navMain__services--eCommerceDB"> + Go to database + <i class="fa fa-long-arrow-right" aria-hidden="true"></i></a><div class="text-center margin-top-20"><img + class="lazyOnShow" + alt="" + role="none" + width="233" + height="133" + src="https://cdn.statcdn.com/static/icons/blank.gif" + data-src="https://cdn.statcdn.com/static/img/nav-ecommercedb-new.png"/></div></div></div></div></div></li><li class="navMain__item"><a + class="navMain__text navMain__text--badge" + href="/global-consumer-survey/surveys" + itemprop="url" + data-gtm="navMain__navigationItem--gcs"><span class="navMain__textInnerWrap"> + Global Survey + </span><span class="navMain__itemBadge flatBadge flatBadge--blue"> + New + </span></a></li></ul></nav></div></div><nav-login + :modal-open="loginModalOpen" + :path-action="'/login/mask'" + :path-password-recovery="'/login/password/'" + :path-campus-login="'/login/campus/'" + :path-resend-confirmation-link="'/login/resend-confirmation-link'" + :path-contact="'/contact/'" + :path-register="'/accounts/'" + :path-imprint="'/imprint/'" + :locale="'en'" + @toggle-login-modal="toggleLoginModal"></nav-login></div></div></div></header><div id="main-content" tabindex="-1"></div><div class="hrPrimary--3"></div><nav class="mobileMenu hidden" aria-label="Mobile menu" data-mobile-menu><ul class="mobileNav" role="navigation" aria-label="Mobile navigation"><li class="mobileNav__item"><span class="mobileNav__link" + data-hide="mobileSubMenu1" + aria-controls="mobileSubMenu1" + aria-expanded="false" + data-gtm="mobileNav__item--prices">Prices & Access<i class="fa fa-angle-down margin-left-7 opacity-60" aria-hidden="true"></i></span></li><div id="mobileSubMenu1" class="mobileNav__subItems hide"><li class="mobileNav__item mobileNav__item--sub"><a href="/accounts/" + class="mobileNav__link mobileNav__link--sub" + data-gtm="mobileNav__subItem--singleAccounts" + >Single Accounts</a></li><li class="mobileNav__item mobileNav__item--sub"><a href="/accounts/corporate/" + class="mobileNav__link mobileNav__link--sub" + data-gtm="mobileNav__subItem--corporateSolutions" + >Corporate Solutions</a></li><li class="mobileNav__item mobileNav__item--sub"><a href="/accounts/education/" + class="mobileNav__link mobileNav__link--sub" + data-gtm="mobileNav__subItem--universities" + >Universities</a></li></div><li class="mobileNav__item"><span class="mobileNav__link" + data-hide="mobileSubMenu2" + aria-controls="mobileSubMenu2" + aria-expanded="false" + data-gtm="mobileNav__item--statistics">Statistics<i class="fa fa-angle-down margin-left-7 opacity-60" aria-hidden="true"></i></span></li><div id="mobileSubMenu2" class="mobileNav__subItems hide"><li class="mobileNav__item mobileNav__item--sub"><a href="/statistics/popular/" + class="mobileNav__link mobileNav__link--sub" + data-gtm="mobileNav__subItem--popularStatistics" + >Popular Statistics</a></li><li class="mobileNav__item mobileNav__item--sub"><a href="/topics/" + class="mobileNav__link mobileNav__link--sub" + data-gtm="mobileNav__subItem--topics" + >Topics</a></li><li class="mobileNav__item mobileNav__item--sub"><a href="/markets/" + class="mobileNav__link mobileNav__link--sub" + data-gtm="mobileNav__subItem--markets" + >Markets</a></li></div><li class="mobileNav__item"><a href="/studies-and-reports/" + class="mobileNav__link" + data-gtm="mobileNav__item--reports" + >Reports</a></li><li class="mobileNav__item"><span class="mobileNav__link" + data-hide="mobileSubMenu4" + aria-controls="mobileSubMenu4" + aria-expanded="false" + data-gtm="mobileNav__item--outlooks">Outlooks<i class="fa fa-angle-down margin-left-7 opacity-60" aria-hidden="true"></i></span></li><div id="mobileSubMenu4" class="mobileNav__subItems hide"><li class="mobileNav__item mobileNav__item--sub"><a href="/outlook/consumer-markets" + class="mobileNav__link mobileNav__link--sub" + data-gtm="mobileNav__subItem--cmo" + >Consumer Markets</a></li><li class="mobileNav__item mobileNav__item--sub"><a href="/outlook/digital-markets" + class="mobileNav__link mobileNav__link--sub" + data-gtm="mobileNav__subItem--dmo" + >Digital Markets</a></li><li class="mobileNav__item mobileNav__item--sub"><a href="/outlook/mobility-markets" + class="mobileNav__link mobileNav__link--sub" + data-gtm="mobileNav__subItem--mmo" + >Mobility Markets</a></li><li class="mobileNav__item mobileNav__item--sub"><a href="/outlook/technology-outlook" + class="mobileNav__link mobileNav__link--sub" + data-gtm="mobileNav__subItem--tmo" + >Technology Markets</a></li><li class="mobileNav__item mobileNav__item--sub"><a href="/outlook/health-markets" + class="mobileNav__link mobileNav__link--sub" + data-gtm="mobileNav__subItem--hmo" + >Health Markets</a></li><li class="mobileNav__item mobileNav__item--sub"><a href="/outlook/advertising-media" + class="mobileNav__link mobileNav__link--sub" + data-gtm="mobileNav__subItem--amo" + >Advertising & Media</a></li><li class="mobileNav__item mobileNav__item--sub"><a href="/outlook/industry-outlook" + class="mobileNav__link mobileNav__link--sub" + data-gtm="mobileNav__subItem--io" + >Industry Outlook</a></li><li class="mobileNav__item mobileNav__item--sub"><a href="/outlook/country-outlook" + class="mobileNav__link mobileNav__link--sub" + data-gtm="mobileNav__subItem--co" + >Country Outlook</a></li></div><li class="mobileNav__item"><span class="mobileNav__link" + data-hide="mobileSubMenu5" + aria-controls="mobileSubMenu5" + aria-expanded="false" + data-gtm="mobileNav__item--tools">Tools<i class="fa fa-angle-down margin-left-7 opacity-60" aria-hidden="true"></i></span></li><div id="mobileSubMenu5" class="mobileNav__subItems hide"><li class="mobileNav__item mobileNav__item--sub"><a href="/publication-finder" + class="mobileNav__link mobileNav__link--sub" + data-gtm="mobileNav__subItem--publicationFinder" + >Publication Finder</a></li><li class="mobileNav__item mobileNav__item--sub"><a href="/companydb/search" + class="mobileNav__link mobileNav__link--sub" + data-gtm="mobileNav__subItem--companyDatabase" + >Company DB</a></li><li class="mobileNav__item mobileNav__item--sub"><a href="/business-plan-export" + class="mobileNav__link mobileNav__link--sub" + data-gtm="mobileNav__subItem--businessPlanExport" + >Business Plan Export</a></li></div><li class="mobileNav__item"><a href="/chartoftheday/" + class="mobileNav__link" + data-gtm="mobileNav__item--infographics" + >Infographics</a></li><li class="mobileNav__item"><span class="mobileNav__link" + data-hide="mobileSubMenu7" + aria-controls="mobileSubMenu7" + aria-expanded="false" + data-gtm="mobileNav__item--services">Services<i class="fa fa-angle-down margin-left-7 opacity-60" aria-hidden="true"></i></span></li><div id="mobileSubMenu7" class="mobileNav__subItems hide"><li class="mobileNav__item mobileNav__item--sub"><a href="https://content-design.statista.com/?utm_source=statista&utm_medium=referral&utm_campaign=top_navigation_link_en" + class="mobileNav__link mobileNav__link--sub" + data-gtm="mobileNav__subItem--contentDesign" + target="_blank" + rel="noopener" + >Content & Information Design</a></li><li class="mobileNav__item mobileNav__item--sub"><a href="https://www.statista-research.com/en/" + class="mobileNav__link mobileNav__link--sub" + data-gtm="mobileNav__subItem--researchProjects" + target="_blank" + rel="noopener" + >Research projects</a></li><li class="mobileNav__item mobileNav__item--sub"><a href="https://ask.statista.com/" + class="mobileNav__link mobileNav__link--sub" + data-gtm="mobileNav__subItem--askStatista" + target="_blank" + rel="noopener" + >Ask Statista</a></li></div><li class="mobileNav__item"><a href="/global-consumer-survey" + class="mobileNav__link" + data-gtm="mobileNav__item--globalConsumerSurvey" + >Global Consumer Survey</a></li></ul><div class="horizontalDivider horizontalDivider--width100 opacity-30 margin-top-35 margin-bottom-7"></div><div class="flex flex--center flex--spaceBetween"><ul class="mobilePlatformSwitch"><div class="mobilePlatformSwitch__icon"><i class="fa fa-globe" aria-hidden="true"></i></div><li class="mobilePlatformSwitch__item"><a href="https://de.statista.com" + class="mobilePlatformSwitch__link mobileMenu__link--reset" + data-gtm="mobileMenu__language--de">DE</a></li><li class="mobilePlatformSwitch__item"><a href="https://es.statista.com" + class="mobilePlatformSwitch__link mobileMenu__link--reset" + data-gtm="mobileMenu__language--es">ES</a></li><li class="mobilePlatformSwitch__item"><a href="https://fr.statista.com" + class="mobilePlatformSwitch__link mobileMenu__link--reset" + data-gtm="mobileMenu__language--fr">FR</a></li></ul><div class="mobileLogin"><form action="/login/" class="flex flex--center"><i class="fa fa-sign-in" aria-hidden="true"></i><input type="submit" + value="Login" + data-mobile-login + class="mobileMenu__login" + itemprop="url" + data-gtm="mobileMenu__login" + /></form></div></div><div class="mobileMenuCloseIcon" data-mobile-menu-close></div></nav><div class="mobileMenuBackdrop hidden" data-mobile-menu-backdrop></div><div id="contentBefore" class="page__contentBefore"></div><div id="content" class="page__content grid "><div class="socialMediaBox hideNoScript hideMobile cloakRendering"><div class="smBanner"><a href="/chartoftheday/" target="_blank" rel="noopener" class="banner-follow"><nobr>Follow Statista</nobr></a></div><div><div class="sm facebook"><a href="https://www.facebook.com/Statista.Inc" target="_blank" rel="noopener"><span class="socialMediaIcon socialMediaIcon--facebook margin-right-5"></span><span class="counter">53k</span></a></div><div class="sm twitter"><a href="https://twitter.com/StatistaCharts" target="_blank" rel="noopener"><span class="socialMediaIcon socialMediaIcon--twitter margin-right-5"></span><span class="counter">74.6k</span></a></div><div class="sm linkedin"><a href="https://www.linkedin.com/company/statista/" target="_blank" rel="noopener"><span class="socialMediaIcon socialMediaIcon--linkedin margin-right-5"></span><span class="counter">87k</span></a></div><div class="sm instagram"><a href="https://www.instagram.com/statista/" target="_blank" rel="noopener"><span class="socialMediaIcon socialMediaIcon--instagram margin-right-5"></span><span class="counter">88.9k</span></a></div></div><div class="clear"></div></div><section id="dc-billboard" class="text-center"></section><section class="section padding-all-50 padding-all-s-15 bg-gradient-white-primary50"><div class="row hideMobile"><ul class="breadcrumbs"><li><a href="/topics/"><span>Topics</span></a><span class="divider">›</span></li><li><a href="/topics/2739/cloud-infrastructure-as-a-service/"><span>Infrastructure as a Service (IaaS)</span></a><span class="divider">›</span></li></ul></div><article + id="infographicArticle-18819" + class="article article--infographic article--infographic18819 row padding-top-15" + aria-labelledby="infographicArticleTitle"><div class="row"><header class="article__header"><h2 class="hl-module text-color--gray-light margin-bottom-0"> + Cloud Infrastructure Market + </h2><h1 id="infographicArticleTitle" class="hl-article article__title"> + Amazon Leads $130-Billion Cloud Market + </h1></header><footer class="article__meta"><div class="article__editor"><span>by </span><address class="infographic__author"><a rel="author" href="mailto:felix.richter@statista.com">Felix Richter</a>, + </address> + + </div><time class="infographic__date infographic__date--published" datetime="2021-02-04" title="February 4th, 2021"> + Feb 4, 2021 + </time><div class="article__topic showMobile"><i class="fa fa-tag"></i> + Infrastructure as a Service (IaaS) + </div></footer></div><div class="row margin-bottom-15"><div class="width70 padding-right-15"><div class="article__contentText"><p><div id="dc-content" class="float-right hideMobile margin-left-20 margin-bottom-10"></div><p>Having established itself as an early leader in the market for cloud infrastructure, <a href="/topics/4418/amazon-web-services/" target="_blank">Amazon Web Services</a> (AWS), the online retailer’s <a href="/chart/9174/amazon-operating-profit/" target="_blank">profitable</a> cloud platform, is still ahead of the pack. According to estimates from <a href="https://www.srgresearch.com/articles/cloud-market-ends-2020-high-while-microsoft-continues-gain-ground-amazon" target="_blank">Synergy Research Group</a>, Amazon’s market share in the worldwide cloud infrastructure market amounted to 32 percent in the fourth quarter of 2020, still exceeding the combined market share of its two largest competitors, Microsoft and Google.</p><p>In Q4 2020, global cloud infrastructure service revenues amounted to $37 billion, bringing the total for the past twelve months to $129 billion. "2020 ended with a bang for the cloud market, as the sequential jump of $4 billion from Q3 easily set a new record for cloud providers’ incremental revenue growth," said John Dinsdale, Chief Analyst at Synergy Research Group. "This is also a market which has proven to be immune to COVID-19. If anything, the pandemic has helped to highlight some of the main benefits of public cloud."</p><p>As the following chart shows, Amazon and Microsoft accounted for more than half of cloud infrastructure revenues in Q4 2020, with the eight largest providers controlling roughly 80 percent of the market.</p></p></div></div><div class="width30 padding-left-15 hideMobile"><div class="article__contentEditor"><div class="box contactBox sidebar float-s--none"><div class="contactBox"><div class="img"><img src="https://cdn.statcdn.com/contactPerson/367.jpg" alt="Felix Richter" + width="72" height="72" data-hideonerror/></div><div class="cInfo"><div class="contactName" itemprop="author"> + Felix Richter + </div><div class="contactTitle"> + Data Journalist + </div><div><span class="mail"><a href="mailto:felix.richter@statista.com" + > + felix.richter@statista.com + </a></span><span class="phone"> + +49 (40) 284 841 557 + </span></div><p class="contactWorkingHours"></p></div><div class="clear"></div></div></div></div><div class="article__relativeStatistatic margin-top-15"></div></div></div><div class="row"><div class="article__contentGraphic panel-box panelBox--noPadding width100"><div class="row flex"><div class="flex_item width70 border-right-gray10-1 bg-white-smoke"><div class="article__graphic"><img src="https://cdn.statcdn.com/Infographic/images/teaser/18819.jpeg" + data-src="https://cdn.statcdn.com/Infographic/images/normal/18819.jpeg" + alt="Infographic: Amazon Leads $130-Billion Cloud Market | Statista" + width="1200" + height="1200" + class="margin-bottom-5n lazy" + data-open-modal="#infographicModal" + data-gtm="infographic__graphic"/></div></div><div class="flex_item width30"><div class="panelBox__section panelBox__section--border article__graphicText"><h3 class="hl-module article__graphicDescription"> + Description + </h3><p class="article__graphicDescription"> + This chart shows worldwide market share of leading cloud infrastructure service providers in Q4 2020. + </p><p class="margin-top-7 text-right"><a class="text--link text-color--gray font-size-xs" href="/statistics/report-content/infographic/18819" title="Report"><i class="fa fa-flag"></i> + Report + </a></p></div><div class="panelBox__section panelBox__section--border article__graphicText"><a href="https://cdn.statcdn.com/Infographic/images/normal/18819.jpeg" class="button button--green green button--medium width100" + download="Statista-Infographic_18819_worldwide-market-share-of-leading-cloud-infrastructure-service-providers-" + target="_blank" + title="Download Chart" + data-gtm="infographic__downloadChart"><i class="fa fa-download"></i> + Download Chart + </a></div><div class="panelBox__section panelBox__section--border article__socialmediaBar"><div class="row margin-bottom-5n"><div class="width33 width-s-33 padding-right-7"><a class="button button--facebook width100" + title="Share on Facebook" + href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.statista.com%2Fchart%2F18819%2Fworldwide-market-share-of-leading-cloud-infrastructure-service-providers%2F" + data-gtm="infographic__shareChart--facebook"><i class="fa fa-facebook"></i></a></div><div class="width33 width-s-33 padding-left-7 padding-right-7"><a class="button button--twitter width100" + title="Share on Twitter" + href="https://twitter.com/intent/tweet?text=Amazon%20Leads%20%24130-Billion%20Cloud%20Market&url=https%3A%2F%2Fwww.statista.com%2Fchart%2F18819%2Fworldwide-market-share-of-leading-cloud-infrastructure-service-providers%2F" + data-gtm="infographic__shareChart--twitter"><i class="fa fa-twitter"></i></a></div><div class="width33 width-s-33 padding-left-7 padding-right-7"><a class="button button--linkedin width100" + title="Share on LinkedIn" + href="http://www.linkedin.com/shareArticle?url=https%3A%2F%2Fwww.statista.com%2Fchart%2F18819%2Fworldwide-market-share-of-leading-cloud-infrastructure-service-providers%2F" + data-gtm="infographic__shareChart--linkedin"><i class="fa fa-linkedin"></i></a></div></div></div><div id="referenceLink" + class="panelBox__section panelBox__section--border article__embedCode border-bottom-gray10-1 hideMobile" + data-gtm="infographic__referenceCode"><label for="refCode" class="hl-module article__embedCodeLabel"> + URL to be used as <a href="https://www.statista.com/chart/18819/worldwide-market-share-of-leading-cloud-infrastructure-service-providers/">reference link</a>: +</label><textarea class="article__embedCodeTextarea" name="refCode" id="refCode" readonly="readonly" data-select-all>https://www.statista.com/chart/18819/worldwide-market-share-of-leading-cloud-infrastructure-service-providers/</textarea></div><div class="panelBox__section panelBox__section--border hideMobile" + data-gtm="infographic__embedCode"><div class="article__embedCode"><label for="htmlCode" class="article__embedCodeLabel"><span class="hl-module"> + HTML code to embed chart + </span><button + type="button" + data-tooltipbubble + role="tooltip" + aria-labelledby="embedTooltipTitle" + data-title=" + Can I integrate infographics into my blog or website? + " + data-text=" + Yes, Statista allows the easy integration of many infographics on other websites. Simply copy the HTML code that is shown for the relevant statistic in order to integrate it. Our standard is 660 pixels, but you can customize how the statistic is displayed to suit your site by setting the width and the display size. Please note that the code must be integrated into the HTML code (not only the text) for WordPress pages and other CMS sites. + "><i class="fa fa-info-circle" aria-hidden="true"></i></button><span id="embedTooltipTitle" class="visually-hidden"> + Can I integrate infographics into my blog or website? + </span></label><textarea class="article__embedCodeTextarea" data-select-all name="htmlCode" readonly="readonly"><a href="https://www.statista.com/chart/18819/worldwide-market-share-of-leading-cloud-infrastructure-service-providers/" title="Infographic: Amazon Leads $130-Billion Cloud Market | Statista"><img src="https://cdn.statcdn.com/Infographic/images/normal/18819.jpeg" alt="Infographic: Amazon Leads $130-Billion Cloud Market | Statista" width="100%" height="auto" style="width: 100%; height: auto !important; max-width:960px;-ms-interpolation-mode: bicubic;"/></a> You will find more infographics at <a href="https://www.statista.com/chartoftheday/">Statista</a></textarea></div></div></div></div></div></div><div class="hideNoscript hidePrint"><div id="infographicModal" + tabindex="-1" + role="dialog" + data-vue-modal + data-modal-options='{"containerClasses": ["padding-all-0 width--auto overflow-visible"], "closeButtonClasses": ["modal-dialog--imgZoomClose"]}' + aria-hidden="true"><div class="modal-dialog modal-dialog--imgZoom padding-all-0"><div class="modal-content"><div class="modal-body"><img src="https://cdn.statcdn.com/static/icons/blank.gif" + data-src="https://cdn.statcdn.com/Infographic/images/normal/18819.jpeg" + alt="Infographic: Amazon Leads $130-Billion Cloud Market | Statista" + class="display-block modal-dialog--imgZoomImage lazy" + data-close-modal + /></div></div></div></div></div></article></section><section id="statisticSlider"><section class="section padding-horizontal-50 padding-vertical-10 border-bottom-gray20-1 border-top-gray20-1 bg-white padding-vertical-20 padding-all-s-15 statSlider__wrapper"><div class="statSlider"><div class="statSlider__slideContainer" data-statistic-slider><div class="glide__track" data-glide-el="track"><ul class="glide__slides"><li class="glide__slide"><a class="statSlider__previewBox" + href="/statistics/273818/global-revenue-generated-with-cloud-computing-since-2009/"><div class="statSlider__previewBoxRow row padding-horizontal-20"><div class="width33 width-s-40 text-center"><div class="statSlider__itemImage"><img src="https://cdn.statcdn.com/static/icons/blank.gif" + data-src="https://cdn.statcdn.com/Statistic/270000/273818-blank-100.png" + class="lazy" + alt="Public cloud services market size 2017-2022" /><span class="premiumOverlay premiumOverlay--rightTop">+</span></div></div><div class="width66 width-s-60"><div class="statSlider__itemTitle padding-top-s-0">Public cloud services market size 2017-2022</div></div></div></a></li><li class="glide__slide"><a class="statSlider__previewBox" + href="/statistics/258718/market-growth-forecast-of-public-it-cloud-services-worldwide/"><div class="statSlider__previewBoxRow row padding-horizontal-20"><div class="width33 width-s-40 text-center"><div class="statSlider__itemImage"><img src="https://cdn.statcdn.com/static/icons/blank.gif" + data-src="https://cdn.statcdn.com/Statistic/255000/258718-blank-100.png" + class="lazy" + alt="Public cloud services growth worldwide 2019-2022, by segment" /><span class="premiumOverlay premiumOverlay--rightTop">+</span></div></div><div class="width66 width-s-60"><div class="statSlider__itemTitle padding-top-s-0">Public cloud services growth worldwide 2019-2022, by segment</div></div></div></a></li><li class="glide__slide"><a class="statSlider__previewBox" + href="/statistics/203578/global-forecast-of-cloud-computing-services-growth/"><div class="statSlider__previewBoxRow row padding-horizontal-20"><div class="width33 width-s-40 text-center"><div class="statSlider__itemImage"><img src="https://cdn.statcdn.com/static/icons/blank.gif" + data-src="https://cdn.statcdn.com/Statistic/200000/203578-blank-100.png" + class="lazy" + alt="Public IT cloud services global market growth 2011-2022" /><span class="premiumOverlay premiumOverlay--rightTop">+</span></div></div><div class="width66 width-s-60"><div class="statSlider__itemTitle padding-top-s-0">Public IT cloud services global market growth 2011-2022</div></div></div></a></li><li class="glide__slide"><a class="statSlider__previewBox" + href="/statistics/696991/cloud-market-size-in-italy/"><div class="statSlider__previewBoxRow row padding-horizontal-20"><div class="width33 width-s-40 text-center"><div class="statSlider__itemImage"><img src="https://cdn.statcdn.com/static/icons/blank.gif" + data-src="https://cdn.statcdn.com/Statistic/695000/696991-blank-100.png" + class="lazy" + alt="Cloud services market size in Italy 2015-2019" /><span class="premiumOverlay premiumOverlay--rightTop">+</span></div></div><div class="width66 width-s-60"><div class="statSlider__itemTitle padding-top-s-0">Cloud services market size in Italy 2015-2019</div></div></div></a></li><li class="glide__slide"><a class="statSlider__previewBox" + href="/statistics/1069507/public-cloud-services-market-share-by-segment-russia/"><div class="statSlider__previewBoxRow row padding-horizontal-20"><div class="width33 width-s-40 text-center"><div class="statSlider__itemImage"><img src="https://cdn.statcdn.com/static/icons/blank.gif" + data-src="https://cdn.statcdn.com/Statistic/1065000/1069507-blank-100.png" + class="lazy" + alt="Public cloud services market share in Russia 2019, by segment" /><span class="premiumOverlay premiumOverlay--rightTop">+</span></div></div><div class="width66 width-s-60"><div class="statSlider__itemTitle padding-top-s-0">Public cloud services market share in Russia 2019, by segment</div></div></div></a></li><li class="glide__slide"><a class="statSlider__previewBox" + href="/statistics/1220691/india-public-cloud-services-end-user-spending/"><div class="statSlider__previewBoxRow row padding-horizontal-20"><div class="width33 width-s-40 text-center"><div class="statSlider__itemImage"><img src="https://cdn.statcdn.com/static/icons/blank.gif" + data-src="https://cdn.statcdn.com/Statistic/1220000/1220691-blank-100.png" + class="lazy" + alt="Public cloud services end-user spending in India 2019-2021" /><span class="premiumOverlay premiumOverlay--rightTop">+</span></div></div><div class="width66 width-s-60"><div class="statSlider__itemTitle padding-top-s-0">Public cloud services end-user spending in India 2019-2021</div></div></div></a></li></ul><div class="glide__arrows" data-glide-el="controls"><button + class="glide__arrow glide__arrow--left center" + data-glide-dir="<" + data-gtm="infographics__arrow--left" + aria-label="Previous Slide"><i class="fa fa-chevron-left" aria-hidden="true"></i></button><button + class="glide__arrow glide__arrow--right center" + data-glide-dir=">" + data-gtm="infographics__arrow--right" + aria-label="Next Slide"><i class="fa fa-chevron-right" aria-hidden="true"></i></button></div></div></div></div></section></section><section id="infographicNewsletter" class="section section--small bg-secondary text-s-center text-color--white"><div class=""><div class="row row-vertical-middle row-spacing-30"><div class=""><div class="width50 padding-right-20 padding-right-s-0"><h2 class="h4"> + Infographic Newsletter + </h2><p class="margin-bottom-7 margin-bottom-s-15"> + + Statista offers daily infographics about trending topics, covering:</br><b>Economy & Finance</b>, <b>Politics & Society</b>, <b>Tech & Media</b>, <b>Health & Environment</b>, <b>Consumer</b>, <b>Sports</b> and many more. + <a href="/content/infographic-release-calendar" class="simple" data-gtm="getNewsletter__releaseCalendar">Check our upcoming releases</a></p></div><div class="width50"><form class="formGrid" id="newsletterForm" action="/infographicnewsletter/subscribe_ajax" method="post"><div class="form_row margin-bottom-0"><div class="form_row__inputGroup"><div class="width55 margin-bottom-s-10"><input placeholder="Email Address" name="email" type="email" class="width50"></div><div class="width45"><button data-infographicnewsletter-submit data-gtm="getNewsletter__c2A" type="submit" class="button button--green width100"><i class="fa fa-paper-plane"></i> + Subscribe + </button></div><div><div align="center" data-callback="recaptchaCallback" data-size="invisible" class="g-recaptcha" id="recaptcha-container" data-recaptcha-id="" data-sitekey="6LfX9VMUAAAAADNb6cHRgZQuPB8YF7xWaOBW5W97"></div></div></div></div></form></div></div></div></div></section><section id="currentInfographics" class="section section--medium border-bottom-gray20-1 bg-light"><span class="bgOverlay bgSquares--lightBlueBottom"></span><div class="section__content"><h2 class="h2 margin-bottom-30 text-center"> + Related Infographics + </h2><div class="row row-spacing-30"><div class="width100"><div class="relatedInfographics"><div class="flex flex--spacing30 margin-bottom-0"><div class="flex__item width33"><div class="panel-box panelBox--hover panelBox--noPadding panelBox--infographic panelBox--infographicSize-n"><div class="panelBox__cover panelBox__cover--infographic border-bottom-gray10-1"><a class="display-inline-block" href="/chart/23420/share-of-it-executives-expecting-5g-disruptions-to-different-industries/"><img src="https://cdn.statcdn.com/static/icons/blank.gif" + data-src="https://cdn.statcdn.com/Infographic/images/teaser/23420.jpeg" + class="lazy thumbnail panelBox__coverImg" + alt="Infographic - share of IT executives expecting 5G disruptions to different industries" + title="Infographic - share of IT executives expecting 5G disruptions to different industries" /></a></div><div class="pos-relative"><a href="/chart/23420/share-of-it-executives-expecting-5g-disruptions-to-different-industries/" title="5G to Disrupt Auto Industry Most"><h3 class="panelBox__titleMark infographicRooftitle"> + 5G + </h3></a></div><header class="panelBox__section panelBox__title padding-top-15"><h4 class="h5 infographicTitle"><a href="/chart/23420/share-of-it-executives-expecting-5g-disruptions-to-different-industries/" title="5G to Disrupt Auto Industry Most"> + 5G to Disrupt Auto Industry Most + </a></h4></header><footer class="panelBox__section panelBox__sectionFooterAbsolute"><a class="row margin-bottom-5n" href="/chart/23420/share-of-it-executives-expecting-5g-disruptions-to-different-industries/" title="5G to Disrupt Auto Industry Most"><div class="width70"><time datetime="2020-11-06"> + Nov 6, 2020 + </time></div></a></footer></div></div><div class="flex__item width33"><div class="panel-box panelBox--hover panelBox--noPadding panelBox--infographic panelBox--infographicSize-n"><div class="panelBox__cover panelBox__cover--infographic border-bottom-gray10-1"><a class="display-inline-block" href="/chart/22253/estimated-revenue-public-cloud-computing-top-markets/"><img src="https://cdn.statcdn.com/static/icons/blank.gif" + data-src="https://cdn.statcdn.com/Infographic/images/teaser/22253.jpeg" + class="lazy thumbnail panelBox__coverImg" + alt="Infographic - estimated revenue public cloud computing top markets" + title="Infographic - estimated revenue public cloud computing top markets" /></a></div><div class="pos-relative"><a href="/chart/22253/estimated-revenue-public-cloud-computing-top-markets/" title="The U.S. Rules the Cloud"><h3 class="panelBox__titleMark infographicRooftitle"> + Cloud Computing + </h3></a></div><header class="panelBox__section panelBox__title padding-top-15"><h4 class="h5 infographicTitle"><a href="/chart/22253/estimated-revenue-public-cloud-computing-top-markets/" title="The U.S. Rules the Cloud"> + The U.S. Rules the Cloud + </a></h4></header><footer class="panelBox__section panelBox__sectionFooterAbsolute"><a class="row margin-bottom-5n" href="/chart/22253/estimated-revenue-public-cloud-computing-top-markets/" title="The U.S. Rules the Cloud"><div class="width70"><time datetime="2020-07-13"> + Jul 13, 2020 + </time></div></a></footer></div></div><div class="flex__item width33"><div class="panel-box panelBox--hover panelBox--noPadding panelBox--infographic panelBox--infographicSize-n"><div class="panelBox__cover panelBox__cover--infographic border-bottom-gray10-1"><a class="display-inline-block" href="/chart/20683/amazon-crosses-trillion-dollar-valuation/"><img src="https://cdn.statcdn.com/static/icons/blank.gif" + data-src="https://cdn.statcdn.com/Infographic/images/teaser/20683.jpeg" + class="lazy thumbnail panelBox__coverImg" + alt="Infographic - amazon crosses trillion dollar valuation" + title="Infographic - amazon crosses trillion dollar valuation" /></a></div><div class="pos-relative"><a href="/chart/20683/amazon-crosses-trillion-dollar-valuation/" title="Amazon Joins Four-Comma Club"><h3 class="panelBox__titleMark infographicRooftitle"> + Amazon + </h3></a></div><header class="panelBox__section panelBox__title padding-top-15"><h4 class="h5 infographicTitle"><a href="/chart/20683/amazon-crosses-trillion-dollar-valuation/" title="Amazon Joins Four-Comma Club"> + Amazon Joins Four-Comma Club + </a></h4></header><footer class="panelBox__section panelBox__sectionFooterAbsolute"><a class="row margin-bottom-5n" href="/chart/20683/amazon-crosses-trillion-dollar-valuation/" title="Amazon Joins Four-Comma Club"><div class="width70"><time datetime="2020-01-31"> + Jan 31, 2020 + </time></div></a></footer></div></div></div><div class="flex flex--spacing30 margin-bottom-0"><div class="flex__item width33"><div class="panel-box panelBox--hover panelBox--noPadding panelBox--infographic panelBox--infographicSize-n"><div class="panelBox__cover panelBox__cover--infographic border-bottom-gray10-1"><a class="display-inline-block" href="/chart/20469/microsofts-share-price-since-bill-gates-stepped-down-as-ceo/"><img src="https://cdn.statcdn.com/static/icons/blank.gif" + data-src="https://cdn.statcdn.com/Infographic/images/teaser/20469.jpeg" + class="lazy thumbnail panelBox__coverImg" + alt="Infographic - Microsoft's share price since Bill Gates stepped down as CEO" + title="Infographic - Microsoft's share price since Bill Gates stepped down as CEO" /></a></div><div class="pos-relative"><a href="/chart/20469/microsofts-share-price-since-bill-gates-stepped-down-as-ceo/" title="How Did Microsoft Fare in the Post-Bill Gates Era?"><h3 class="panelBox__titleMark infographicRooftitle"> + Microsoft + </h3></a></div><header class="panelBox__section panelBox__title padding-top-15"><h4 class="h5 infographicTitle"><a href="/chart/20469/microsofts-share-price-since-bill-gates-stepped-down-as-ceo/" title="How Did Microsoft Fare in the Post-Bill Gates Era?"> + How Did Microsoft Fare in the Post-Bill Gates Era? + </a></h4></header><footer class="panelBox__section panelBox__sectionFooterAbsolute"><a class="row margin-bottom-5n" href="/chart/20469/microsofts-share-price-since-bill-gates-stepped-down-as-ceo/" title="How Did Microsoft Fare in the Post-Bill Gates Era?"><div class="width70"><time datetime="2020-01-13"> + Jan 13, 2020 + </time></div></a></footer></div></div><div class="flex__item width33"><div class="panel-box panelBox--hover panelBox--noPadding panelBox--infographic panelBox--infographicSize-n"><div class="panelBox__cover panelBox__cover--infographic border-bottom-gray10-1"><a class="display-inline-block" href="/chart/19134/cloud-vendor-use/"><img src="https://cdn.statcdn.com/static/icons/blank.gif" + data-src="https://cdn.statcdn.com/Infographic/images/teaser/19134.jpeg" + class="lazy thumbnail panelBox__coverImg" + alt="Infographic - cloud vendor use" + title="Infographic - cloud vendor use" /></a></div><div class="pos-relative"><a href="/chart/19134/cloud-vendor-use/" title="What Cloud Vendors Do Tech Professionals Use?"><h3 class="panelBox__titleMark infographicRooftitle"> + Cloud Vendors + </h3></a></div><header class="panelBox__section panelBox__title padding-top-15"><h4 class="h5 infographicTitle"><a href="/chart/19134/cloud-vendor-use/" title="What Cloud Vendors Do Tech Professionals Use?"> + What Cloud Vendors Do Tech Professionals Use? + </a></h4></header><footer class="panelBox__section panelBox__sectionFooterAbsolute"><a class="row margin-bottom-5n" href="/chart/19134/cloud-vendor-use/" title="What Cloud Vendors Do Tech Professionals Use?"><div class="width70"><time datetime="2019-08-26"> + Aug 26, 2019 + </time></div></a></footer></div></div><div class="flex__item width33"><div class="panel-box panelBox--hover panelBox--noPadding panelBox--infographic panelBox--infographicSize-n"><div class="panelBox__cover panelBox__cover--infographic border-bottom-gray10-1"><a class="display-inline-block" href="/chart/19039/cloud-infrastructure-revenue/"><img src="https://cdn.statcdn.com/static/icons/blank.gif" + data-src="https://cdn.statcdn.com/Infographic/images/teaser/19039.jpeg" + class="lazy thumbnail panelBox__coverImg" + alt="Infographic - cloud infrastructure revenue" + title="Infographic - cloud infrastructure revenue" /></a></div><div class="pos-relative"><a href="/chart/19039/cloud-infrastructure-revenue/" title="The Cloud Market Keeps Moving Upwards"><h3 class="panelBox__titleMark infographicRooftitle"> + Cloud Computing Market + </h3></a></div><header class="panelBox__section panelBox__title padding-top-15"><h4 class="h5 infographicTitle"><a href="/chart/19039/cloud-infrastructure-revenue/" title="The Cloud Market Keeps Moving Upwards"> + The Cloud Market Keeps Moving Upwards + </a></h4></header><footer class="panelBox__section panelBox__sectionFooterAbsolute"><a class="row margin-bottom-5n" href="/chart/19039/cloud-infrastructure-revenue/" title="The Cloud Market Keeps Moving Upwards"><div class="width70"><time datetime="2019-08-15"> + Aug 15, 2019 + </time></div></a></footer></div></div></div><div id="infographicRelatedResults" class="hide"><div class="flex flex--spacing30 margin-bottom-0"><div class="flex__item width33"><div class="panel-box panelBox--hover panelBox--noPadding panelBox--infographic panelBox--infographicSize-n"><div class="panelBox__cover panelBox__cover--infographic border-bottom-gray10-1"><a class="display-inline-block" href="/chart/18822/amazon-web-services-revenue/"><img src="https://cdn.statcdn.com/static/icons/blank.gif" + data-src="https://cdn.statcdn.com/Infographic/images/teaser/18822.jpeg" + class="lazy thumbnail panelBox__coverImg" + alt="Infographic - Amazon Web Services revenue" + title="Infographic - Amazon Web Services revenue" /></a></div><div class="pos-relative"><a href="/chart/18822/amazon-web-services-revenue/" title="The Blockbuster Growth of Amazon's Cloud Business"><h3 class="panelBox__titleMark infographicRooftitle"> + Amazon Web Services + </h3></a></div><header class="panelBox__section panelBox__title padding-top-15"><h4 class="h5 infographicTitle"><a href="/chart/18822/amazon-web-services-revenue/" title="The Blockbuster Growth of Amazon's Cloud Business"> + The Blockbuster Growth of Amazon's Cloud Business + </a></h4></header><footer class="panelBox__section panelBox__sectionFooterAbsolute"><a class="row margin-bottom-5n" href="/chart/18822/amazon-web-services-revenue/" title="The Blockbuster Growth of Amazon's Cloud Business"><div class="width70"><time datetime="2019-12-09"> + Dec 9, 2019 + </time></div></a></footer></div></div><div class="flex__item width33"><div class="panel-box panelBox--hover panelBox--noPadding panelBox--infographic panelBox--infographicSize-n"><div class="panelBox__cover panelBox__cover--infographic border-bottom-gray10-1"><a class="display-inline-block" href="/chart/17501/cloud-gaming/"><img src="https://cdn.statcdn.com/static/icons/blank.gif" + data-src="https://cdn.statcdn.com/Infographic/images/teaser/17501.jpeg" + class="lazy thumbnail panelBox__coverImg" + alt="Infographic - cloud gaming" + title="Infographic - cloud gaming" /></a></div><div class="pos-relative"><a href="/chart/17501/cloud-gaming/" title="The Sky Is the Limit for Cloud Gaming"><h3 class="panelBox__titleMark infographicRooftitle"> + Cloud Gaming + </h3></a></div><header class="panelBox__section panelBox__title padding-top-15"><h4 class="h5 infographicTitle"><a href="/chart/17501/cloud-gaming/" title="The Sky Is the Limit for Cloud Gaming"> + The Sky Is the Limit for Cloud Gaming + </a></h4></header><footer class="panelBox__section panelBox__sectionFooterAbsolute"><a class="row margin-bottom-5n" href="/chart/17501/cloud-gaming/" title="The Sky Is the Limit for Cloud Gaming"><div class="width70"><time datetime="2019-03-27"> + Mar 27, 2019 + </time></div></a></footer></div></div><div class="flex__item width33"><div class="panel-box panelBox--hover panelBox--noPadding panelBox--infographic panelBox--infographicSize-n"><div class="panelBox__cover panelBox__cover--infographic border-bottom-gray10-1"><a class="display-inline-block" href="/chart/17286/adoption-of-cloud---who-do-you-use/"><img src="https://cdn.statcdn.com/static/icons/blank.gif" + data-src="https://cdn.statcdn.com/Infographic/images/teaser/17286.jpeg" + class="lazy thumbnail panelBox__coverImg" + alt="Infographic - Adoption of Cloud - Who Do You Use? " + title="Infographic - Adoption of Cloud - Who Do You Use? " /></a></div><div class="pos-relative"><a href="/chart/17286/adoption-of-cloud---who-do-you-use/" title="Adoption of Cloud - Who Do You Use? "><h3 class="panelBox__titleMark infographicRooftitle"> + Sponsored Post + </h3></a></div><header class="panelBox__section panelBox__title padding-top-15"><h4 class="h5 infographicTitle"><a href="/chart/17286/adoption-of-cloud---who-do-you-use/" title="Adoption of Cloud - Who Do You Use? "> + Adoption of Cloud - Who Do You Use? + </a></h4></header><footer class="panelBox__section panelBox__sectionFooterAbsolute"><a class="row margin-bottom-5n" href="/chart/17286/adoption-of-cloud---who-do-you-use/" title="Adoption of Cloud - Who Do You Use? "><div class="width70"><time datetime="2019-03-08"> + Mar 8, 2019 + </time></div></a></footer></div></div></div><div class="flex flex--spacing30 margin-bottom-0"><div class="flex__item width33"><div class="panel-box panelBox--hover panelBox--noPadding panelBox--infographic panelBox--infographicSize-n"><div class="panelBox__cover panelBox__cover--infographic border-bottom-gray10-1"><a class="display-inline-block" href="/chart/14629/apple-services-revenue/"><img src="https://cdn.statcdn.com/static/icons/blank.gif" + data-src="https://cdn.statcdn.com/Infographic/images/teaser/14629.jpeg" + class="lazy thumbnail panelBox__coverImg" + alt="Infographic - Apple services revenue" + title="Infographic - Apple services revenue" /></a></div><div class="pos-relative"><a href="/chart/14629/apple-services-revenue/" title="Apple's Services Revenue Reaches All-Time High"><h3 class="panelBox__titleMark infographicRooftitle"> + Apple + </h3></a></div><header class="panelBox__section panelBox__title padding-top-15"><h4 class="h5 infographicTitle"><a href="/chart/14629/apple-services-revenue/" title="Apple's Services Revenue Reaches All-Time High"> + Apple's Services Revenue Reaches All-Time High + </a></h4></header><footer class="panelBox__section panelBox__sectionFooterAbsolute"><a class="row margin-bottom-5n" href="/chart/14629/apple-services-revenue/" title="Apple's Services Revenue Reaches All-Time High"><div class="width70"><time datetime="2020-05-04"> + May 4, 2020 + </time></div></a></footer></div></div><div class="flex__item width33"><div class="panel-box panelBox--hover panelBox--noPadding panelBox--infographic panelBox--infographicSize-n"><div class="panelBox__cover panelBox__cover--infographic border-bottom-gray10-1"><a class="display-inline-block" href="/chart/14418/india-public-cloud-market-growth/"><img src="https://cdn.statcdn.com/static/icons/blank.gif" + data-src="https://cdn.statcdn.com/Infographic/images/teaser/14418.jpeg" + class="lazy thumbnail panelBox__coverImg" + alt="Infographic - India public cloud market growth" + title="Infographic - India public cloud market growth" /></a></div><div class="pos-relative"><a href="/chart/14418/india-public-cloud-market-growth/" title="India's public cloud market to grow by 54% until 2020"><h3 class="panelBox__titleMark infographicRooftitle"> + Tech + </h3></a></div><header class="panelBox__section panelBox__title padding-top-15"><h4 class="h5 infographicTitle"><a href="/chart/14418/india-public-cloud-market-growth/" title="India's public cloud market to grow by 54% until 2020"> + India's public cloud market to grow by 54% until 2020 + </a></h4></header><footer class="panelBox__section panelBox__sectionFooterAbsolute"><a class="row margin-bottom-5n" href="/chart/14418/india-public-cloud-market-growth/" title="India's public cloud market to grow by 54% until 2020"><div class="width70"><time datetime="2018-06-26"> + Jun 26, 2018 + </time></div></a></footer></div></div><div class="flex__item width33"><div class="panel-box panelBox--hover panelBox--noPadding panelBox--infographic panelBox--infographicSize-n"><div class="panelBox__cover panelBox__cover--infographic border-bottom-gray10-1"><a class="display-inline-block" href="/chart/13785/smart-cars-fueling-the-future-of-japans-auto-industry/"><img src="https://cdn.statcdn.com/static/icons/blank.gif" + data-src="https://cdn.statcdn.com/Infographic/images/teaser/13785.jpeg" + class="lazy thumbnail panelBox__coverImg" + alt="Infographic - Smart cars fueling the future of Japan's auto industry " + title="Infographic - Smart cars fueling the future of Japan's auto industry " /></a></div><div class="pos-relative"><a href="/chart/13785/smart-cars-fueling-the-future-of-japans-auto-industry/" title="Smart cars fueling the future of Japan's auto industry "><h3 class="panelBox__titleMark infographicRooftitle"> + Japan + </h3></a></div><header class="panelBox__section panelBox__title padding-top-15"><h4 class="h5 infographicTitle"><a href="/chart/13785/smart-cars-fueling-the-future-of-japans-auto-industry/" title="Smart cars fueling the future of Japan's auto industry "> + Smart cars fueling the future of Japan's auto industry + </a></h4></header><footer class="panelBox__section panelBox__sectionFooterAbsolute"><a class="row margin-bottom-5n" href="/chart/13785/smart-cars-fueling-the-future-of-japans-auto-industry/" title="Smart cars fueling the future of Japan's auto industry "><div class="width70"><time datetime="2018-05-08"> + May 8, 2018 + </time></div></a></footer></div></div></div></div><div class="row text-center hideNoscript"><button type="button" class="button" data-hide="infographicRelatedResults" data-toggle="Hide"><span> + Show more + <span></button></div></div></div></div></div></section><section class="section section--medium border-bottom-gray20-1"><div class="row row-spacing-30"><div class="width100"><div id="infographicFAQ" aria-labelledby="infographicFAQTitle"><h3 id="infographicFAQTitle" class="hl-module"> + FAQ + </h3><div class="accordion accordion--blank accordion__list--iconLeft shadow-1"><ul class="accordion-list list-chapter" data-accordion="{'hideOthers':false}"><li class="accordion__item"><div + id="accordion-head-1" + class="accordion__itemHead active" + data-accordioncontent="#accordion-content-1" + role="button" + tabindex="0"><i class="fa fa-chevron-up"></i><div class="accordion__itemHeadText"> + + Who may use the "Chart of the Day"? + + </div></div><div id="accordion-content-1" class="accordion__itemContent active fadeInDown"> + + The Statista "Chart of the Day", made available + under the Creative Commons License CC BY-ND 3.0, may be used + and displayed without charge by all commercial and + non-commercial websites. Use is, however, only permitted with + proper attribution to Statista. When publishing one of these graphics, + please include a backlink to the respective infographic URL. + + <a href="/getting-started/publishing-statista-content-infographics---creative-commons" target="_blank"> + More Information + </a></div></li><li class="accordion__item"><div + id="accordion-head-2" class="accordion__itemHead" + data-accordioncontent="#accordion-content-2" + role="button" + tabindex="0"><i class="fa fa-chevron-up"></i><div class="accordion__itemHeadText"> + + Which topics are covered by the "Chart of the Day"? + + </div></div><div id="accordion-content-2" class="accordion__itemContent fadeInDown"> + + The Statista "Chart of the Day" currently focuses + on two sectors: "Media and Technology", updated + daily and featuring the latest statistics from the media, + internet, telecommunications and consumer electronics + industries; and "Economy and Society", which + current data from the United States and around the + world relating to economic and political issues as well as + sports and entertainment. + + </div></li><li class="accordion__item"><div + id="accordion-head-3" class="accordion__itemHead" + data-accordioncontent="#accordion-content-3" + role="button" + tabindex="0"><i class="fa fa-chevron-up"></i><div class="accordion__itemHeadText"> + + Does Statista also create infographics in a customized design? + + </div></div><div id="accordion-content-3" class="accordion__itemContent fadeInDown"> + + For individual content and infographics in your Corporate Design, + please visit our agency website + <a href="https://content-design.statista.com/contact/" target="_blank">www.statista-content-design.de</a></div></li></ul></div></div></div></div></section><section class="section section--medium bg-light border-bottom-gray20-1"><form class="formSearchbar" method="get" role="search" target="_blank" action="/search/"><input id="infographicSearch" + class="search-autocomplete" type="text" name="q" value="" + placeholder="Start your search for an infographic now" + maxlength="1024" + data-showoperatorinfo="true" + data-operatorinfotextsingleresult="Single term" + data-operatorinfotextnegation="Exclusion" + data-operatorinfoparameter="Wildcard" + /><span id="ac" class="searchFormMain"></span><input type="submit" value="Statista Search" class="button button--primary colOne"><input type="hidden" value="1" name="infos"><input type="hidden" value="publicationDate" name="sortMethod"></form></section><section id="contact" class="section section--medium "><div class="bgOverlay "></div><div class="section__content"><h2 class="h2 text-center"> + Any more questions? + </h2><h3 class="h3 text-center text-color--gray padding-bottom-15"> + Get in touch with us quickly and easily. <br />We are happy to help! + </h3><div class="contact-box row"><div class="width50 box contacting padding-right-40 padding-left-40 padding-all-s-0 margin-bottom-s-15 contactFooter--first"><div class="heading">Do you still have questions?</div><p> + Feel free to contact us anytime using our <a href="/contact/" data-gtm="contactForm">contact form</a> or visit our <a href="/help/" data-gtm="visitFAQ">FAQ page</a>. + </p></div><div class="width50 padding-right-40 padding-left-40 padding-all-s-0 contactFooter--contact"><div class="box contactBox sidebar float-s--none"><div class="heading"> + Your contact to the Infographics Newsroom </div><div class="contactBox"><div class="img"><img src="https://cdn.statcdn.com/contactPerson/367.jpg" alt="Felix Richter" + width="72" height="72" data-hideonerror/></div><div class="cInfo"><div class="contactName" itemprop="author"> + Felix Richter + </div><div class="contactTitle"> + Data Journalist + </div><div><span class="mail"><a href="mailto:felix.richter@statista.com" + > + felix.richter@statista.com + </a></span><span class="phone"> + +49 (40) 284 841 557 + </span></div><p class="contactWorkingHours"></p></div><div class="clear"></div></div></div></div></div></div></section><section class="section section--medium border-top-gray20-1 bg-primary-light"><div class="flex flex--spacing30"><div class="flex__item width40 text-right text-s-center"><div class="row"><div class="width70 float-right float-s--none"><img class="lazy" src="https://cdn.statcdn.com/static/icons/blank.gif" + data-src="https://cdn.statcdn.com/static/img/infographic-content-design-en-360.png" + alt="Statista Content & Information Design"></div></div></div><div class="flex__item width60"><div class="row padding-top-30 padding-top-s-0 text-s-center"><h3 class="h3"> + Statista Content & Information Design + </h3><p> + Research, storytelling, infographics & presentation design on any topic in your corporate design. + </p><p><a href="https://content-design.statista.com/?utm_source=statista&utm_medium=referral&utm_campaign=bottom_button_link_en" target="_blank" rel="noopener" class="button button--medium button--green green width-s-100" data-gtm="contentAndDesign__c2A">More Information</a></p></div></div></div></section><div class="hideNoscript hideMobile hidePrint cloakRendering"><div id="newsletterPopup" class="popupOverlay hideMobile popup--slim"><div id="newsletterPopupOverlay" + tabindex="-1" + role="dialog" + data-vue-modal + data-modal-options='{"containerClasses": ["padding-all-0"]}' + aria-hidden="true"><div class="modal-dialog--newsletter"><div class="modal-content modal-content--transparent modal-content--noborder"><header class="modal__headerContent row"><div class="width100"><h4 class="h3"> + The Statista Infographic Newsletter + </h4><h3 class="h4 text-color--gray"> + Receive a new up-to-date issue every day for free + </h3></div></header><div class="modal__content"><div class="row row-spacing-15"><div class="width100 showMobile margin-bottom-7 margin-top-7"><img class="shadow-1" src="https://cdn.statcdn.com/Infographic/images/teaser/18819.jpeg" + alt="Infographic: Amazon Leads $130-Billion Cloud Market | Statista" + itemprop="image" width="180"/></div><div class="width70"><ul class="checklist"><li class="font-size-15px check padding-bottom-7"> + Our infographics team prepares current information in a clear and understandable format<br></li><li class="font-size-15px check padding-bottom-7"> + Relevant facts covering media, economy, e-commerce, and FMCG topics<br></li><li class="font-size-15px check"> + Use our newsletter overview to manage the topics that you have subscribed to<br></li></ul></div><div class="width30 padding-top-7 hideMobile"><img class="shadow-1 modal-dialog__previewImage" src="https://cdn.statcdn.com/Infographic/images/teaser/18819.jpeg" + alt="Infographic: Amazon Leads $130-Billion Cloud Market | Statista" + itemprop="image" /></div></div></div><div class="modal__footer bg-secondary"><form class="form_row row-spacing-30 margin-top-30" id="newsletterModalForm" + action="/infographicnewsletter/subscribe_ajax" method="post"><div class="width60"><input type="text" + class="padding-10 width100 vertical-middle" id="registerModalMail" name="email" + placeholder="Email Address"></div><div class="width40"><div data-callback="recaptchaCallbackModal" data-size="invisible" class="g-recaptcha" id="recaptcha-container-modal" data-sitekey="6LfX9VMUAAAAADNb6cHRgZQuPB8YF7xWaOBW5W97"></div><button class="button button--green button--first width100" data-modal-infographicnewsletter-submit type="submit"> + Get newsletter + </button></div></form></div></div></div></div></div></div><div class="hidden"><div data-var-name="infographic.id" data-var="18819"></div><div data-var-name="infographic.title" data-var="Amazon Leads $130-Billion Cloud Market"></div></div><div id="vue-newsfeed" + data-newsfeed="[1619172000,1618833600,1618383600,1617260401,1617260400,1615816800,1614956400,1614700800,1614265200,1613739600,1613462400,1613458800,1613376000]" + data-is-dev="false" + data-newest-timestamp="1619172000" + data-inline-feed="false"></div><div id="skyscraper" class="skyscraper"><div id="dc-skyscraper"></div></div></div><div class="showMobile"><div data-to-top + data-scroll-hide + class="scrollToTop animated hidden"><i class="fa fa-chevron-up" aria-hidden="true"></i></div></div><footer class="page__footer page__footer--small page__footer--dark "><div class="contentFlex"><nav class="navFlex page__footerNav page__footerNav--small page__footerNav--dark" + aria-label="Statista Footer Navigation Small"><ul class="navFlex__list"><li class="navFlex__item"><a class="navFlex__text" href="/">Home</a></li><li class="navFlex__item"><a class="navFlex__text" href="/aboutus/">About Statista</a></li><li class="navFlex__item"><a class="navFlex__text" href="/working-at-statista/">Career</a></li><li class="navFlex__item"><a class="navFlex__text" href="/contact/">Contact</a></li><li class="navFlex__item"><a class="navFlex__text" href="/help/">Help & FAQ</a></li><li class="navFlex__item"><a class="navFlex__text hideMobile" href="/bugreport/">Report Bug</a></li><li class="navFlex__item"><a class="navFlex__text" href="/mediapartners/">Our Media Partners </a></li><li class="navFlex__item"><a class="navFlex__text" href="/imprint/#privacy">Privacy</a></li><li class="navFlex__item"><a class="navFlex__text" href="/imprint/">Imprint</a></li></ul></nav></div></footer></div><div class="offcanvasWrapper"><div class="offcanvas offcanvas--left" id="navOffcanvas--main"><div class="offcanvas__header">Menu</div><nav class="offcanvas__nav"><ul class="offcanvas__list"><li class="offcanvas__item"><a href="/accounts/" + class="offcanvas__text" + data-gtm="navMobile__item--pricesAccess"> + Prices & Access + </a></li><li class="offcanvas__item"><a href="/statistics/popular/" + class="offcanvas__text" + data-gtm="navMobile__item--popularStatistics"> + Popular Statistics + </a></li><li class="offcanvas__item"><a href="/markets/" + class="offcanvas__text" + data-gtm="navMobile__item--industries"> + Industries + </a></li><li class="offcanvas__item"><a href="/chartoftheday/" + class="offcanvas__text" + data-gtm="navMobile__item--infographics"> + Infographics + </a></li><li class="offcanvas__item"><a href="https://content-design.statista.com/?utm_source=statista&utm_medium=referral&utm_campaign=top_navigation_link_en" + class="offcanvas__text" + data-gtm="navMobile__item--contentDesign" + target="_blank" rel="noopener"> + Content & Design projects + </a></li><li class="offcanvas__item"><a href="https://www.statista-research.com/en/" + target="_blank" + rel="noopener" + data-gtm="navMobile__item--researchAnalysis" + class="offcanvas__text"> + Research projects + </a></li><li class="offcanvas__item"><a href="https://ask.statista.com/" + target="_blank" + rel="noopener" + data-gtm="navMobile__item--askStatista" + class="offcanvas__text"> + AskStatista + </a></li></ul></nav><nav class="offcanvas__nav navLanguage"><ul class="offcanvas__list navLanguage" id="languageSelect"><li class="offcanvas__item navLanguage__item"><a href="https://de.statista.com" + class="offcanvas__text navLanguage__text" + data-gtm="navMobile__item--statistaDE"><span class="navLanguage__flag flagIcon flagIcon--de"></span><span class="navLanguage__textInner"> + statista.de + </span></a></li><li class="offcanvas__item navLanguage__item"><a href="https://es.statista.com" + class="offcanvas__text navLanguage__text" + data-gtm="navMobile__item--statistaES"><span class="navLanguage__flag flagIcon flagIcon--es"></span><span class="navLanguage__textInner"> + statista.es + </span></a></li><li class="offcanvas__item navLanguage__item"><a href="https://fr.statista.com" + class="offcanvas__text navLanguage__text" + data-gtm="navMobile__item--statistaFR"><span class="navLanguage__flag flagIcon flagIcon--fr"></span><span class="navLanguage__textInner"> + statista.fr + </span></a></li></ul></nav></div></div><div id="vue-modals"></div><div id="vue-notifications"></div><div data-path-name="autocomplete" data-path="/autocomplete/?language=0"></div><div data-path-name="search" data-path="/search/"></div><div data-path-name="publicationFinder" data-path="/publication-finder"></div><div data-path-name="currentUrl" data-path="https://www.statista.com/chart/18819/worldwide-market-share-of-leading-cloud-infrastructure-service-providers/"></div><div data-isloggedin="false"></div><div data-gettingStartedLink="/getting-started/working-with-statista-tips-for-better-search-results"></div><div data-pendo="{"visitor":{"ipAddress":"196.240.57.220","product":31,"countryByIp":"US","userRights1":"false","userRights2":"false","userRights3":"false","userRights4":"false","locale":"en"},"account":{"planLevel":"free","product":31}}" data-excluded-route="false"></div><script defer src="/dist/js/infographicDetail.js?ff41aa727b9799d7f3ea6f86104ed3ec"></script><script> + const isMobile = matchMedia('only screen and (max-width: 767px)').matches; + + if (isMobile === false) { + var gptadslots = []; + var googletag = googletag || {cmd:[]}; + var windowWidth = window.innerWidth; + var availableSpace = (windowWidth - document.getElementById('content').offsetWidth)/2; + if (availableSpace < 160) { + availableSpace = '0-160'; + } else { + availableSpace = '160-max'; + } + googletag.cmd = googletag.cmd || []; + googletag.cmd.push(function() { + + gptadslots.push(googletag.defineSlot('/563787768/en.statista', [[160,600],[300,600]], 'dc-skyscraper') + .setTargeting('UserID', []) + .setTargeting('MasterUserId', []) + .setTargeting('branchen', [483,418]) + .setTargeting('product', [31]) + .setTargeting('route', 'infographic') + .setTargeting('infographic', [18819]) + .setTargeting('abTest', ['B']).setTargeting('availableSpace', [availableSpace]) + .addService(googletag.pubads())); + + gptadslots.push(googletag.defineSlot('/563787768/en.statista', [[300,250]], 'dc-content') + .setTargeting('UserID', []) + .setTargeting('MasterUserId', []) + .setTargeting('branchen', [483,418]) + .setTargeting('product', [31]) + .setTargeting('route', 'infographic') + .setTargeting('infographic', [18819]) + .setTargeting('abTest', ['B']).setTargeting('behaviour', 'ContentAd') + .setTargeting('availableSpace', [availableSpace]) + .addService(googletag.pubads())); + + gptadslots.push(googletag.defineSlot('/563787768/en.statista', [[970,250], [728,90], [1084,140], [1084,200]], 'dc-billboard') + .setTargeting('UserID', []) + .setTargeting('MasterUserId', []) + .setTargeting('branchen',[483,418]) + .setTargeting('product', [31]) + .setTargeting('route', 'infographic') + .setTargeting('infographic', [18819]) + .setTargeting('abTest', ['B']).setTargeting('availableSpace', [availableSpace]) + .addService(googletag.pubads())); + + // at the end + googletag.pubads().enableSingleRequest(); + googletag.pubads().collapseEmptyDivs(true); + googletag.enableServices(); + }); + + googletag.cmd.push(function() { + googletag.display('dc-skyscraper'); + googletag.display('dc-content'); + googletag.display('dc-billboard'); + }); + } + </script><script> + document.addEventListener("DOMContentLoaded", function(event) { + }); + </script><script> + var _gaq = _gaq || []; + </script><!-- Dynamic DataLayer --><script></script><div data-var-name="cleverpushScript" data-var="https://static.cleverpush.com/channel/loader/9nsSYmLaJtzaNE2ay.js"></div><script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" + data-document-language="true" + type="text/javascript" + charset="UTF-8" + data-gtm-one-trust-snippet="true" + data-domain-script="acb8c41d-343d-47fb-b0bc-ac829c6b6853-test"></script><script type="text/javascript"> + function OptanonWrapper() { } + </script></body></html> +\ No newline at end of file diff --git a/content/misc/web_snapshot/5a806be410da82986a85f68658279234c1a5cf3bb6dc55da137d5274dc722f26.txt b/content/misc/web_snapshot/5a806be410da82986a85f68658279234c1a5cf3bb6dc55da137d5274dc722f26.txt @@ -0,0 +1,741 @@ +<!DOCTYPE html> +<html lang="sv"> + <head><script src="//archive.org/includes/analytics.js?v=cf34f82" type="text/javascript"></script> +<script type="text/javascript">window.addEventListener('DOMContentLoaded',function(){var v=archive_analytics.values;v.service='wb';v.server_name='wwwb-app203.us.archive.org';v.server_ms=307;archive_analytics.send_pageview({});});</script><script type="text/javascript" src="/_static/js/playback.bundle.js?v=bQvHU8mx" charset="utf-8"></script> +<script type="text/javascript" src="/_static/js/wombat.js?v=cRqOKCOw" charset="utf-8"></script> +<script type="text/javascript"> + __wm.init("https://web.archive.org/web"); + __wm.wombat("https://www.botkyrka.se/arkiv/nyhetsarkiv/nyheter-startsida/2017-07-10-angaende-uttalanden-av-journalisten-janne-josefsson-om-bibliotek-botkyrka.html","20170710185409","https://web.archive.org/","web","/_static/", + "1499712849"); +</script> +<link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=wiOP2tld" /> +<link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=qtvMKcIJ" /> +<!-- End Wayback Rewrite JS Include --> + + <meta charset="UTF-8"/> + <title>Angående uttalanden av journalisten Janne Josefsson om Bibliotek Botkyrka - Botkyrka.se</title> + + <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, shrink-to-fit=no"/> + <meta name="dcterms.identifier" content="https://www.botkyrka.se"/> + <meta name="dcterms.language" content="sv"/> + <meta name="dcterms.format" content="text/html"/> + <meta name="dcterms.type" content="text"/> + <!--[if !IE]><!--> + <link rel="stylesheet" type="text/css" media="print,screen,speech" href="/web/20170710185409cs_/https://www.botkyrka.se/2.4a23abd9158495687c996d54/1498467952562/sitevision-responsive-grids.css"/> + <!--<![endif]--> + <!--[if IE]><link rel="stylesheet" type="text/css" media="print,screen,speech" href="/2.4a23abd9158495687c996d54/1498467952562/sitevision-ie-responsive.css" /><![endif]--> + <!--[if IE]><link rel="stylesheet" type="text/css" media="print,screen,speech" href="/2.4a23abd9158495687c996d54/1498467952562/sitevision-ie-grids.css" /><![endif]--> + <!--[if IE]><link rel="stylesheet" type="text/css" media="print,screen,speech" href="/2.4a23abd9158495687c996d54/1498467952562/651.4a23abd9158495687c996df7/sitevision-ie-grids.css" /><![endif]--> + <!--[if IE]><link rel="stylesheet" type="text/css" media="print,screen,speech" href="/2.4a23abd9158495687c996d54/1498467952562/651.3f7cdc58159ed1e625a25b5/sitevision-ie-grids.css" /><![endif]--> + <!--[if !IE]><!--> + <link rel="stylesheet" type="text/css" media="print,screen,speech" href="/web/20170710185409cs_/https://www.botkyrka.se/2.4a23abd9158495687c996d54/1498468002542/sitevision-spacing.css"/> + <!--<![endif]--> + <!--[if IE]><link rel="stylesheet" type="text/css" media="print,screen,speech" href="/2.4a23abd9158495687c996d54/1498468002542/px/sitevision-ie-spacing.css" /><![endif]--> + <!--[if IE]><link rel="stylesheet" type="text/css" media="print,screen,speech" href="/2.4a23abd9158495687c996d54/1498468002542/em/sitevision-ie-spacing.css" /><![endif]--> + <!--[if IE]><link rel="stylesheet" type="text/css" media="print,screen,speech" href="/2.4a23abd9158495687c996d54/1498468002542/pc/sitevision-ie-spacing.css" /><![endif]--> + <link rel="stylesheet" type="text/css" media="print,screen,speech" href="/web/20170710185409cs_/https://www.botkyrka.se/sitevision/4.2.3-53/portlet/sitevision-portlets-min.css"/> + + <link rel="stylesheet" type="text/css" media="print,screen,speech" href="/web/20170710185409cs_/https://www.botkyrka.se/2.4a23abd9158495687c996d54/auto-1-866/9078/SiteVision.css"/><link rel="stylesheet" type="text/css" media="print,screen,speech" href="/web/20170710185409cs_/https://www.botkyrka.se/2.4a23abd9158495687c996d54/2322/9078/print/SiteVision.css"/> + + <link rel="stylesheet" type="text/css" media="screen" href="/web/20170710185409cs_/https://www.botkyrka.se/sitevision/4.2.3-53/util/sitevision_plugins-min.css"/> + <!--[if IE]><link rel="stylesheet" type="text/css" media="screen" href="/sitevision/4.2.3-53/css/sitevision-ie.css" /><![endif]--> + + <!--[if IE]> + <link rel="stylesheet" type="text/css" media="all" href="/download/18.4a23abd9158495687c9d70d7/1498723024801/main.css" /> + <link rel="stylesheet" type="text/css" media="print" href="/download/18.4a23abd9158495687c997ffa/1486981416507/print.css" /> + <![endif]--> + + <!--[if !IE]> --><link href="/web/20170710185409cs_/https://www.botkyrka.se/2.4a23abd9158495687c996d54/91.4a23abd9158495687c996e16/1498468231071/0/sv-template-asset.css" rel="stylesheet"/><!-- <![endif]--> + + + + <script type="text/javascript" src="/web/20170710185409js_/https://www.botkyrka.se/sitevision/4.2.3-53/js/sitevision_plugins-min.js"></script> + + <!--[if lt IE 8]><script src="/sitevision/4.2.3-53/js/json2.js"></script><![endif]--> +<script type="text/javascript">var $svjq=jQuery.noConflict();</script> + <script type="text/javascript" src="/web/20170710185409js_/https://www.botkyrka.se/sitevision/4.2.3-53/js/sitevision_common-min.js"></script> + <!--[if lt IE 9]> + <link rel="stylesheet" type="text/css" href="/sitevision/4.2.3-53/css/html5.css" /> + <script src="/sitevision/4.2.3-53/js/html5.js"></script> + <script src="/sitevision/4.2.3-53/js/ie-hacks.js"></script> + <![endif]--> + + <link rel="alternate" href="https://web.archive.org/web/20170710185409/https://www.botkyrka.se/arkiv/nyhetsarkiv/nyheter-startsida/2017-07-10-angaende-uttalanden-av-journalisten-janne-josefsson-om-bibliotek-botkyrka.html" hreflang="sv"/> + + + <script src="//web.archive.org/web/20170710185409js_/https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script> + <script src="/web/20170710185409js_/https://www.botkyrka.se/2.4a23abd9158495687c996d54/91.4a23abd9158495687c996e16/1498468231072/HEAD/0/sv-template-asset.js"></script> + + + <link href="/web/20170710185409im_/https://www.botkyrka.se/favicon.ico?v=4" rel="shortcut icon" type="image/x-icon"> + <meta name="theme-color" content="#60003a"> + <script type="text/javascript" src="//web.archive.org/web/20170710185409js_/https://www.vizzit.se/overlay/sitevision/overlay.php?c=Jb5xgRiDrFq3f9FwiL9zWg=="></script> +<link rel="stylesheet" type="text/css" href="//web.archive.org/web/20170710185409cs_/https://www.vizzit.se/overlay/sitevision/css/overlay.css"> + + + +<script type="text/javascript"> + //<![CDATA[ + + sv.PageContext = { + pageId: '5.5625533715cc532f15b71194', + siteId: '2.4a23abd9158495687c996d54', + userIdentityId: '', + userIdentityReadTimeout: 0, + userLocale: 'sv', + inEditMode: false, pageCreationEditorType: 'NORMAL_EDITOR' + }; + + sv.Log.setTraceLevel('error'); + + //]]> +</script> + + + +</head> + + + + + + <body class=" sv-responsive c0"> + +<div id="svid10_4a23abd9158495687c9973ad" class="sv-layout"><div id="svid94_4a23abd9158495687c996fa2"><div class="sv-fluid-grid sv-grid-main sv-layout sv-skip-spacer" id="svid10_3f7cdc58159ed1e625a2635"><div class="sv-vertical sv-layout sv-skip-spacer" id="svid10_4a23abd9158495687c99758e"><div class="sv-script-portlet sv-portlet sv-skip-spacer" id="svid12_4a23abd9158495687c997ec7"><div id="Skript"><!-- Skript --></div> +<script type="text/javascript"> + $svjq(document).ready(function(){ + var config = { + key: 'solCrisisTimestamp', + crisisElemSelector: '.sol-crisis-container' + } + + var crisisElem = $svjq(config.crisisElemSelector); + var crisisDate = crisisElem.attr('data-time'); + + var saveTimestamp = function(timestamp){ + localStorage.setItem(config.key, timestamp); + }; + + var readTimestamp = function(){ + try{ + return Number(localStorage.getItem(config.key)); + }catch(e){ + return 0; + }; + } + + var clearTimeStamp = function(){ + localStorage.removeItem(config.key); + } + + var showMsg = function(){ + if(crisisDate > readTimestamp()){ + clearTimeStamp(); + crisisElem.show(); + } + } + + $svjq('.sol-js-close-crisis').click(function(){ + crisisElem.css('margin-top', '-' + crisisElem.outerHeight() + 'px'); + saveTimestamp(crisisDate); + setTimeout(function(){ + crisisElem.hide(); + }, 200) + }); + showMsg(); + }); +</script></div> +</div> +<header class="sv-vertical sv-layout" id="svid10_4a23abd9158495687c997574"><div class="sv-vertical sv-layout sv-skip-spacer" id="svid10_4a23abd9158495687c997f5a"><div class="sv-searchform-portlet sv-portlet sv-skip-spacer" id="svid12_4a23abd9158495687c996ff8"><div id="Sokruta"><!-- Sökruta --></div> + <script type="text/javascript"> +//<!-- + $svjq(function() { + // Ensures 'search here' text is properly cleared when entering search field + $svjq("#search12_4a23abd9158495687c996ff8").focusin(function() { + if ($svjq("#search12_4a23abd9158495687c996ff8").val() == "Ange sökord") { + $svjq("#search12_4a23abd9158495687c996ff8").val(""); + return false; + } + }); + // Ensures 'search here' text is properly set when leaving search field + $svjq("#search12_4a23abd9158495687c996ff8").focusout(function() { + if ($svjq("#search12_4a23abd9158495687c996ff8").val() == "") { + $svjq("#search12_4a23abd9158495687c996ff8").val("Ange sökord"); + return false; + } + }); + // Submit, blocks empty search and 'search here' search + $svjq("#search12_4a23abd9158495687c996ff8button").click(function() { + var qry = $svjq("#search12_4a23abd9158495687c996ff8").val(); + if (qry == "") { + $svjq("#search12_4a23abd9158495687c996ff8").val("Ange sökord"); + return false; + } else if (qry == "Ange sökord") { + return false; + } + }); + // Invokes the search button if user presses the enter key (needed in IE) + $svjq("#search12_4a23abd9158495687c996ff8").keypress(function(e) { + if (e.which == 13) { + $svjq("#search12_4a23abd9158495687c996ff8button").focus().click(); + return false; + } + }); + }); +//--> +</script> + +<div class="sol-top-search "> + <form method="get" action="/web/20170710185409/https://www.botkyrka.se/ovrigt/sok.html" class="sol-top-search-field sol-no-margin"> + <div> + <label for="search12_4a23abd9158495687c996ff8" class="sr-only">Sök</label> + <input id="search12_4a23abd9158495687c996ff8" type="search" name="query" placeholder="Ange sökord"/> + <button id="search12_4a23abd9158495687c996ff8button" type="submit" name="submitButton"><i class="fa fa-search"></i></button> + </div> + </form> +</div> +</div> +</div> +<div class="sv-vertical sv-layout sol-top" id="svid10_4a23abd9158495687c997c89"><div class="sv-fluid-grid sv-grid-narrow sv-layout sv-skip-spacer" id="svid10_4a23abd9158495687c9982e5"><div class="sv-script-portlet sv-portlet sv-skip-spacer" id="svid12_4a23abd9158495687c9984c1"><div id="ToolmenuSkript"><!-- Tool menu - Skript --></div><a class="sol-top-logo" href="/web/20170710185409/https://www.botkyrka.se/" title="Startsida" accesskey="1"><img alt="Logo" src="/web/20170710185409im_/https://www.botkyrka.se/webdav/files/System/resources/graphics/bk_logo_liggande_cmyk.svg"/></a> +<nav class="sol-tool-nav sol-clearfix"> + <a class="sol-to-content sol-tool-nav-item" href="#page_content" accesskey="s">Till innehållet</a> + <div class="sol-tool-nav-item"> + <a id="bapluslogo" title="Aktivera Talande Webb" onclick="toggleBar();" href="#"><span><i class="fa fa-volume-up"></i>Lyssna</span></a> + <button class="sol-js-show-box" aria-expanded="false"><i class="fa fa-share-alt"></i>Dela</button> + <div class="sol-tool-nav-box sol-hidden sol-tool-nav-box-share" aria-hidden="true"> + <a href="https://web.archive.org/web/20170710185409/http://www.facebook.com/sharer.php?u=https%3A%2F%2Fwww.botkyrka.se%2Farkiv%2Fnyhetsarkiv%2Fnyheter-startsida%2F2017-07-10-angaende-uttalanden-av-journalisten-janne-josefsson-om-bibliotek-botkyrka.html" rel="external" title="Facebook" class="sol-btn-round"> + <i class="fa fa-facebook-f"></i> + <span class="sr-only">Facebook</span> + </a> + <a href="https://web.archive.org/web/20170710185409/http://twitter.com/intent/tweet?text=https%3A%2F%2Fwww.botkyrka.se%2Farkiv%2Fnyhetsarkiv%2Fnyheter-startsida%2F2017-07-10-angaende-uttalanden-av-journalisten-janne-josefsson-om-bibliotek-botkyrka.html%20(via%20Botkyrka.se)" rel="external" title="Twitter" class="sol-btn-round"> + <i class="fa fa-twitter"></i> + <span class="sr-only">Twitter</span> + </a> + <a href="https://web.archive.org/web/20170710185409/http://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.botkyrka.se%2Farkiv%2Fnyhetsarkiv%2Fnyheter-startsida%2F2017-07-10-angaende-uttalanden-av-journalisten-janne-josefsson-om-bibliotek-botkyrka.html" rel="external" title="LinkedIn" class="sol-btn-round"> + <i class="fa fa-linkedin"></i> + <span class="sr-only">LinkedIn</span> + </a> + <a href="https://web.archive.org/web/20170710185409/mailto:/?body=https%3A%2F%2Fwww.botkyrka.se%2Farkiv%2Fnyhetsarkiv%2Fnyheter-startsida%2F2017-07-10-angaende-uttalanden-av-journalisten-janne-josefsson-om-bibliotek-botkyrka.html%20(via%20Botkyrka.se)&subject=%5B2017-07-10%5D%20Ang%C3%A5ende%20uttalanden%20av%20journalisten%20Janne%20Josefsson%20om%20Bibliotek%20Botkyrka" title="Mail" class="sol-btn-round"> + <i class="fa fa-envelope-o"></i> + <span class="sr-only">Mail</span> + </a> + <button class="sol-js-close-box sol-close"><i class="fa fa-times"></i><span class="sr-only">Stäng dela</span></button> + </div> + </div> + <div class="sol-tool-nav-item"> + <a href="/web/20170710185409/https://www.botkyrka.se/ovrigt/a-o.html"> + <span><i class="fa fa-list-ul "></i>A-Ö</span> + </a> + </div> + <div class="sol-tool-nav-item"> + <a href="/web/20170710185409/https://www.botkyrka.se/kommun--politik/om-botkyrka/om-webbplatsen.html"> + <span><i class="fa fa-desktop "></i>Om webbplatsen</span> + </a> + </div> + <div class="sol-tool-nav-item"> + <a href="/web/20170710185409/https://www.botkyrka.se/toppmeny-spraksidor/other-languages.html"> + <span><i class="fa fa-globe"></i>Languages</span> + </a> + </div> + <div class="sol-tool-nav-item"> + <a href="/web/20170710185409/https://www.botkyrka.se/toppmeny-spraksidor/teckensprak.html"> + <span><i class="fa fa-sign-language"></i>Teckenspråk</span> + </a> + </div> + <div class="sol-tool-nav-item"> + <a href="/web/20170710185409/https://www.botkyrka.se/toppmeny-spraksidor/lattlast.html"> + <span><i class="fa fa-font"></i>Lättläst</span> + </a> + </div> + <div class="sol-tool-nav-item"> + <a href="/web/20170710185409/https://www.botkyrka.se/kommun--politik/om-botkyrka/kontakt.html"> + <span><i class="fa fa-phone"></i>Kontakta oss</span> + </a> + </div> + </nav> +<script type="text/javascript"> +(function($) { + $(document).ready(function(){ + + //Boxar + var toggleBox = function(box) { + box.fadeToggle(200).toggleAttr('aria-hidden', 'false', 'true'); + }; + $('.sol-js-show-box').click(function(){ + var item = $(this).parents('.sol-tool-nav-item'); + toggleBox(item.find('.sol-tool-nav-box')); + }); + $('.sol-js-close-box').click(function(){ + var item = $(this).parents('.sol-tool-nav-item'); + toggleBox(item.find('.sol-tool-nav-box')); + item.find('> button').toggleAttr('aria-expanded', 'true', 'false'); + }); + + //Readspeaker + $('.sol-js-toggle-readspeaker').click(function(){ + $('.sv-readspeaker_expandingplayer-portlet a').click(); + }); + $('body').on('click', '.rsbtn_closer', function(){ + $('.sol-js-toggle-readspeaker').attr('aria-expanded', 'false'); + }); + + //Generiskt + $('html').click(function() { + $('.sol-tool-nav .sol-tool-nav-box').fadeOut(200).attr('aria-hidden', 'true'); + $('.sol-tool-nav-item > button').attr('aria-expanded', 'false'); + }); + $('.sol-tool-nav-item').click(function(event) { + event.stopPropagation(); + }); + $('.sol-tool-nav-item > button').click(function(event) { + $(this).toggleAttr('aria-expanded', 'true', 'false'); + }); + }); + })(jQuery); + var googleTranslateElementInit = function() { + new google.translate.TranslateElement({pageLanguage: 'sv', autoDisplay: false}, 'google_translate_element'); + }; +</script> +</div> +<div class="sv-readspeaker_expandingplayer-portlet sv-portlet" id="svid12_4a23abd9158495687c99854f"><div id="ReadSpeakerEnterpriseHighlighting"><!-- ReadSpeaker Enterprise Highlighting --></div> + + + + + <script type="text/JavaScript" src="https://web.archive.org/web/20170710185409js_/http://f1.eu.readspeaker.com/script/1/ReadSpeaker.js?pids=embhl"></script> + <a accesskey="L" class="font-normal rs_skip" href="https://web.archive.org/web/20170710185409/http://app.readspeaker.com/cgi-bin/rsent?customerid=1&lang=sv&readid=svid94_5625533715cc532f15b7119b&url=https%3A//www.botkyrka.se/arkiv/nyhetsarkiv/nyheter-startsida/2017-07-10-angaende-uttalanden-av-journalisten-janne-josefsson-om-bibliotek-botkyrka.html" onclick="readpage(this.href,'readspeaker_player_div_12_4a23abd9158495687c99854f'); return false;" onkeypress="readpage(this.href,'readspeaker_player_div_12_4a23abd9158495687c99854f'); return false;"> + + <img class="sv-noborder sv-vamiddle" src="https://web.archive.org/web/20170710185409im_/http://f1.eu.readspeaker.com/graphic/default/buttons/icon_16px.gif" alt="Lyssna på sidan" title="Lyssna på sidan"/> Lyssna + </a> + + <div id="readspeaker_player_div_12_4a23abd9158495687c99854f" class="rs_skip rs_preserve"></div> +</div> +</div> +</div> +<div class="sv-vertical sv-layout sol-bottom" id="svid10_4a23abd9158495687c997c50"><div class="sv-fluid-grid sv-grid-narrow sv-layout sv-skip-spacer" id="svid10_4a23abd9158495687c9982e8"><div class="sv-script-portlet sv-portlet sv-skip-spacer" id="svid12_4a23abd9158495687c9984c4"><div id="TopmenuSkript"><!-- Top menu - Skript --></div> +<nav class="sol-top-nav sv-clearfix"> + <a href="/web/20170710185409/https://www.botkyrka.se/barn--utbildning.html" title="Barn & utbildning" class="sol-top-nav-item "> + Barn & utbildning + </a> + <a href="/web/20170710185409/https://www.botkyrka.se/bibliotek--kultur.html" title="Bibliotek & kultur" class="sol-top-nav-item "> + Bibliotek & kultur + </a> + <a href="/web/20170710185409/https://www.botkyrka.se/idrott-fritid--natur.html" title="Idrott, fritid & natur" class="sol-top-nav-item "> + Idrott, fritid & natur + </a> + <a href="/web/20170710185409/https://www.botkyrka.se/klimat--miljo.html" title="Klimat & miljö" class="sol-top-nav-item "> + Klimat & miljö + </a> + <a href="/web/20170710185409/https://www.botkyrka.se/bo--bygga.html" title="Bo & bygga" class="sol-top-nav-item "> + Bo & bygga + </a> + <a href="/web/20170710185409/https://www.botkyrka.se/omsorg--socialt-stod.html" title="Omsorg & socialt stöd" class="sol-top-nav-item "> + Omsorg & socialt stöd + </a> + <a href="/web/20170710185409/https://www.botkyrka.se/naringsliv--arbete.html" title="Näringsliv & arbete" class="sol-top-nav-item "> + Näringsliv & arbete + </a> + <a href="/web/20170710185409/https://www.botkyrka.se/kommun--politik.html" title="Kommun & politik" class="sol-top-nav-item "> + Kommun & politik + </a> + </nav></div> +</div> +</div> +<div class="sv-vertical sv-layout" id="svid10_4a23abd9158495687c997c4e"><div class="sv-script-portlet sv-portlet sv-skip-spacer" id="svid12_4a23abd9158495687c99829b"><div id="MobileheaderSkript"><!-- Mobile header - Skript --></div><div class="sol-mobile-header"> + <div> + <a href="/web/20170710185409/https://www.botkyrka.se/" title="Hem"><img class="sol-mobile-logo" src="/web/20170710185409im_/https://www.botkyrka.se/webdav/files/System/resources/graphics/bk_logo_liggande_cmyk.svg" alt="Logotyp"></a> + <button class="sol-hamburger-wrapper sol-js-toggle-menu" aria-expanded="false"> + <span class="sol-hamburger"> + <span class="sol-hamburger-top"></span> + <span class="sol-hamburger-middle"></span> + <span class="sol-hamburger-bottom"></span> + </span> + <span class="sol-hamburger-text">MENY</span> + </button> + </div> +</div> + +<script type="text/javascript"> + $svjq(document).ready(function(){ + $svjq('.sol-js-toggle-menu').click(function(){ + $svjq(this).toggleAttr('aria-expanded', 'true', 'false'); + var menuContainer = $svjq('.sol-mobile-menu-container'); + $svjq(this).find('.sol-hamburger').toggleClass('sol-active'); + menuContainer.hasClass('sol-active') ? SolUtils.restoreTabIndex() : SolUtils.removeTabIndex('.sol-js-toggle-menu'); + menuContainer.css('display', 'block'); + var containerHeight = menuContainer.find('> ul').outerHeight(); + menuContainer.toggleClass('sol-active'); + if(menuContainer.hasClass('sol-active')){ + + $svjq(this).find('.sol-hamburger-text').text('STÄNG'); + $svjq(menuContainer).toggleAttr('aria-hidden', 'true', 'false'); + menuContainer.css('height',containerHeight + 'px'); + menuContainer.css('min-height', containerHeight + 'px'); + setTimeout(function(){ + menuContainer.css('height', 'auto'); + }, 250); + }else{ + $svjq(this).find('.sol-hamburger-text').text('MENY'); + menuContainer.css('height',containerHeight + 'px'); + setTimeout(function(){ + menuContainer.css('height', ''); + menuContainer.css('min-height', ''); + },10); + setTimeout(function(){ + menuContainer.css('display', ''); + },250); + } + }); + }); +</script> +</div> +</div> +</header> +<div class="sv-script-portlet sv-portlet" id="svid12_4a23abd9158495687c9977d5"><div id="MobilemenuSkript"><!-- Mobile menu - Skript --></div> +<div class="sol-mobile-menu-wrapper"> + <div class="sol-mobile-menu-container sol-ul-container"> + <ul> + <li> + <div class="sol-menu-item" data-is-current="false" data-expanded="false" data-menu-level="0" data-has-children="true" data-node-type="sv:page" data-id="4.4a23abd9158495687c996e95"> + <a class="sol-menu-item-link" href="/web/20170710185409/https://www.botkyrka.se/barn--utbildning.html"> <span class="sol-menu-item-display-name">Barn & utbildning</span> + </a> <button class="sol-menu-button" aria-expanded="false" data-refid="4.4a23abd9158495687c996e95"><i class="fa fa-chevron-right"></i><span class="sr-only">Undermeny för Barn & utbildning</span></button> + <div class="sol-menu-list" aria-hidden="true"> + </div> + </div> + </li> + <li> + <div class="sol-menu-item" data-is-current="false" data-expanded="false" data-menu-level="0" data-has-children="true" data-node-type="sv:page" data-id="4.4a23abd9158495687c9c49e4"> + <a class="sol-menu-item-link" href="/web/20170710185409/https://www.botkyrka.se/bibliotek--kultur.html"> <span class="sol-menu-item-display-name">Bibliotek & kultur</span> + </a> <button class="sol-menu-button" aria-expanded="false" data-refid="4.4a23abd9158495687c9c49e4"><i class="fa fa-chevron-right"></i><span class="sr-only">Undermeny för Bibliotek & kultur</span></button> + <div class="sol-menu-list" aria-hidden="true"> + </div> + </div> + </li> + <li> + <div class="sol-menu-item" data-is-current="false" data-expanded="false" data-menu-level="0" data-has-children="true" data-node-type="sv:page" data-id="4.4a23abd9158495687c996ead"> + <a class="sol-menu-item-link" href="/web/20170710185409/https://www.botkyrka.se/idrott-fritid--natur.html"> <span class="sol-menu-item-display-name">Idrott, fritid & natur</span> + </a> <button class="sol-menu-button" aria-expanded="false" data-refid="4.4a23abd9158495687c996ead"><i class="fa fa-chevron-right"></i><span class="sr-only">Undermeny för Idrott, fritid & natur</span></button> + <div class="sol-menu-list" aria-hidden="true"> + </div> + </div> + </li> + <li> + <div class="sol-menu-item" data-is-current="false" data-expanded="false" data-menu-level="0" data-has-children="true" data-node-type="sv:page" data-id="4.4a23abd9158495687c9c4a14"> + <a class="sol-menu-item-link" href="/web/20170710185409/https://www.botkyrka.se/klimat--miljo.html"> <span class="sol-menu-item-display-name">Klimat & miljö</span> + </a> <button class="sol-menu-button" aria-expanded="false" data-refid="4.4a23abd9158495687c9c4a14"><i class="fa fa-chevron-right"></i><span class="sr-only">Undermeny för Klimat & miljö</span></button> + <div class="sol-menu-list" aria-hidden="true"> + </div> + </div> + </li> + <li> + <div class="sol-menu-item" data-is-current="false" data-expanded="false" data-menu-level="0" data-has-children="true" data-node-type="sv:page" data-id="4.4a23abd9158495687c9c4a5c"> + <a class="sol-menu-item-link" href="/web/20170710185409/https://www.botkyrka.se/bo--bygga.html"> <span class="sol-menu-item-display-name">Bo & bygga</span> + </a> <button class="sol-menu-button" aria-expanded="false" data-refid="4.4a23abd9158495687c9c4a5c"><i class="fa fa-chevron-right"></i><span class="sr-only">Undermeny för Bo & bygga</span></button> + <div class="sol-menu-list" aria-hidden="true"> + </div> + </div> + </li> + <li> + <div class="sol-menu-item" data-is-current="false" data-expanded="false" data-menu-level="0" data-has-children="true" data-node-type="sv:page" data-id="4.4a23abd9158495687c9c4b04"> + <a class="sol-menu-item-link" href="/web/20170710185409/https://www.botkyrka.se/omsorg--socialt-stod.html"> <span class="sol-menu-item-display-name">Omsorg & socialt stöd</span> + </a> <button class="sol-menu-button" aria-expanded="false" data-refid="4.4a23abd9158495687c9c4b04"><i class="fa fa-chevron-right"></i><span class="sr-only">Undermeny för Omsorg & socialt stöd</span></button> + <div class="sol-menu-list" aria-hidden="true"> + </div> + </div> + </li> + <li> + <div class="sol-menu-item" data-is-current="false" data-expanded="false" data-menu-level="0" data-has-children="true" data-node-type="sv:page" data-id="4.4a23abd9158495687c9c4b58"> + <a class="sol-menu-item-link" href="/web/20170710185409/https://www.botkyrka.se/naringsliv--arbete.html"> <span class="sol-menu-item-display-name">Näringsliv & arbete</span> + </a> <button class="sol-menu-button" aria-expanded="false" data-refid="4.4a23abd9158495687c9c4b58"><i class="fa fa-chevron-right"></i><span class="sr-only">Undermeny för Näringsliv & arbete</span></button> + <div class="sol-menu-list" aria-hidden="true"> + </div> + </div> + </li> + <li> + <div class="sol-menu-item" data-is-current="false" data-expanded="false" data-menu-level="0" data-has-children="true" data-node-type="sv:page" data-id="4.4a23abd9158495687c9c4bb8"> + <a class="sol-menu-item-link" href="/web/20170710185409/https://www.botkyrka.se/kommun--politik.html"> <span class="sol-menu-item-display-name">Kommun & politik</span> + </a> <button class="sol-menu-button" aria-expanded="false" data-refid="4.4a23abd9158495687c9c4bb8"><i class="fa fa-chevron-right"></i><span class="sr-only">Undermeny för Kommun & politik</span></button> + <div class="sol-menu-list" aria-hidden="true"> + </div> + </div> + </li> + </ul> + </div> +</div> +<script type="text/sol-mobile-menu-item-tmpl"> +<div class="sol-menu-item"> + <% if(nodeType == 'sv:folder') { %> + <div class="sol-menu-item-link"> + <% } else { %> + <a class="sol-menu-item-link" href="<%= uri %>" title="<%= displayName %>"> + <% } %> + <span class="sol-menu-item-display-name"><%= displayName %></span> + <% if(nodeType == 'sv:folder') { %> + </div> + <% } else { %> + </a> + <% } %> + </a> + <% if(hasChildren) { %> + <button class="sol-menu-button" aria-expanded="false"><i class="fa fa-chevron-right"></i><span class="sr-only">Undermeny för <%= displayName %></span></button> + <div class="sol-menu-list" aria-hidden="true"></div> + <% } %> +</div> +</script> +<script type="text/javascript"> + (function() { + var options = { + containerSelector:".sol-mobile-menu-container", + menuItemTemplateSelector:"[type='text/sol-mobile-menu-item-tmpl']", + menuServiceUrl:"/menu-service", + rootNodeId:"2.4a23abd9158495687c996d54_sitePage", + currentNodeId:"5.5625533715cc532f15b71194", + initStart: false + }; + var subMenu = SoleilMenu.create(options); + + subMenu.onExpand(function(menuItem, menuButton, menuList) { + $svjq(menuList).slideDown(150); + }); + subMenu.onCollapse(function(menuItem, menuButton, menuList) { + $svjq(menuList).slideUp(150); + }); + + })(); +</script> + +</div> +<div class="sv-vertical sv-layout sol-main-body c1" id="svid10_4a23abd9158495687c997571"><div id="svid94_4a23abd9158495687c997052"><div class="sv-layout sv-skip-spacer" id="svid30_789f653115a26de0e22599b5"><div id="Breadcrumbs"><!-- Breadcrumbs --></div><div class="sv-vertical sv-layout sol-breadcrumbs-wrapper sv-skip-spacer" id="svid10_25b7d58415a26d948701520f"><div class="sv-fluid-grid sv-grid-narrow sv-layout sv-skip-spacer" id="svid10_25b7d58415a26d9487015210"><div class="sv-script-portlet sv-portlet sv-skip-spacer" id="svid12_25b7d58415a26d9487015211"><div id="BreadcrumbsSkript"><!-- Breadcrumbs - Skript --></div><ul class="sol-breadcrumbs sol-ul"> + <li> + <a href="/web/20170710185409/https://www.botkyrka.se/" title="Startsida">Startsida</a> + </li> + <li> + <span class="sol-divider">/</span> + <a href="/web/20170710185409/https://www.botkyrka.se/arkiv/nyhetsarkiv.html" title="Nyhetsarkiv">Nyhetsarkiv</a> + </li> + <li> + <span class="sol-divider">/</span> + <span>Angående uttalanden av journalisten Janne Josefsson om Bibliotek Botkyrka</span> + </li> + </ul></div> +</div> +</div> +<div class="sv-html-portlet sv-portlet" id="svid12_789f653115a26de0e2259976"><div id="AnkareinnehallHTML"><!-- Ankare innehåll - HTML --></div><div id="page_content"> + +</div></div> +</div> +<div class="sv-fluid-grid sv-grid-narrow sv-layout" id="svid10_4a23abd9158495687c9977cc"><div class="sv-vertical sv-layout sol-section sol-article-wrapper sv-skip-spacer" id="svid10_4a23abd9158495687c997e22"><div id="svid94_4a23abd9158495687c996f91"><div class="sv-vertical sv-layout sv-skip-spacer" id="svid10_4a23abd9158495687c99793f"><div id="svid94_5625533715cc532f15b7119b" class="pagecontent sv-layout"><div id="Mittenspalt"><!-- Mittenspalt --></div><div class="sv-text-portlet sv-use-margins sv-skip-spacer" id="svid12_5625533715cc532f15b7119c"><div id="Rubrik"><!-- Rubrik --></div><div class="sv-text-portlet-content"><h1 class="font-heading-1" id="h-AngaendeuttalandenavjournalistenJanneJosefssonomBibliotekBotkyrka">Angående uttalanden av journalisten Janne Josefsson om Bibliotek Botkyrka</h1></div></div> +<div class="sv-text-portlet sv-use-margins" id="svid12_5625533715cc532f15b7119e"><div id="Ingress"><!-- Ingress --></div><div class="sv-text-portlet-content"><p class="font-normal"><strong>Journalisten Janne Josefsson hävdar i ”Sommar i P1” att Botkyrka kommuns bibliotek bränner böcker av Astrid Lindgren. Det stämmer inte. För att utrymmet i hyllorna ska räcka till krävs det att biblioteken i Botkyrka varje år gallrar motsvarande mängd böcker som man köper in, varav vissa har varit äldre utgåvor av Astrid Lindgren.</strong></p></div></div> +<div class="sv-text-portlet sv-use-margins" id="svid12_5625533715cc532f15b7119f"><div id="Innehall"><!-- Innehåll --></div><div class="sv-text-portlet-content"><p class="font-normal">Bibliotek Botkyrka ägnar sig inte åt att bränna böcker. För att utrymmet i hyllorna ska räcka till krävs det att varje bibliotek i Botkyrka varje år gallrar motsvarande mängd böcker som man köper in. Det är en praktisk omöjlighet för ett folkbibliotek att ha alla böcker som givits ut i Sverige. Gallring av en bok kan bli aktuell av flera olika orsaker. Det kan vara utslitna böcker, böcker som inte lånats på länge, böcker vars innehåll är föråldrat med mera. Vissa av de gallrade böckerna säljs till biblioteksbesökare för några kronor styck medan andra kasseras direkt. Kasserade böcker hanteras enligt ordinarie återvinningsregler och sophanteringsrutiner.</p><p class="font-normal">Biblioteken i Botkyrka kommun har gallrat vissa utgåvor av Astrid Lindgrens ”Pippi i Söderhavet” där det förekommer föråldrade uttryck som kan uppfattas som rasistiska, men Bibliotek Botkyrka har också köpt in förlagets nya utgåva av boken från 2015 där de föråldrade uttrycken har bytts ut mot mer samtida. De gallrade exemplaren av Pippi i Söderhavet har kasserats och hanterats enligt samma rutiner som alla andra gallrade böcker. Det förekommer alltså inte, som det kan uppfattas att Janne Josefsson vill göra gällande, någon särskild hantering av dessa böcker. Detta har också påtalats för Janne Josefsson i samtal med honom under maj månad.</p><p class="font-normal">För mer information om hur böcker återvinns hänvisar Kultur- och fritidsförvaltningen till återvinningsbolaget SRV.</p></div></div> +</div></div> +</div><div class="sv-layout sv-skip-spacer" id="svid30_3f7cdc58159ed1e625a23a9"><div id="Relateradinformation"><!-- Relaterad information --></div><div class="sv-script-portlet sv-portlet sv-skip-spacer" id="svid12_3f7cdc58159ed1e625a23a7"><div id="VisadividerSkript"><!-- Visa divider - Skript --></div></div> +<div class="sv-layout" id="svid30_3f7cdc58159ed1e625a9d0e"><div id="Relateradekontakter"><!-- Relaterade kontakter --></div><div class="sv-script-portlet sv-portlet sv-skip-spacer" id="svid12_3f7cdc58159ed1e625a9d0a"><div id="RelateratSkript"><!-- Relaterat - Skript --></div></div> +</div> +<div class="sv-layout" id="svid30_3f7cdc58159ed1e625a23a1"><div id="Relateradelankar"><!-- Relaterade länkar --></div><div class="sv-script-portlet sv-portlet sv-skip-spacer" id="svid12_4a23abd9158495687c998521"><div id="RelateratSkript-0"><!-- Relaterat - Skript --></div></div> +</div> +<div class="sv-layout" id="svid30_3f7cdc58159ed1e625a23a2"><div id="Relateradedokument"><!-- Relaterade dokument --></div><div class="sv-script-portlet sv-portlet sv-skip-spacer" id="svid12_3f7cdc58159ed1e625a2336"><div id="RelateratSkript-1"><!-- Relaterat - Skript --></div></div> +</div> +</div> +<div class="sv-layout" id="svid30_4a23abd9158495687c998354"><div id="Sidinfo"><!-- Sidinfo --></div><div class="sv-script-portlet sv-portlet sol-show-print sv-skip-spacer" id="svid12_4a23abd9158495687c99852f"><div id="SidinfoSkript"><!-- Sidinfo - Skript --></div><div class="sol-simple-box-decoration sol-publish-info font-normal"> + <div class="sol-print"> + <span class="sol-js-print" onclick="window.print()"><i class="fa fa-print"></i>Skriv ut</span> + </div> + <div> + <span><strong>Senast uppdaterad: </strong> 10 juli 2017</span> + </div> +</div> + +</div> +</div> +<div class="sv-script-portlet sv-portlet" id="svid12_4a23abd9158495687c998313"><div id="ArtikeldatumSkript"><!-- Artikeldatum - Skript --></div><div class="sol-article-date sol-hidden"> + <span class="sol-article-date-month"> + jul + </span> + <span class="sol-article-date-day"> + 10 + </span> +</div> + +<script type="text/javascript"> + (function() { + var imgs = $svjq('.sol-article-wrapper .sv-image-portlet'); + if(imgs.length > 0){ + imgs.first().append($svjq('.sol-article-date').removeClass('sol-hidden')); + } + }()); +</script> +</div> +</div> +</div> +</div></div> +<footer class="sv-vertical sv-layout" id="svid10_4a23abd9158495687c997568"><div class="sv-vertical sv-layout sol-bottom sv-skip-spacer" id="svid10_4a23abd9158495687c99813e"><div class="sv-fluid-grid sv-grid-narrow sv-layout sv-skip-spacer" id="svid10_4a23abd9158495687c99830f"><div class="sv-script-portlet sv-portlet sv-skip-spacer" id="svid12_4a23abd9158495687c9984fe"><div id="FooterSkript"><!-- Footer - Skript --></div><div class="sv-row sol-md-row"> + <div class="sv-column-4 sol-md-col-4"> + <h1 class="font-footer-header">Kontakt</h1> + <div class="sol-footer-contact"> + <div class="sol-footer-contact-item"> + <i class="fa fa-home"><span class="sr-only">Postadress</span></i> + <span><strong>Botkyrka kommun</strong><br>Munkhättevägen 45<br>147 85 TUMBA<br>Org. nummer: 212000-2882<br></span> + </div> + <a class="sol-footer-contact-item" href="tel:0853061000"> + <i class="fa fa-phone"><span class="sr-only">Telefon</span></i> + <span>08-530 610 00</span> + </a> + <a class="sol-footer-contact-item" href="tel:0853022350"> + <i class="fa fa-fax"><span class="sr-only">Telefax</span></i> + <span>08-530 223 50</span> + </a> + <a class="sol-footer-contact-item" href="https://web.archive.org/web/20170710185409/mailto:kontaktcenter@botkyrka.se" title="Maila kontaktcenter@botkyrka.se"> + <i class="fa fa-envelope-o"><span class="sr-only">E-post</span></i> + <span>kontaktcenter@botkyrka.se</span> + </a> + <a class="sol-footer-contact-item" href="/web/20170710185409/https://www.botkyrka.se/kommun--politik/om-botkyrka/kontakt/journummer---kvallar-och-helger.html"> + <i class="fa fa-angle-right"><span class="sr-only">Journummer kvällar och helger</span></i> + <span>Journummer kvällar och helger</span> + </a> + </div> + + </div> + <div class="sv-column-4 sol-md-col-4"> + <h1 class="font-footer-header">Genvägar</h1> + <div class="sol-footer-links"> + <a class="sol-footer-links-item" href="javascript:void(window.open('https://web.archive.org/web/20170710185409/https://botwebb.botkyrka.se/','_blank','toolbar=1,location=1,status=1,menubar=1,scrollbars=1,resizable=1'));" title="öppnas i nytt fönster"> + <i class="fa fa-angle-right"></i> + <span>Medarbetare: Botwebb</span> + <i class="fa fa-external-link sol-external-link-icon"></i> </a> + <a class="sol-footer-links-item" href="/web/20170710185409/https://www.botkyrka.se/kommun--politik/om-botkyrka/press.html"> + <i class="fa fa-angle-right"></i> + <span>Press</span> + </a> + <a class="sol-footer-links-item" href="javascript:void(window.open('https://web.archive.org/web/20170710185409/http://bibliotek.botkyrka.se/','_blank','toolbar=1,location=1,status=1,menubar=1,scrollbars=1,resizable=1'));" title="öppnas i nytt fönster"> + <i class="fa fa-angle-right"></i> + <span>Bibliotek</span> + <i class="fa fa-external-link sol-external-link-icon"></i> </a> + <a class="sol-footer-links-item" href="javascript:void(window.open('https://web.archive.org/web/20170710185409/https://karta.botkyrka.se/publik/Search.html#main=ctx:webbkarta;&LayerSwitcher=active:true;layers:;&Search=selecteecdLayer:;selectedLocation:;&SearchResult=active:false;&BaseLayer=active:oversikt;&Map=lat:6561289.5;lon:140112;zoom:0;&Standard=selectedTab:0;&','_blank','toolbar=1,location=1,status=1,menubar=1,scrollbars=1,resizable=1'));" title="öppnas i nytt fönster"> + <i class="fa fa-angle-right"></i> + <span>Webbkarta</span> + <i class="fa fa-external-link sol-external-link-icon"></i> </a> + </div> + </div> + <div class="sv-column-4 sol-md-col-4"> + <h1 class="font-footer-header">Följ oss på</h1> + <div class="sol-social-media"> + <div class="sol-social-media-item"> + <a href="https://web.archive.org/web/20170710185409/https://www.facebook.com/botkyrka"> + <i class="fa fa-facebook"></i> + <span class="sr-only">Facebook</span> + </a> + </div> + <div class="sol-social-media-item"> + <a href="https://web.archive.org/web/20170710185409/https://www.instagram.com/botkyrkakommun/"> + <i class="fa fa-instagram"></i> + <span class="sr-only">Instagram</span> + </a> + </div> + <div class="sol-social-media-item"> + <a href="https://web.archive.org/web/20170710185409/http://www.youtube.com/channel/UCn6znHXKPEKoiWb4yiwfGAw"> + <i class="fa fa-youtube"></i> + <span class="sr-only">YouTube</span> + </a> + </div> + <div class="sol-social-media-item"> + <a href="https://web.archive.org/web/20170710185409/https://twitter.com/botkyrkakommun"> + <i class="fa fa-twitter"></i> + <span class="sr-only">Twitter</span> + </a> + </div> + <div class="sol-social-media-item"> + <a href="javascript:void(window.open('https://web.archive.org/web/20170710185409/https://se.linkedin.com/company/botkyrka-kommun','_blank','toolbar=1,location=1,status=1,menubar=1,scrollbars=1,resizable=1'));"> + <i class="fa fa-linkedin"></i> + <span class="sr-only">LinkedIn</span> + </a> + </div> + </div> + </div> +</div> +</div> +</div> +</div> +</footer> +<div class="sv-script-portlet sv-portlet" id="svid12_4a23abd9158495687c9972a2"><div id="KakorSkript"><!-- Kakor - Skript --></div><div class="sol-cookie-message sol-hidden sol-hide-print"> + Denna sida använder cookies. För mer <a href="/web/20170710185409/https://www.botkyrka.se/cookies" title="Cookie information">information om cookies.</a> + <button class="sol-cookie-ok">OK</button> +</div> + +<script type="text/javascript"> + $svjq(document).ready(function(){ + if(!$svjq('body').hasClass('sv-editing-mode')){ + $svjq('.sol-cookie-ok').click(function(e){ + $svjq('.sol-cookie-message').hide(); + $svjq('#sv-editor-menu').removeClass('sol-editor-bottom'); + if (localStorage) { + localStorage.setItem('solAcceptCookie', true); + } else { + document.cookie = "solAcceptCookie=true"; + } + }); + if (localStorage) { + if(!localStorage.getItem('solAcceptCookie')){ + $svjq('.sol-cookie-message').show(); + $svjq('#sv-editor-menu').addClass('sol-editor-bottom'); + } + } else { + if(!document.cookie.replace(/(?:(?:^|.*;\s*)solAcceptCookie\s*\=\s*([^;]*).*$)|^.*$/, "$1")){ + $svjq('.sol-cookie-message').show(); + $svjq('#sv-editor-menu').addClass('sol-editor-bottom'); + } + } + } + }); +</script> +</div> +</div> +<div class="sv-html-portlet sv-portlet" id="svid12_789f653115a26de0e229e02"><div id="Talandewebb"><!-- Talande webb --></div><div class="c18"> + <script type="text/javascript" src="//web.archive.org/web/20170710185409js_/https://www.browsealoud.com/plus/scripts/ba.js"></script> +</div> +</div> +</div></div> + + <!-- Google-tag start --> +<script> +(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ +(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), +m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) +})(window,document,'script','//web.archive.org/web/20170710185409/https://www.google-analytics.com/analytics.js','ga'); + +ga('create', 'UA-5339168-5', 'auto'); +ga('send', 'pageview'); +</script> + <!-- Google-tag end --> + <!-- Vizzit-tag start --> + <script type="text/javascript" src="//web.archive.org/web/20170710185409js_/https://www.vizzit.se/vizzittag/tag.php?d=botkyrka_se"></script> + <!-- Vizzit-tag end --> + <script type="text/javascript" src="/web/20170710185409js_/https://www.botkyrka.se/sitevision/4.2.3-53/portlet/sitevision-portlets-min.js"></script> + + + + + + + + </body> +</html><!-- + FILE ARCHIVED ON 18:54:09 Jul 10, 2017 AND RETRIEVED FROM THE + INTERNET ARCHIVE ON 07:11:30 May 03, 2021. + JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. + + ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. + SECTION 108(a)(3)). +--> +<!-- +playback timings (ms): + captures_list: 225.031 + exclusion.robots: 0.083 + exclusion.robots.policy: 0.075 + RedisCDXSource: 4.625 + esindex: 0.01 + LoadShardBlock: 199.161 (3) + PetaboxLoader3.datanode: 63.454 (4) + CDXLines.iter: 16.91 (3) + load_resource: 71.682 + PetaboxLoader3.resolve: 35.25 +--> +\ No newline at end of file diff --git a/content/misc/web_snapshot/6a610fa69d4909cc9aa1dcb7105203cc50c1bcf26733411964f95cbcbdf37eb5.pdf b/content/misc/web_snapshot/6a610fa69d4909cc9aa1dcb7105203cc50c1bcf26733411964f95cbcbdf37eb5.pdf Binary files differ. diff --git a/content/misc/web_snapshot/6c20e7678a0235467687425b9818718ab143fd477afee2087d7f79c933abdc75.txt b/content/misc/web_snapshot/6c20e7678a0235467687425b9818718ab143fd477afee2087d7f79c933abdc75.txt @@ -0,0 +1,11 @@ +HTTP/2 200 +server: shield +date: Mon, 03 May 2021 07:50:07 GMT +content-type: text/html +content-length: 1350 +expires: Thu, 01 Jan 1970 00:00:01 GMT +cache-control: no-cache +x-shield-request-id: da7357abf3568dcc98babf1c5e23b8ee +via: 1.1 google +alt-svc: clear + diff --git a/content/misc/web_snapshot/a2584ca07ba16b15b9fad315a767cbb0c4b7124abdfd578cab2afb4dce9d1971.pdf b/content/misc/web_snapshot/a2584ca07ba16b15b9fad315a767cbb0c4b7124abdfd578cab2afb4dce9d1971.pdf Binary files differ. diff --git a/content/misc/web_snapshot/a8c6b61cec2cce1a58bcf7a65091a6c2e8510ca5fa17f2d242d286f087d95cd5.txt b/content/misc/web_snapshot/a8c6b61cec2cce1a58bcf7a65091a6c2e8510ca5fa17f2d242d286f087d95cd5.txt @@ -0,0 +1,220 @@ +<!DOCTYPE html> +<html lang="en" prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# op: http://media.facebook.com/op# article: http://ogp.me/ns/article#" class="post-tmpl-default single single-post pid-7100279 tf-single pt-post c-europe"> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width,initial-scale=1"> + + <link rel="dns-prefetch" href="https://www.google-analytics.com"> + <link rel="dns-prefetch" href="https://adservice.google.com"> + <link rel="dns-prefetch" href="https://cdn.ampproject.org"> + <link rel="dns-prefetch" href="https://www.gstatic.com"> + <link rel="dns-prefetch" href="https://fonts.gstatic.com"> + <link rel="dns-prefetch" href="https://fonts.googleapis.com"> + <link rel="dns-prefetch" href="https://ib.adnxs.com"> + <link rel="dns-prefetch" href="https://staticxx.facebook.com"> + <link rel="dns-prefetch" href="https://connect.facebook.net"> + <link rel="dns-prefetch" href="https://breitbartproduction.disqus.com"> + <link rel="dns-prefetch" href="https://secure.quantserve.com"> + <link rel="dns-prefetch" href="https://pixel.quantserve.com"> + <link rel="dns-prefetch" href="https://certify-js.alexametrics.com"> + <link rel="dns-prefetch" href="https://api.sail-personalize.com"> + <link rel="dns-prefetch" href="https://overlay-track.sailthru.cloud"> + <link rel="dns-prefetch" href="https://media.sailthru.com"> + + <link rel="preload" href="/t/style-06469418745738528928852712.css" as="style"> + <link rel="preload" href="/t/assets/fonts/bbn.woff2" as="font" type="font/woff2" crossorigin> + <link rel="preload" href="/t/style-06469418745738528928852712.js" as="script"> + <link rel="preload" href="/t/assets/js/prebid-16.js" as="script"> <link rel="preload" href="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js" as="script"> + <link rel="preload" href="https://cdn.jsdelivr.net/npm/store-js@2.0.4/dist/store.legacy.min.js" as="script"> + <link href="/t/style-06469418745738528928852712.css" rel="stylesheet"> + <link href="https://fonts.googleapis.com/css?family=Fjalla+One" rel="stylesheet"> + <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/all.min.css" rel="stylesheet"> + <meta property="fb:pages" content="95475020353"> + + <meta name="apple-itunes-app" content="app-id=722987199"> + <meta name="google-play-app" content="app-id=com.breitbart.app"> + <meta name="ahrefs-site-verification" content="e5213d6c4a07fe85baa34006f2a9a3c977bd8f3a50fd0ab6d2aa93844e0b3303"> + + <link rel="home" href="https://www.breitbart.com" title="Breitbart.com"> + <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml"> + <link rel="alternate" type="application/rss+xml" href="https://feeds.feedburner.com/breitbart" title="Breitbart News Feed"> + + <link rel="mask-icon" href="/favicon.svg" color="#ff5500"> + <link rel="apple-touch-icon" href="/apple-touch-icon.png"> + <link rel="icon" href="/favicon.png" sizes="192x192"> + <link rel="manifest" href="/manifest.json"> + <meta name="theme-color" content="#FF5500"> + <title>Sweden's Libraries Destroying Pippi Longstocking Books Because of Racist Phrases</title> + <meta name="description" content="A Swedish council has admitted that local libraries have been throwing out copies of a popular children’s book because it contains racist expressions, with one local journalist even claiming the books are being burnt. | London / Europe"> + <link rel="canonical" href="https://www.breitbart.com/europe/2017/07/19/swedens-libraries-pulp-traditional-children-books-racist-phrases/"> + <link rel="publisher" href="https://plus.google.com/110812411499982071387"> + <meta property="og:locale" content="en_US"> + <meta property="og:type" content="article"> + <meta property="og:title" content="Sweden's Libraries Destroying Pippi Longstocking Books Because of Racist Phrases"> + <meta property="og:description" content="A Swedish council has admitted that local libraries have been throwing out copies of a popular children’s book because it contains racist expressions, with one local journalist even claiming the books are being burnt. | London / Europe"> + <meta property="og:url" content="https://www.breitbart.com/europe/2017/07/19/swedens-libraries-pulp-traditional-children-books-racist-phrases/"> + <meta property="og:site_name" content="Breitbart"> + <meta property="article:publisher" content="https://www.facebook.com/Breitbart"> + <meta property="article:tag" content="Multiculturalism"> + <meta property="article:tag" content="Sweden"> + <meta property="article:section" content="London / Europe"> + <meta property="article:published_time" content="2017-07-19T12:42:22+00:00"> + <meta property="fb:app_id" content="1243316582352556"> + <meta property="og:image" content="https://media.breitbart.com/media/2017/07/AP_070324047748.png"> + <meta property="og:image:secure_url" content="https://media.breitbart.com/media/2017/07/AP_070324047748.png"> + <meta property="og:image:width" content="447"> + <meta property="og:image:height" content="335"> + <meta property="og:image:alt" content="Pippi Longstocking"> + <meta name="twitter:card" content="summary_large_image"> + <meta name="twitter:description" content="A Swedish council has admitted that local libraries have been throwing out copies of a popular children’s book because it contains racist expressions, with one local journalist even claiming the books are being burnt. | London / Europe"> + <meta name="twitter:title" content="Sweden's Libraries Destroying Pippi Longstocking Books Because of Racist Phrases"> + <meta name="twitter:site" content="@BreitbartNews"> + <meta name="twitter:image" content="https://media.breitbart.com/media/2017/07/AP_070324047748.png"> + <meta name="twitter:creator" content="@BreitbartNews"> + <script type="application/ld+json"> + {"@context":["https:\/\/schema.org",{"@base":"https:\/\/www.breitbart.com\/europe\/2017\/07\/19\/swedens-libraries-pulp-traditional-children-books-racist-phrases\/"}],"@graph":[{"@type":"NewsMediaOrganization","@id":"https:\/\/www.breitbart.com\/#organization","url":"https:\/\/www.breitbart.com\/","name":"Breitbart","alternateName":"Breitbart News","sameAs":["https:\/\/www.facebook.com\/Breitbart","https:\/\/twitter.com\/BreitbartNews","https:\/\/www.youtube.com\/channel\/UCmgnsaQIK1IR808Ebde-ssA","https:\/\/www.instagram.com\/wearebreitbart\/","https:\/\/soundcloud.com\/breitbart","https:\/\/parler.com\/profile\/BreitbartNews"],"logo":{"@type":"ImageObject","@id":"https:\/\/www.breitbart.com\/#logo","url":"https:\/\/www.breitbart.com\/t\/assets\/i\/BB-logo-highres-1024x1024.png","caption":"Breitbart"},"description":"Source of breaking news and analysis, insightful commentary and original reporting, curated and written specifically for the new generation of independent and conservative thinkers.","masthead":"https:\/\/www.breitbart.com\/masthead\/","founder":{"@type":"Person","name":"Andrew Breitbart","familyName":"Breitbart","givenName":"Andrew"},"foundingLocation":{"@type":"City","name":"Los Angeles"},"foundingDate":"2005-09-01","address":{"@type":"PostalAddress","addressCountry":"USA"}},{"@type":"WebSite","@id":"https:\/\/www.breitbart.com\/#website","url":"https:\/\/www.breitbart.com\/","name":"Breitbart","alternateName":"Breitbart News","publisher":{"@id":"https:\/\/www.breitbart.com\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/media.breitbart.com\/media\/2017\/01\/amp-logo2.png"}},{"@type":"WebPage","@id":"#webpage","url":"https:\/\/www.breitbart.com\/europe\/2017\/07\/19\/swedens-libraries-pulp-traditional-children-books-racist-phrases\/","inLanguage":"en-US","name":"Sweden’s Libraries Destroying Pippi Longstocking Children’s Books Because of Racist Phrases","datePublished":"2021-05-03T09:37:19+00:00","dateModified":"2021-05-03T09:37:19+00:00","isPartOf":{"@id":"https:\/\/www.breitbart.com\/#website"},"breadcrumb":{"@id":"#breadcrumb"},"primaryImageOfPage":{"@id":"#primaryimage"},"author":{"@id":"#author"}},{"@type":"ImageObject","width":640,"height":480,"url":"https:\/\/media.breitbart.com\/media\/2017\/07\/AP_070324047748.png","copyrightHolder":"AP IMAGES","name":"AP_070324047748","@id":"#primaryimage"},{"@id":"#breadcrumb","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"https:\/\/www.breitbart.com\/europe\/","name":"Europe"}},{"@type":"ListItem","position":2,"item":{"@id":"https:\/\/www.breitbart.com\/europe\/2017\/07\/19\/","name":"2017\/07\/19"}},{"@type":"ListItem","position":3,"item":{"@id":"https:\/\/www.breitbart.com\/europe\/2017\/07\/19\/swedens-libraries-pulp-traditional-children-books-racist-phrases\/#webpage","name":"Sweden’s Libraries Destroying Pippi Longstocking Children’s Books Because of Racist Phrases"}}]},{"@type":"NewsArticle","@id":"https:\/\/www.breitbart.com\/europe\/2017\/07\/19\/swedens-libraries-pulp-traditional-children-books-racist-phrases\/","url":"https:\/\/www.breitbart.com\/europe\/2017\/07\/19\/swedens-libraries-pulp-traditional-children-books-racist-phrases\/","headline":"Sweden’s Libraries Destroying Pippi Longstocking Children’s Books Because of Racist Phrases","alternativeHeadline":"A Swedish council has admitted that local libraries have been throwing out copies of a popular children\u2019s book because it contains racist expressions, with one local journalist even claiming the books are being burnt.","alternateName":"Sweden's Libraries Destroy Traditional Children Books Because of Racist Phr","description":"A Swedish council has admitted that local libraries have been throwing out copies of a popular children\u2019s book because it contains racist expressions, with one local journalist even claiming the books are being burnt.","keywords":["Multiculturalism","Sweden"],"articleSection":"Europe","genre":["Local","London \/ Europe","Social Justice"],"dateCreated":"2017-07-19T05:39:22+00:00","datePublished":"2017-07-19T05:42:22+00:00","dateModified":"2017-07-19T05:42:22+00:00","wordCount":672,"author":{"@type":"Person","@id":"#author","url":"https:\/\/www.breitbart.com\/author\/wojciech-zdrojkowski\/","name":"Wojciech Zdrojkowski","givenName":"Wojciech","familyName":"Zdrojkowski","worksFor":{"@id":"https:\/\/www.breitbart.com\/#organization"}},"about":"Pippi Longstocking","mainEntityOfPage":"https:\/\/www.breitbart.com\/europe\/2017\/07\/19\/swedens-libraries-pulp-traditional-children-books-racist-phrases\/","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.breitbart.com\/#organization"},"speakable":{"@type":"SpeakableSpecification","cssSelector":["article header","article .entry-content"]},"isPartOf":{"@id":"#webpage"},"copyrightHolder":{"@id":"https:\/\/www.breitbart.com\/#organization"},"copyrightYear":"2017","sourceOrganization":{"@id":"https:\/\/www.breitbart.com\/#organization"},"image":{"@id":"#primaryimage"},"thumbnailUrl":"https:\/\/media.breitbart.com\/media\/2017\/07\/AP_070324047748.png","dateline":"Wojciech Zdrojkowski, Breitbart News"}]} </script> + <link rel="alternate" href="https://www.breitbart.com/europe/2017/07/19/swedens-libraries-pulp-traditional-children-books-racist-phrases/" hreflang="en-us"> + <meta content="Wojciech Zdrojkowski" name="author"> + <meta content="Multiculturalism,Sweden" name="news_keywords"> + <meta content="2017-07-19T05:42:22Z" name="pubdate"> + <meta content="2017-07-19T05:42:22Z" name="lastmod"> + <meta content="1620034718" name="reqtime"> + <meta content="1620034719" name="time"> + <meta property="article:categories" content="London / Europe,Local,Social Justice"> + <link rel="amphtml" href="https://www.breitbart.com/europe/2017/07/19/swedens-libraries-pulp-traditional-children-books-racist-phrases/amp/"><script>var BB_G={D:!1,lock:'6469418745738528928852712',doing_popup:0,fired:{},OB_ACTIONS:{}};function gmx_set_video_loop_observer(){function e(e){e.src=e.getAttribute("data-harry"),e.removeAttribute("data-harry"),e.classList.remove("lazy-loop")}var t=[].slice.call(document.querySelectorAll("video.lazy-loop[data-harry]"));if(t&&t.length)if(t.forEach((function(e){e.addEventListener("timeupdate",(function(){this.currentTime>this.dataset.end&&(this.currentTime=this.dataset.start,this.play())}),!1)})),"IntersectionObserver"in window){var i=new IntersectionObserver((function(t,i){t.forEach((function(t){t.isIntersecting&&t.target&&(i.unobserve(t.target),e(t.target))}))}),{rootMargin:"50px 0px 50px 0px"});t.forEach((function(e){i.observe(e)}))}else t.forEach(e)}function gmx_set_observers(){if(!gmx_set_observers.ra){if(gmx_set_observers.ra=!0,"IntersectionObserver"in window){var e=new IntersectionObserver((function(e,t){e.forEach((function(e){e.isIntersecting&&e.target&&(t.unobserve(e.target),i(e.target))}))}),{rootMargin:"550px 0px 550px 0px",threshold:0});if(document.querySelectorAll("img[data-src]").forEach((function(t){e.observe(t)})),ISC_IS.home){var t=new IntersectionObserver((function(t,r){t.forEach((function(t){if(t.isIntersecting){r.unobserve(t.target),t.target.querySelectorAll("[data-src]").forEach((function(t){e.unobserve(t),i(t)}));var o=function(){var e;e=t.target,"function"==typeof window.fix_grid_block&&fix_grid_block(0,e)};o(),setTimeout(o,1e3),setTimeout(o,3e3)}}))}),{rootMargin:"3400px 0px 3000px 0px",threshold:0});document.querySelectorAll(".gb").forEach((function(e){t.observe(e)}))}}ISC_IS.home_vertical&&gmx_set_video_loop_observer()}function i(e){var t=e.getAttribute("data-src");t&&(e.src=t,e.removeAttribute("data-src"),e.removeAttribute("data-qazy"))}}if(function(e,t){function i(e,t){return e.indexOf(t)>-1}!function(i,r){e.fetch&&e.Promise&&Object.assign&&e.Map&&e.IntersectionObserver&&[].includes||(["fetch","Promise","IntersectionObserver","matchMedia"].forEach((function(t){t in e||i.push(t)})),(r=t.createElement("script")).src="//cdn.polyfill.io/v3/polyfill.min.js?features="+i.join(",")+"&flags=gated",r.async=!0,t.documentElement.appendChild(r))}([]);var r=t.documentElement,o=e.location,n=o.pathname,a=o.host,s=o.href,c=e.screen,l=r.className,d=e.navigator,u=Date.now(),m="userAgent"in d?d.userAgent:"",b="cookie"in t&&"string"==typeof t.cookie?t.cookie:"",p="gmx_h=",f={mobile:/Mobile|BB10|Android|Silk|Kindle|Opera (Mini|Mobi)|webOS|iP(hone|od)|BlackBerry/i.test(m),mobileP:/Mobi/i.test(m),tablet:/tablet|ipad|playbook|silk/i.test(m),li:i(b,"m8s2f7"),preview:i(s,"preview=true")&&i(s,"preview_id="),single:i(l,"single"),home:i(l,"home"),video:i(n,"/video/")||i(n,"/clips/"),wire:i(n,"/news/")||i(l,"-wire"),error:i(l,"error404"),search:i(n,"/search/"),framed:e!==e.parent,qazy:"IntersectionObserver"in e,ads:/(www|wp)\.breitbart\.com/.test(a)||i(a,"scsta")||i(a,"nntec"),www:"www.breitbart.com"===a,t:{},adblock:3,cookie:"cookieEnabled"in d&&!!d.cookieEnabled,subbed:i(b,"ci2su"),views_y:0,views_m:0,views_w:0,views_d:0,react:"ReactNativeWebView"in window,g:i(b,p)?i(b,p+"A")?"A":i(b,p+"B")?"B":"C":u%2==0?"A":"B",t_50:u%2==0,t_33:u%3==0,t_25:u%4==0,t_20:u%5==0,t_15:u%7==0,t_10:u%10==0,t_5:u%20==0,consent_1:!0,consent_2:!0,consent_3:!0,consent_4:!0,consent_5:!0};if(f.ads=f.ads&&!f.framed,f.qazy=f.qazy&&!f.framed,f.mobileP=f.tablet||f.mobileP||f.mobile||(c.width<c.height?c.width:c.height)<700,"matchMedia"in e&&e.matchMedia("(max-width:480px) and (orientation:portrait), (max-width:767px)").matches&&(f.mobile=f.mobileP=!0),f.mobileP&&(r.className="ismobile "+r.className),f.adblock=function(){var i=!1,r=t.body||t.documentElement,o=t.createElement("div");o.innerHTML=" .",o.className="adm233 pub_300x250 pub_300x250m pub_728x90 text-ad textAd text_ad text_ads text-ads text-ad-links",o.style="width: 1px !important; height: 1px !important; position: absolute; left: -100px; top: -100px;";try{r.appendChild(o);var n=t.getElementsByClassName("adm233")[0];if(n){if(0!==n.offsetHeight&&0!==n.clientHeight||(i=!0),void 0!==e.getComputedStyle){var a=e.getComputedStyle(n);"none"!==a.getPropertyValue("display")&&"hidden"!==a.getPropertyValue("visibility")||(i=!0)}r.removeChild(n)}}catch(e){}return i}(),i(b,"OptanonConsent=")&&i(b,"&groups=")){var v=b.split("OptanonConsent=")[1].split("&groups=")[1];v&&[1,2,3,4,5].forEach((function(e){f["consent_"+e]=!i(v,"C000"+e+"%3A0")}))}e.ISC_IS=f}(window,document),ISC_IS.qazy){var qazy={runs:0,io:null,x:!1,RunIO:function(){qazy.runs++>200&&qazy.StopIO(),qazy.MakeList()},StopIO:function(){"number"==typeof qazy.io&&(clearInterval(qazy.io),qazy.io=null),gmx_set_observers()},MakeList:function(){!qazy.x&&document.body&&(qazy.x=!0,document.body.querySelectorAll('img[data-qazy][src^="/"], img[data-qazy][src^="https://media.brei"], img[data-qazy][src^="https://www.brei"]').forEach((function(e){e.setAttribute("data-src",e.src),e.removeAttribute("src")})),qazy.x=!1)}};qazy.RunIO(),qazy.io=setInterval(qazy.RunIO,10),window.addEventListener("load",qazy.StopIO,!1)}setTimeout(gmx_set_observers,1e3);</script> +<script async src="https://www.googletagmanager.com/gtag/js?id=UA-715222-1"></script><script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);}gtag('js',new Date());gtag('config','UA-715222-1',{optimize_id:'GTM-PP4D92G',transport_type:'beacon',link_attribution:!0,anonymize_ip:!0,cookie_domain:'breitbart.com',linker:{accept_incoming:!0},'dimension1':'Wojciech Zdrojkowski','dimension2':'local europe social-justice ','dimension4':'multiculturalism sweden ','dimension5':window.ISC_IS&&(ISC_IS.g)||'U','metric2':window.ISC_IS&&(ISC_IS.adblock?1:0)||3});</script> + </head> +<body class="post-tmpl-default single single-post pid-7100279 tf-single pt-post c-europe"><a class="skip-link" href="#ContainerW">Skip to content</a> + <script src="https://scripts.webcontentassessor.com/scripts/25915dba3f71a41b2d6242657214b496c2beb5fd937e31770246f82c53195453"></script> + <script src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" async></script> + <script src="/t/assets/js/prebid-16.js" async></script> + <script>ISC_IS.t={"category":["local","europe","social-justice"],"pt":["single","singular","post"],"id":["7100279"],"author":["5370"],"tag":["multiculturalism","sweden"],"kw":["local","racist","expressions","popular","childrens","pippi","book","books","botkyrka","libraries","pippi longstocking"]};ISC_IS.t.group = [ISC_IS.g];var google_ad_client="ca-pub-9229289037503472",googletag=window.googletag||{cmd:[]},pbjs=window.pbjs||{que:[]},bnn_refresh_adUnits=[];function init_prebid(){var e=window.location.hash.indexOf("bbprebid")>-1;function o(){pbjs.sendAdServerRequestSet||(e&&console.warn("EXEC sendAdServerRequest()"),pbjs.sendAdServerRequestSet=!0,googletag.cmd.push((function(){e&&console.warn("EXEC googletag.pubads().setTargeting",ISC_IS.t),Object.keys(ISC_IS.t).forEach((function(e){googletag.pubads().setTargeting(e,ISC_IS.t[e])})),pbjs.que.push((function(){pbjs.setTargetingForGPTAsync(),e&&console.warn("EXEC googletag.pubads().refresh"),googletag.pubads().refresh(bnn_refresh_adUnits)}))})))}e&&console.warn("EXEC init_prebid()"),googletag.cmd.push((function(){googletag.pubads().disableInitialLoad()})),pbjs.que.push((function(){e&&console.warn("pbjs.addAdUnits & pbjs.requestBids")&&console.table(bnn_adUnits),pbjs.addAdUnits(bnn_adUnits),pbjs.requestBids({bidsBackHandler:o})})),googletag.cmd.push((function(){function o(o,d,a,s){var i,n=[];i=void 0===s?googletag.defineSlot("/1003622/Breitbart."+o,[d],a).addService(googletag.pubads()):googletag.defineSlot("/1003622/Breitbart."+o,[d],a).defineSizeMapping(s).addService(googletag.pubads()),bnn_refresh_adUnits.push(i);var t=i.getSlotElementId();n[t]=0,function o(d,a){document.getElementById(a)?(e&&console.warn("display_google_ad: FOUND: %s",a),googletag.display(a)):n[a]++<5&&!document.getElementById("FWI")&&(e&&console.error("display_google_ad: MISS: %s",a),setTimeout((function(){document.getElementById(a)?googletag.display(a):o(d,a)}),10*n[a]+2))}(i,t)}var d={Mob_Body:googletag.sizeMapping().addSize([468,300],["fluid",[120,600],[160,600],[300,600],[320,50],[320,250],[300,100],[320,480],[480,320],[200,200],[125,125],[320,100],[336,280],[468,225],[300,250],[250,250],[468,60],[300,60],[120,90],[240,400],[168,28],[120,20],[120,60],[160,90],[300,1050]]).addSize([0,0],["fluid",[120,600],[160,600],[300,600],[320,50],[320,250],[300,100],[320,480],[200,200],[125,125],[320,100],[336,280],[300,250],[250,250],[300,60],[120,90],[240,400],[168,28],[120,20],[120,60],[160,90]]).build(),Mob_Header:googletag.sizeMapping().addSize([970,100],[[970,250],[930,180],[750,300],[728,300],[728,90],[980,120],[970,90],[970,66],[580,400],[468,250],[475,245],[300,170],[125,125],[300,250],[468,60],[300,100],[300,60],[200,200],[300,50],[320,100],[320,50]]).addSize([728,100],[[750,300],[728,90],[728,300],[468,250],[475,245],[300,170],[125,125],[300,250],[468,60],[300,100],[300,60],[200,200],[300,50],[320,100],[320,50]]).addSize([0,0],[[468,250],[475,245],[300,170],[125,125],[300,250],[468,60],[300,100],[300,60],[200,200],[300,50],[320,100],[320,50]]).build(),Desk_Body:googletag.sizeMapping().addSize([0,0],["fluid",[475,245],[320,250],[200,200],[300,50],[468,60],[468,100],[336,280],[300,250],[468,225],[480,320],[125,125]]).build(),Desk_Rail:googletag.sizeMapping().addSize([0,0],["fluid",[300,600],[120,600],[160,600],[300,1050],[300,50],[216,54],[120,90],[300,100],[234,60],[120,240],[180,150],[240,400],[300,250],[200,200],[250,250],[250,360],[125,125],[120,90],[160,90]]).build(),Desk_Leader:googletag.sizeMapping().addSize([0,0],[[970,250],[750,300],[480,320],[930,180],[960,90],[580,400],[935,24],[468,225],[728,90],[970,90],[980,120],[750,200],[750,100],[468,250],[475,245],[300,170],[125,125],[468,60],[300,100],[200,200],[300,50],[320,100],[320,50]]).build()},a=ISC_IS.home?"HP":"ROS";googletag.pubads().addEventListener("slotRenderEnded",(function(o){var d=o.slot.getSlotElementId(),a=o.slot.getAdUnitPath(),s=document.getElementById(d),i=o.size?"Size: "+o.size.join("x"):"",n=o.isEmpty?"EMPTY!":"FOUND!";if(e&&console.warn("[4] slotRenderEnded: %s id:%s path:%s %s",n,d,a,i),!s)return e&&console.error("ELE NOT FOUND slotRenderEnded: %s id:%s path:%s %s",n,d,a,i);o.isEmpty?!ISC_IS.mobileP&&(d.indexOf("-R2")>-1||d.indexOf("-R3")>-1)?(s.innerHTML="",s.className+=" gmxpoll"):s.className="H":(s.style.display="block",s.className+=" padok",o.size&&1!==o.size[0]&&(s.style.width=o.size[0]+"px",s.style["min-height"]=o.size[1]+15+"px"))})),googletag.pubads().enableSingleRequest(),googletag.pubads().enableAsyncRendering(),googletag.pubads().collapseEmptyDivs(!0),googletag.pubads().setCentering(!0,!0),ISC_IS.mobile?(o("Mob."+a+".Header",[320,100],a+"-Header",d.Mob_Header),o("Mob."+a+".Body1",[300,250],"M-"+a+"-B1",d.Mob_Body),o("Mob."+a+".Body2",[300,250],"M-"+a+"-B2",d.Mob_Body),o("Mob."+a+".Body3",[300,250],"M-"+a+"-B3",d.Mob_Body),o("Mob."+a+".Body4",[300,250],"M-"+a+"-B4",d.Mob_Body)):(o(a+".Top.Leader",[728,90],a+"-Leader",d.Desk_Leader),o(a+".Body1",[468,225],"D-"+a+"-B1",d.Desk_Body),o(a+".Body2",[468,225],"D-"+a+"-B2",d.Desk_Body),o(a+".Rail1",[300,250],a+"-R1",d.Desk_Rail),o(a+".Rail2",[300,250],a+"-R2",d.Desk_Rail),o(a+".Rail3",[300,250],a+"-R3",d.Desk_Rail),o(a+".Rail4",[300,250],a+"-R4",d.Desk_Rail)),o("Infolinks",[1,1],"F-1x1"),googletag.enableServices()})),setTimeout(o,3e3)}ISC_IS.ads&&!ISC_IS.adblock&&(init_prebid(),(adsbygoogle=window.adsbygoogle||[]).push({google_ad_client:google_ad_client,enable_page_level_ads:!0}));</script> + <script src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js" async></script> + <div id="HaDW"> + +<figure id="ROS-Leader" class="a8d"></figure> +<figure id="ROS-Header" class="a8d"></figure></div> +<div id="GlobalW"> + <header id="HeadW"> + <div id="HWI"> + <div id="MT" role="button" tabindex="-1" aria-label="Menu"></div> + <nav id="HNAV" aria-label="Main Menu"> + <ul id="NavT"><li class="c-politics"><a href="https://www.breitbart.com/politics/">Politics</a></li><li class="c-entertainment"><a href="https://www.breitbart.com/entertainment/">Entertainment</a></li><li class="c-the-media"><a href="https://www.breitbart.com/the-media/">Media</a></li><li class="c-economy"><a href="https://www.breitbart.com/economy/">Economy</a></li><li class="dd"><a>World</a><ul><li class="c-europe"><a href="https://www.breitbart.com/europe/">London / Europe</a></li><li class="c-border"><a href="https://www.breitbart.com/border/">Border / Cartel Chronicles</a></li><li class="c-middle-east"><a href="https://www.breitbart.com/middle-east/">Israel / Middle East</a></li><li class="c-africa"><a href="https://www.breitbart.com/africa/">Africa</a></li><li class="c-asia"><a href="https://www.breitbart.com/asia/">Asia</a></li><li class="c-latin-america"><a href="https://www.breitbart.com/latin-america/">Latin America</a></li><li class="p-world-news"><a href="https://www.breitbart.com/world-news/">All World</a></li></ul></li><li class="p-video"><a href="https://www.breitbart.com/video/">Video</a></li><li class="c-tech"><a href="https://www.breitbart.com/tech/">Tech</a></li><li class="c-sports"><a href="https://www.breitbart.com/sports/">Sports</a></li><li><a href="https://www.breitbart.com/tag/on-the-hill/">On the Hill</a></li><li><a href="/news/">Wires</a></li><li><a href="https://www.breitbart.com/tag/b-inspired-news/">B Inspired</a></li></ul> <a href="https://store.breitbart.com/" rel="nofollow" class="store" title="Breitbart Store" aria-label="Breitbart Store"></a> + </nav> + <a rel="index" class="logo" accesskey="1" href="https://www.breitbart.com/" title="Breitbart News Network">BREITBART</a> + <div class="fdd"> + <form action="/search/" role="search"><label><input type="search" placeholder="search" name="s" aria-label="Search Text"></label></form> + <ul id="NavDD"><li class="c-politics"><a href="https://www.breitbart.com/politics/">Politics</a></li><li class="c-entertainment"><a href="https://www.breitbart.com/entertainment/">Entertainment</a></li><li class="c-the-media"><a href="https://www.breitbart.com/the-media/">Media</a></li><li class="c-economy"><a href="https://www.breitbart.com/economy/">Economy</a></li><li class="dd"><a>World</a><ul><li class="c-europe"><a href="https://www.breitbart.com/europe/">London / Europe</a></li><li class="c-border"><a href="https://www.breitbart.com/border/">Border / Cartel Chronicles</a></li><li class="c-middle-east"><a href="https://www.breitbart.com/middle-east/">Israel / Middle East</a></li><li class="c-africa"><a href="https://www.breitbart.com/africa/">Africa</a></li><li class="c-asia"><a href="https://www.breitbart.com/asia/">Asia</a></li><li class="c-latin-america"><a href="https://www.breitbart.com/latin-america/">Latin America</a></li><li class="p-world-news"><a href="https://www.breitbart.com/world-news/">World News</a></li></ul></li><li class="p-video"><a href="https://www.breitbart.com/video/">Video</a></li><li class="c-tech"><a href="https://www.breitbart.com/tech/">Tech</a></li><li class="c-sports"><a href="https://www.breitbart.com/sports/">Sports</a></li><li><a href="https://www.breitbart.com/tag/on-the-hill/">On the Hill</a></li><li><a href="/news/">Wires</a></li><li><a href="https://www.breitbart.com/tag/b-inspired-news/">B Inspired</a></li><li><a href="https://media.breitbart.com/media/2019/11/about-breitbart-news.pdf">About Us</a></li><li class="p-people"><a rel="nofollow" href="https://www.breitbart.com/people/">People</a></li></ul> </div> + </div> + <div id="HWT"> + <a class="logo" href="/" title="Breitbart News Network">BREITBART</a> + <section aria-label="Trending Stories"> + <ul id="menu-europe-trending"><li><a href="https://www.breitbart.com/tag/coronavirus/">Lockdown Forever!</a></li><li><a href="https://www.breitbart.com/tag/united-kingdom/">UK News</a></li><li><a href="https://www.breitbart.com/tag/european-union/">EU Latest</a></li><li><a href="https://www.breitbart.com/tag/conservative-party/">Fake Conservatives</a></li><li><a href="https://www.breitbart.com/tag/brexit/">Brexit</a></li><li><a href="https://www.breitbart.com/tag/english-channel/">Channel Migrants</a></li><li><a href="https://www.breitbart.com/tag/nigel-farage/">Farage</a></li><li><a href="https://www.breitbart.com/tag/boris-johnson/">Boris</a></li></ul> </section> + </div> + </header> + <div id="ContentW"> + <div id="ContainerW"> + <div id="fb-root"></div> +<section id="MainW"> + <article class="the-article post-7100279 post type-post has-post-thumbnail category-local category-europe category-social-justice"> + <header> + <h1>Sweden’s Libraries Destroying Pippi Longstocking Children’s Books Because of Racist Phrases</h1> + <aside id="social-share-buttons" class="bnn-social-share" data-fbc="1571"> + <a role="button" class="button_facebook" href="#" title="Facebook" rel="nofollow"><em></em><span class="acz5"></span></a> + <a role="button" class="button_email" href="#" title="Email" rel="nofollow"></a> + <a role="button" class="button_parler" href="#" title="Parler" rel="nofollow"><span></span></a> + <a role="button" class="button_twitter" href="#" title="Twitter" rel="nofollow"></a> + </aside> + <figure><img width="640" height="480" src="https://media.breitbart.com/media/2017/07/AP_070324047748-640x480.png" class="wp-post-image" alt="Pippi Longstocking" title="AP_070324047748" /><figcaption><cite>AP IMAGES</cite></figcaption></figure><div class="header_byline"><address data-n><a href="/author/wojciech-zdrojkowski/" title="Posts by Wojciech Zdrojkowski">Wojciech Zdrojkowski</a></address><time datetime="2017-07-19T05:42:22Z">19 Jul 2017</time><span class="byC" data-dsqu="/europe/2017/07/19/swedens-libraries-pulp-traditional-children-books-racist-phrases/#disqus_thread" data-dsqi="7100279" data-fbc="1571"></span></div> </header> + <div class="entry-content"> + <p class="subheading">A Swedish council has admitted that local libraries have been throwing out copies of a popular children’s book because it contains racist expressions, with one local journalist even claiming the books are being burnt.</p><div id="gmx-rev-top" class="H"></div> +<p>Older versions of the Pippi Langstrumpf [Pippi Longstocking] book entitled ‘Pippi in the South Seas,’ have been discarded by libraries in the Botkyrka municipality.</p> +<figure id="D-ROS-B1" class="a8d"></figure> +<figure id="M-ROS-B1" class="a8d"></figure><figure id="gmxrevmore" class="H"></figure> +<p>The Botkyrka council has denied claims by Swedish investigative journalist Janne Josefsson that libraries are specifically targeting Astrid Lindgren’s Pippi Langstrumpf books, explaining that getting rid of books is a necessary process ‘in order for the space in the shelves to be sufficient.’</p> +<p>They stated that they get rid of books which are ‘worn out,’ ‘outdated’ or ‘have not been borrowed for a long time,’ but admitted to disposing of the Pippi Langstrumpf copies due to ‘racist’ content and replacing them with newer editions without the ‘racial’ phrases.</p> +<p>In a <a href="https://www.botkyrka.se/arkiv/nyhetsarkiv/nyheter-startsida/2017-07-10-angaende-uttalanden-av-journalisten-janne-josefsson-om-bibliotek-botkyrka.html">press release</a>, they wrote: “The libraries in the municipality of Botkyrka have culled editions of Astrid Lindgren’s ‘Pippi in the South Seas’ where there are obsolete expression that can be perceived as racist, but Botkyrka Library have also bought the publisher’s new edition of the book from 2015 where the obsolete expression have been replaced by more contemporary expressions.</p> +<figure id="M-ROS-B2" class="a8d"></figure> +<p>The new edition of the book has replaced the phrase ‘king of the Negroes’ or ‘Negro king’ – in reference to Pippi’s father, who Pippi and her friends find in the Canny Canny Islands after his mysterious disappearance – with ‘king of the South Seas’ or ‘South Sea king.’</p> +<p>The Pippi Langstrumpf series has also been <a href="https://www.theguardian.com/books/2011/nov/09/pippi-longstocking-books-racism">condemned</a> in the past as using ‘colonial racist stereotypes’ by a German theologian, who described one scene in ‘Pippi in the South Seas’ where black children throw themselves into the sand in front of white children.</p> +<p>“The culled specimens of ‘Pippi in the South Seas’ have been discarded and handled according to the same routines as all other obsolete books”, said the local authority</p> +<div> +<dl id="attachment_7100660"> +<dt><a href="https://media.breitbart.com/media/2017/07/Astrid-Lindgren.png"><img src="https://media.breitbart.com/media/2017/07/Astrid-Lindgren.png" alt="" width="899" height="674" /></a></dt> +<dd><em>World-renowned children’s author Astrid Lundgren (d. 2002) holds a copy of Pippi Longstocking in the South Sea in 1995 / AP Images</em></dd> +</dl> +</div> +<p>Janne Josefsson first raised the issue on Swedish radio, claiming that Botkyrka have been burning original versions of Lindgren’s book.</p> +<p>“There’s something in me that says, wait a second now, are we really going to let these things disappear? Shouldn’t they be allowed to survive so that I can tell my child that this is how they talked in those days?” he <a href="http://www.expressen.se/gt/josefssons-ordkrig-om-astrid-lindgren-/">told</a> Swedish tabloid Expressen.</p> +<figure id="M-ROS-B3" class="a8d adSo"></figure> +<p>Josefsson believes the eradication of the 1948 copies of the book, which focuses on the misadventures and experiences of Pippi Langstrumpf, a young girl recognizable for her red hair and pigtails, has been done for ideological reasons.</p> +<p>“They try to deter this [debate] by saying, we do this with all the books that go out, but here it’s for ideological reasons – it is because Botkyrka has something called intercultural policy,” he said.</p> +<p>When approached by Breitbart London, operations manager at Botkyrka Library, Anja Dahlstedt, was unable to confirm whether the books were being burned.</p> +<p>She said: “All books that are sorted at the libraries of Botkyrka are either put up for sale for everyone to buy or thrown away according to ordinary waste disposal routines.”</p> +<p>“I cannot answer to how our recycling company SRV handle books when it comes to recycling.</p> +<p>“We have six libraries in Botkyrka municipality and we have handled the book Pippi i Soderhavet [Pippi in the South Seas] in the same way in all our libraries.”</p> +<p>This is not the first case of a book being banned for having what is perceived as racist content.</p> +<p>Earlier this year a library in Stockholm <a href="https://www.breitbart.com/london/2017/02/20/library-bans-factual-book-immigration/">refused</a> to stock a book on immigration by economist Tino Sanandaji, claiming it ‘supported racism.’</p> +<p>Elsewhere, a school in Virginia in the USA <a href="https://www.breitbart.com/big-government/2016/12/02/virginia-schools-ban-huckleberry-finn-racial-slurs/">banned</a> another children’s book – The Adventures of Huckleberry Finn – because it including ‘racial slurs.’ The same school also banned ‘To Kill a Mockingbird’ for containing racial content and profanity.</p> + </div> + <footer> + <p class="rmoreabt"><a href="/local/">Local</a><a href="/europe/">London / Europe</a><a href="/social-justice/">Social Justice</a><a href="/tag/multiculturalism/">Multiculturalism</a><a class="lst" href="/tag/sweden/">Sweden</a></p> <aside id="social-share-inline" class="bnn-social-share"> + <a role="button" class="button_twitter" href="#" title="Twitter" rel="nofollow"></a> + <a role="button" class="button_facebook" href="#" title="Facebook" rel="nofollow"><em></em></a> + </aside> + </footer> + </article> + <aside><figure id="gmx-rev-below"></figure></aside> + <section id="comments"> + <p><a href="https://www.facebook.com/Breitbart"></a>.</p> + <p>Please <a href="/contact-us/comment-feedback/" rel="nofollow">let us know</a> if you're having issues with commenting.</p> + <div id="disqus_thread"></div> +</section> + <script>var disqus_identifier='7100279',disqus_title="Sweden’s Libraries Destroying Pippi Longstocking Children’s Books Because of Racist Phrases",disqus_url='https://www.breitbart.com/europe/2017/07/19/swedens-libraries-pulp-traditional-children-books-racist-phrases/'</script> + </section><!--MainW--> +<aside id="SideW"> + +<figure id="ROS-R1" class="a8d"></figure> + <figure id="bnnpolls" class="H"></figure> + + <section id="bsocial" class="SWW"> + <h2><i></i>SOCIAL<a href="https://store.breitbart.com/" rel="nofollow" title="Shop the Official Breitbart Store!"></a></h2> + <div> + <div class="sbi"><a class="fb" href="https://www.facebook.com/Breitbart/" title="Breitbart on Facebook"></a><a class="tw" href="https://twitter.com/intent/follow?region=follow_link&screen_name=BreitbartNews&tw_p=followbutton" title="Breitbart on Twitter"></a><a class="ig" href="https://www.instagram.com/b_inspired_news/" title="Breitbart on Instagram"></a><a class="yt" href="https://www.youtube.com/channel/UCmgnsaQIK1IR808Ebde-ssA" title="Breitbart on YouTube"></a></div> + </div> + </section> + + <figure id="gmx-rev-sidebar" class="H"></figure> + + +<figure id="ROS-R2" class="a8d"></figure><section id="DQSW"><h2>MOST POPULAR</h2><ul><li><a href="/clips/2021/05/02/susan-collins-liz-cheney-is-a-woman-of-strength-and-conscience/" title="Susan Collins: ‘Liz Cheney Is a Woman of Strength and Conscience’"><img width="200" height="150" src="https://media.breitbart.com/media/2020/09/GettyImages-1228671353-200x150.jpg" alt="Susan Collins: 'Liz Cheney Is a Woman of Strength and Conscience'" title="Susan Collins: ‘Liz Cheney Is a Woman of Strength and Conscience’" data-qazy><em>Susan Collins: 'Liz Cheney Is a Woman of Strength and Conscience'</em><span data-dsqu="https://www.breitbart.com/clips/2021/05/02/susan-collins-liz-cheney-is-a-woman-of-strength-and-conscience/" data-dsqi="16439072" data-fbc="1233"></span></a></li><li><a href="/politics/2021/05/02/caitlyn-jenner-attacked-over-gender-fairness-sports-statement-doesnt-understand-science-self-loathing-vapid-fame-whore-abuses-privilege-platform/" title="Caitlyn Jenner Attacked over Gender Fairness in Sports Statement: ‘Doesn’t Understand Science,’ ‘Self Loathing, Vapid Fame-Whore That Abuses Privilege and Platform’"><img width="200" height="150" src="https://media.breitbart.com/media/2017/01/JennerInauguration-200x150.jpg" alt="Jenner Attacked by Left for Supporting Gender Fairness in Sports" title="Caitlyn Jenner Attacked over Gender Fairness in Sports Statement: ‘Doesn’t Understand Science,’ ‘Self Loathing, Vapid Fame-Whore That Abuses Privilege and Platform’" data-qazy><em>Jenner Attacked by Left for Supporting Gender Fairness in Sports</em><span data-dsqu="https://www.breitbart.com/politics/2021/05/02/caitlyn-jenner-attacked-over-gender-fairness-sports-statement-doesnt-understand-science-self-loathing-vapid-fame-whore-abuses-privilege-platform/" data-dsqi="16440938" data-fbc="18"></span></a></li><li><a href="/clips/2021/05/02/dershowitz-very-upset-about-giuliani-fbi-raid-its-not-constitutional/" title="Dershowitz: ‘Very Upset’ About Giuliani FBI Raid — ‘It’s Not Constitutional’"><img width="200" height="150" src="https://media.breitbart.com/media/2020/01/Dershowitz-Imploring-200x150.jpg" alt="Dershowitz: Giuliani FBI Raid 'Not Constitutional'" title="Dershowitz: ‘Very Upset’ About Giuliani FBI Raid — ‘It’s Not Constitutional’" data-qazy><em>Dershowitz: Giuliani FBI Raid 'Not Constitutional'</em><span data-dsqu="https://www.breitbart.com/clips/2021/05/02/dershowitz-very-upset-about-giuliani-fbi-raid-its-not-constitutional/" data-dsqi="16441586"></span></a></li><li><a href="/clips/2021/05/02/hillary-clinton-i-give-biden-an-a-people-dont-have-to-worry-our-president-will-say-drink-bleach/" title="Hillary Clinton: I Give Biden an ‘A’ — People Don’t Have to Worry Our President Will Say ‘Drink Bleach’"><img width="200" height="150" src="https://media.breitbart.com/media/2021/03/AP_20065660439752-200x150.jpg" alt="Hillary Clinton: I Give Biden an A -- People Don't Have to Worry" title="Hillary Clinton: I Give Biden an ‘A’ — People Don’t Have to Worry Our President Will Say ‘Drink Bleach’" data-qazy><em>Hillary Clinton: I Give Biden an A -- People Don't Have to Worry</em><span data-dsqu="https://www.breitbart.com/clips/2021/05/02/hillary-clinton-i-give-biden-an-a-people-dont-have-to-worry-our-president-will-say-drink-bleach/" data-dsqi="16438928" data-fbc="46"></span></a></li><li><a href="/politics/2021/05/01/gop-congressman-predicts-liz-cheney-will-be-gone-by-end-of-month/"><img width="200" height="150" src="https://media.breitbart.com/media/2021/05/GettyImages-1232583876-e1619898447891-200x150.jpg" alt="GOP Congressman Predicts Liz Cheney Will Be Gone by End of Month" data-qazy><em>GOP Congressman Predicts Liz Cheney Will Be Gone by End of Month</em><span data-dsqu="https://www.breitbart.com/politics/2021/05/01/gop-congressman-predicts-liz-cheney-will-be-gone-by-end-of-month/" data-dsqi="16436486" data-fbc="1841"></span></a></li><li><a href="/education/2021/05/02/follow-the-science-documents-suggest-biden-let-teachers-union-shape-cdc-school-reopening-policy/" title="‘Follow the Science’: Documents Suggest Biden Let Teachers’ Union Shape CDC School Reopening Policy"><img width="200" height="150" src="https://media.breitbart.com/media/2017/03/Randi-Weingarten-200x150.jpg" alt="'Follow the Science': Docs Suggest Teachers' Union Influenced CDC" title="‘Follow the Science’: Documents Suggest Biden Let Teachers’ Union Shape CDC School Reopening Policy" data-qazy><em>'Follow the Science': Docs Suggest Teachers' Union Influenced CDC</em><span data-dsqu="https://www.breitbart.com/education/2021/05/02/follow-the-science-documents-suggest-biden-let-teachers-union-shape-cdc-school-reopening-policy/" data-dsqi="16440122" data-fbc="1376"></span></a></li><li><a href="/politics/2021/05/01/mitt-romney-booed-during-speech-at-utah-gop-convention/"><img width="200" height="150" src="https://media.breitbart.com/media/2021/01/Mitt-Romney-stare-mask-ap-200x150.jpg" alt="Mitt Romney Booed During Speech at Utah GOP Convention" data-qazy><em>Mitt Romney Booed During Speech at Utah GOP Convention</em><span data-dsqu="https://www.breitbart.com/politics/2021/05/01/mitt-romney-booed-during-speech-at-utah-gop-convention/" data-dsqi="16437296" data-fbc="2116"></span></a></li><li><a href="/politics/2021/05/01/candidate-caitlyn-jenner-opposes-trans-biological-boys-competing-in-girls-sports-it-just-isnt-fair/" title="Candidate Caitlyn Jenner Opposes Trans Biological Boys Competing in Girls Sports, ‘It Just Isn’t Fair’"><img width="200" height="150" src="https://media.breitbart.com/media/2017/08/Caitlyn-Jenner-confronted-by-Trans-activist-pic-monkey-200x150.jpg" alt="Caitlyn Jenner Opposes Trans Biological Boys Competing in Girls Sports" title="Candidate Caitlyn Jenner Opposes Trans Biological Boys Competing in Girls Sports, ‘It Just Isn’t Fair’" data-qazy><em>Caitlyn Jenner Opposes Trans Biological Boys Competing in Girls Sports</em><span data-dsqu="https://www.breitbart.com/politics/2021/05/01/candidate-caitlyn-jenner-opposes-trans-biological-boys-competing-in-girls-sports-it-just-isnt-fair/" data-dsqi="16436618" data-fbc="2271"></span></a></li><li><a href="/clips/2021/05/02/bernie-sanders-7/" title="Sanders: ‘We Need Progressive Taxation’ — Rich Need to Help Us Rebuild America"><img width="200" height="150" src="https://media.breitbart.com/media/2020/04/AP_20099670569243-200x150.jpg" alt="Sanders: 'We Need Progressive Taxation,' Rich Need to Help us Rebuild" title="Sanders: ‘We Need Progressive Taxation’ — Rich Need to Help Us Rebuild America" data-qazy><em>Sanders: 'We Need Progressive Taxation,' Rich Need to Help us Rebuild</em><span data-dsqu="https://www.breitbart.com/clips/2021/05/02/bernie-sanders-7/" data-dsqi="16439366" data-fbc="7"></span></a></li><li><a href="/immigration/2021/05/02/sanctuary-state-illegal-alien-gets-five-years-prison-killing-24-year-old/" title="Sanctuary State: Illegal Alien Gets Five Years in Prison for Killing 24-Year-Old"><img width="200" height="150" src="https://media.breitbart.com/media/2021/05/NJ-200x150.png" alt="Illegal Alien Gets Five Years in Prison for Killing 24-Year-Old" title="Sanctuary State: Illegal Alien Gets Five Years in Prison for Killing 24-Year-Old" data-qazy><em>Illegal Alien Gets Five Years in Prison for Killing 24-Year-Old</em><span data-dsqu="https://www.breitbart.com/immigration/2021/05/02/sanctuary-state-illegal-alien-gets-five-years-prison-killing-24-year-old/" data-dsqi="16440626" data-fbc="790"></span></a></li></ul></section> +<figure id="ROS-R3" class="a8d"></figure> +<figure id="ROS-R4" class="a8d"></figure> <section id="HPSW" class="SWW C"> + <h2 class="horiz-line-both-sides-text">FROM THE HOMEPAGE</h2> + <ul><li><a href="/politics/2021/05/02/pinkerton-wokery-is-snobbery-how-the-populist-right-can-win-the-new-class-war/"><img width="200" height="150" src="https://media.breitbart.com/media/2021/03/cancel-culture-illustration-getty-images-200x150.jpg" alt="Pinkerton: Wokery Is Snobbery; How the Populist Right Can Win the New Class War" title="Carville’s Warning to Democrats James Carville is a well-known Democratic …" data-qazy=""><b>Pinkerton: Wokery Is Snobbery; How the Populist Right Can Win the New Class War</b><span class="byC" data-dsqi="16435664" data-dsqu="https://www.breitbart.com/politics/2021/05/02/pinkerton-wokery-is-snobbery-how-the-populist-right-can-win-the-new-class-war/#disqus_thread" data-fbc="1"></span></a></li><li><a href="/clips/2021/05/02/bernie-sanders-on-james-carville-i-dont-think-hes-terribly-relevant-to-what-happens-in-congress/"><img width="200" height="150" src="https://media.breitbart.com/media/2020/11/GettyImages-1228688742-200x150.png" alt="Bernie Sanders on James Carville: ‘I Don’t Think He’s Terribly Relevant to What Happens in Congress’" title="Sunday on NBC's "Meet the Press," Sen. Bernie Sanders (I-VT) …" data-qazy=""><b>Bernie Sanders on James Carville: ‘I Don’t Think He’s Terribly Relevant to What Happens in Congress’</b><span class="byC" data-dsqi="16441706" data-dsqu="https://www.breitbart.com/clips/2021/05/02/bernie-sanders-on-james-carville-i-dont-think-hes-terribly-relevant-to-what-happens-in-congress/#disqus_thread"></span></a></li><li><a href="/politics/2021/05/02/caitlyn-jenner-attacked-over-gender-fairness-sports-statement-doesnt-understand-science-self-loathing-vapid-fame-whore-abuses-privilege-platform/"><img width="200" height="150" src="https://media.breitbart.com/media/2017/01/JennerInauguration-200x150.jpg" alt="Caitlyn Jenner Attacked over Gender Fairness in Sports Statement: ‘Doesn’t Understand Science,’ ‘Self Loathing, Vapid Fame-Whore That Abuses Privilege and Platform’" title="Republican candidate Caitlyn Jenner was attacked over the weekend by …" data-qazy=""><b>Caitlyn Jenner Attacked over Gender Fairness in Sports Statement: ‘Doesn’t Understand Science,’ ‘Self Loathing, Vapid Fame-Whore That Abuses Privilege and Platform’</b><span class="byC" data-dsqi="16440938" data-dsqu="https://www.breitbart.com/politics/2021/05/02/caitlyn-jenner-attacked-over-gender-fairness-sports-statement-doesnt-understand-science-self-loathing-vapid-fame-whore-abuses-privilege-platform/#disqus_thread" data-fbc="18"></span></a></li><li><a href="/clips/2021/05/02/hawley-the-left-loves-the-power-over-speech-big-tech-has/"><img width="200" height="150" src="https://media.breitbart.com/media/2020/04/AP_19059623746258-200x150.jpg" alt="Hawley: The Left Loves ‘the Power over Speech’ Big Tech Has" title="Sunday on Fox News Channel's "Life, Liberty & Levin," Sen. …" data-qazy=""><b>Hawley: The Left Loves ‘the Power over Speech’ Big Tech Has</b><span class="byC" data-dsqi="16441658" data-dsqu="https://www.breitbart.com/clips/2021/05/02/hawley-the-left-loves-the-power-over-speech-big-tech-has/#disqus_thread"></span></a></li><li><a href="/clips/2021/05/02/cruz-urges-gop-to-grow-a-backbone-stand-up-to-woke-corporate-america/"><img width="200" height="150" src="https://media.breitbart.com/media/2021/03/Cruz-200x150.jpg" alt="Cruz Urges GOP to ‘Grow a Backbone,’ ‘Stand Up’ to ‘Woke’ Corporate America" title="Saturday on FNC's "Watters' World," Sen. Ted Cruz warned about …" data-qazy=""><b>Cruz Urges GOP to ‘Grow a Backbone,’ ‘Stand Up’ to ‘Woke’ Corporate America</b><span class="byC" data-dsqi="16441370" data-dsqu="https://www.breitbart.com/clips/2021/05/02/cruz-urges-gop-to-grow-a-backbone-stand-up-to-woke-corporate-america/#disqus_thread" data-fbc="175"></span></a></li><li><a href="/politics/2021/05/02/exclusive-rep-lee-zeldin-on-challenging-andrew-cuomo-many-new-york-democrats-feel-like-their-partys-left-them/"><img width="200" height="150" src="https://media.breitbart.com/media/2021/05/3-10-2021-Rep-Lee-Zeldin-RNY-gettyimages-200x150.jpg" alt="Exclusive— Rep. Lee Zeldin on Challenging Andrew Cuomo: Many New York Democrats ‘Feel Like Their Party’s Left Them’" title="Rep. Lee Zeldin (R-NY), who is campaigning to be governor of …" data-qazy=""><b>Exclusive— Rep. Lee Zeldin on Challenging Andrew Cuomo: Many New York Democrats ‘Feel Like Their Party’s Left Them’</b><span class="byC" data-dsqi="16441484" data-dsqu="https://www.breitbart.com/politics/2021/05/02/exclusive-rep-lee-zeldin-on-challenging-andrew-cuomo-many-new-york-democrats-feel-like-their-partys-left-them/#disqus_thread"></span></a></li><li><a href="/politics/2021/05/02/house-republicans-boiling-point-liz-cheney/"><img width="200" height="150" src="https://media.breitbart.com/media/2021/01/GettyImages-915530304-200x150.jpg" alt="House Republicans at a ‘Boiling Point’ with Liz Cheney" title="One House Republican said Saturday that Republicans' frustration with House …" data-qazy=""><b>House Republicans at a ‘Boiling Point’ with Liz Cheney</b><span class="byC" data-dsqi="16441508" data-dsqu="https://www.breitbart.com/politics/2021/05/02/house-republicans-boiling-point-liz-cheney/#disqus_thread" data-fbc="1"></span></a></li><li><a href="/politics/2021/05/02/lubbock-texas-26th-largest-city-sanctuary-city-unborn/"><img width="200" height="150" src="https://media.breitbart.com/media/2021/05/image-unborn-baby-utero-stock-getty-images-200x150.jpg" alt="Lubbock, Texas, Becomes 26th and Largest City to Become ‘Sanctuary City for the Unborn’" title="Lubbock, Texas, became the largest city in the United States …" data-qazy=""><b>Lubbock, Texas, Becomes 26th and Largest City to Become ‘Sanctuary City for the Unborn’</b><span class="byC" data-dsqi="16441676" data-dsqu="https://www.breitbart.com/politics/2021/05/02/lubbock-texas-26th-largest-city-sanctuary-city-unborn/#disqus_thread" data-fbc="1"></span></a></li><li><a href="/faith/2021/05/02/sf-archbishop-pro-abortion-politicians-please-stop-killing/"><img width="200" height="150" src="https://media.breitbart.com/media/2017/10/cordileone-200x150.jpg" alt="SF Archbishop to Pro-Abortion Politicians: ‘Please, Stop the Killing’" title="San Francisco Archbishop Salvatore Cordileone said Saturday that politicians who …" data-qazy=""><b>SF Archbishop to Pro-Abortion Politicians: ‘Please, Stop the Killing’</b><span class="byC" data-dsqi="16438082" data-dsqu="https://www.breitbart.com/faith/2021/05/02/sf-archbishop-pro-abortion-politicians-please-stop-killing/#disqus_thread" data-fbc="1"></span></a></li><li><a href="/clips/2021/05/02/dershowitz-very-upset-about-giuliani-fbi-raid-its-not-constitutional/"><img width="200" height="150" src="https://media.breitbart.com/media/2020/01/Dershowitz-Imploring-200x150.jpg" alt="Dershowitz: ‘Very Upset’ About Giuliani FBI Raid — ‘It’s Not Constitutional’" title="Harvard law professor emeritus Alan Dershowitz on Sunday criticized the FBI …" data-qazy=""><b>Dershowitz: ‘Very Upset’ About Giuliani FBI Raid — ‘It’s Not Constitutional’</b><span class="byC" data-dsqi="16441586" data-dsqu="https://www.breitbart.com/clips/2021/05/02/dershowitz-very-upset-about-giuliani-fbi-raid-its-not-constitutional/#disqus_thread"></span></a></li><li><a href="/crime/2021/05/02/social-media-influencer-mom-faces-charges-accusing-couple-attempted-kidnapping/"><img width="200" height="150" src="https://media.breitbart.com/media/2021/05/KATIE-200x150.png" alt="Social Media Influencer Mom Faces Charges for Accusing Couple of Attempted Kidnapping" title="A California mother at the center of a kidnapping allegation …" data-qazy=""><b>Social Media Influencer Mom Faces Charges for Accusing Couple of Attempted Kidnapping</b><span class="byC" data-dsqi="16438868" data-dsqu="https://www.breitbart.com/crime/2021/05/02/social-media-influencer-mom-faces-charges-accusing-couple-attempted-kidnapping/#disqus_thread" data-fbc="1"></span></a></li><li><a href="/europe/2021/05/02/german-police-tell-people-to-stop-posting-vaccination-passports-on-social-media/"><img width="200" height="150" src="https://media.breitbart.com/media/2021/04/GettyImages-1273897625-e1619822643639-200x150.jpg" alt="German Police Tell People to Stop Posting Vaccination Passports on Social Media" title="German police have warned people not to post images of …" data-qazy=""><b>German Police Tell People to Stop Posting Vaccination Passports on Social Media</b><span class="byC" data-dsqi="16432820" data-dsqu="https://www.breitbart.com/europe/2021/05/02/german-police-tell-people-to-stop-posting-vaccination-passports-on-social-media/#disqus_thread" data-fbc="3"></span></a></li></ul> </section> + + <figure id="rail5matched" class="VH"></figure> + + <figure id="F-1x1"></figure> +</aside> + <div class="clear"></div> + </div> + </div> + <footer id="FootW"> + <div id="FWI"> + <a href="/" class="logo">BREITBART NEWS</a> + <ul id="NavF"><li><a href="https://www.breitbart.com/masthead/">Masthead</a></li><li><a href="https://media.breitbart.com/media/2019/11/about-breitbart-news.pdf">About Us</a></li><li><a href="https://www.breitbart.com/policy-information/">Policy Info</a></li><li><a rel="nofollow" href="https://www.breitbart.com/terms-of-use/">Terms of Use</a></li><li><a rel="nofollow" href="https://www.breitbart.com/privacy-policy/">Privacy Policy</a></li><li><a rel="nofollow" href="https://mediakit.breitbart.com">Advertise</a></li><li><a href="/news/">Wires</a></li><li><a rel="nofollow" href="https://www.breitbart.com/contact-us/">Contact Us</a></li><li><a rel="nofollow" href="https://www.breitbart.com/jobs/">Careers</a></li><li><a rel="nofollow" href="https://store.breitbart.com">Store</a></li><li><a href="https://www.breitbart.com/app/">Get the App</a></li><li><a href="https://www.breitbart.com/newsletter/">Newsletter</a></li><li><a rel="nofollow" href="https://www.breitbart.com/send-a-tip/">Send A Tip</a></li><li><a href="https://www.breitbart.com/navigational-sitemap/">Sitemap</a></li></ul> <p><a class="fb" href="https://www.facebook.com/Breitbart" title="Breitbart on Facebook"></a><a class="tw" href="https://twitter.com/BreitbartNews" title="Breitbart on Twitter"></a><a class="yt" href="https://www.youtube.com/channel/UCmgnsaQIK1IR808Ebde-ssA" title="Breitbart on YouTube"></a><a class="ig" href="https://www.instagram.com/wearebreitbart/" title="Breitbart on Instagram"></a><a class="parler" href="https://parler.com/profile/BreitbartNews" title="Breitbart on Parler"></a><a class="rss" href="https://feeds.feedburner.com/breitbart" title="Breitbart RSS"></a></p> + </div> + <p><small>Copyright © 2021 Breitbart</small></p> + </footer> +</div> +<noscript> +<img alt="" src="https://pixel.quantserve.com/pixel/p-dcxh5b8qxvs6g.gif"> +<img alt="" src="https://www.facebook.com/tr?id=296280873867140&ev=PageView&noscript=1"> +<img alt="" src="https://sb.scorecardresearch.com/p?c1=2&c2=17674108&cv=2.0&cj=1"> +<img alt="" src="https://certify.alexametrics.com/atrk.gif?account=l2Y7o1IW1810vg"> +</noscript> +<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js" async></script> +<script>var GMX_POLLS={"16196600":{"t":"Are you done with Coca Cola?","b":"\/2021\/04\/Coke-v3-420x350.jpg"},"16197026":{"t":"Are you done flying Delta?","b":"\/2021\/04\/Delta-420x350.jpg"},"16197044":{"t":"Should \u201860 Minutes\u2019 apologize to DeSantis?","b":"\/2021\/04\/DeSantis-420x350.jpg"},"16196498":{"t":"Will You Be Watching Major League Baseball This Season?","b":"\/2021\/04\/Watching-MLB-420x350.jpg"},"16196474":{"t":"Is the MLB now a woke tool of the Democrat Party?","b":"\/2021\/04\/MLB-Woke-Tool-420x350.jpg"},"16196330":{"t":"Do you oppose the Biden ‘infrastructure’ boondoggle?","b":"\/2021\/04\/Biden-Infrastructure-420x351.jpg"}};!function t(n,e,o,r,s,a){"use strict";n&&console.error("EXEC z()"),t.C=function(){"number"==typeof t.I&&(e.clearInterval(t.I),t.I=null)},t.J=function(t,e,r){n&&console.error('z.J( "%s" )',t),r=void 0===r||"number"==typeof e?{async:""}:r,e="object"!=typeof e?o.body:e;var s=o.createElement("script");for(var a in r)s.setAttribute(a,r[a]);s.src=t,e&&e.appendChild(s)},t.F=function(){return"$"in e&&"function"==typeof e.$&&"function"==typeof e.$.ajax?(t.C(),["https://cdn.jsdelivr.net/npm/store-js@2.0.4/dist/store.legacy.min.js","/t/style-0"+BB_G.lock+".js"].forEach(t.J)):r>4?(s=[r=0],t.ra?t.C():(t.ra=a=10,["https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.min.js","https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"].forEach(t.J))):void(++s[r]>4&&(t.C(),s[++r]=0,t.I=e.setInterval(t.F,a+=50)))},t.I=e.setInterval(t.F,20),ISC_IS.react||(e._atrk_opts={atrk_acct:"l2Y7o1IW1810vg",domain:"breitbart.com",dynamic:!0},t.J("https://certify-js.alexametrics.com/atrk.js",o.head),e.OptanonWrapper=function(){e.Optanon.OnConsentChanged((function(t){"ISCJS"in e&&"is"in e.ISCJS&&"consents"in e.ISCJS.is&&ISCJS.is.consents()}))},t.J("https://cdn.cookielaw.org/scripttemplates/otSDKStub.js",o.head,{"data-domain-script":"bea5fecf-7066-4a7e-ad83-51130a031a8a"}))}(BB_G.D,window,document,0,[0],10);</script> <script class="F-ci_tp H" type="text/ci-form" hidden><figure id="cin_poll" class="F-ci-w H"><div id="cinpollinner" class="H"><div class="bbpoll"></div><p class="sh3"><span>ALMOST THERE!</span><br>To officially cast your vote in the Breitbart Poll, provide your email address below.</p><form id="F-cin_poll" data-ci='{"l":"BNN Daily Roundup AM:BNN Daily Roundup PM:BNN Sponsored Emails:BNN Economy Master","e":"EMAIL","b":"SUBMIT","p":"poll"}'></form></div></figure></script> + </body> +</html> +\ No newline at end of file diff --git a/content/misc/web_snapshot/be8741ff91c6e3eac760a3a4652b57f47bce92fa9b617662296c2ab5b3c5fe31.txt b/content/misc/web_snapshot/be8741ff91c6e3eac760a3a4652b57f47bce92fa9b617662296c2ab5b3c5fe31.txt @@ -0,0 +1 @@ +<html><body><div style="position:absolute;top:100px;text-align:center;margin-left:auto;margin-right:auto;left:0;right:0;width:500px;font-family:Roboto,sans-serif;"><img src="https://storage.googleapis.com/ddos-shield.appspot.com/shield-logo-mono-darktext.svg" width="250px" height="50px" alt="Project Shield Logo" /><p style="font-size:18px;">You will be connected to <b>www.thelocal.se</b> in just a moment...</p><p><a href="https://g.co/shield">Learn about Project Shield</a></p></div><script type="text/javascript" src="https://storage.googleapis.com/ddos-shield.appspot.com/aes.js"></script><script>function toNumbers(d){var e=[];d.replace(/(..)/g,function(d){e.push(parseInt(d,16))});return e;}function toHex(){for(var d=[],d=1==arguments.length&&arguments[0].constructor==Array?arguments[0]:arguments,e="",f=0;f<d.length;f++)e+=(16>d[f]?"0":"")+d[f].toString(16);return e.toLowerCase()}var a=toNumbers("ce18e7c0129318dc17a274ef80a01a7e"),b=toNumbers("3f8b64e52c310fcc26a444bcf755922e"),c=toNumbers("6cd84b2502238a1dc0feac270f993d6d");document.cookie="STC="+toHex(slowAES.decrypt(c,2,a,b))+"; expires=Thu, 31-Dec-37 23:55:55 GMT; domain=.thelocal.se; path=/";location.href="https://www.thelocal.se/20111109/37244/?sckattempt=1".replace(new RegExp("sckattempt=[0-9]\&"), "").replace(new RegExp("[?&]sckattempt=[0-9]"), "");</script></body></html> +\ No newline at end of file diff --git a/content/misc/web_snapshot/eb76a87f224b0e4f4e5d1673b1505aaeee28d8ad03ce544656b6f5ac7c4d9983.pdf b/content/misc/web_snapshot/eb76a87f224b0e4f4e5d1673b1505aaeee28d8ad03ce544656b6f5ac7c4d9983.pdf Binary files differ. diff --git a/content/misc/web_snapshot/f1c557b9555149dde570976ed956ffb17d17b99cea5f2651020f66408dacf301.pdf b/content/misc/web_snapshot/f1c557b9555149dde570976ed956ffb17d17b99cea5f2651020f66408dacf301.pdf Binary files differ. diff --git a/content/misc/web_snapshot/f2aa95b42c5420cb11ccbf1cb084d5e5ccc3fc6cd575c51e9ee473b9df19c890.txt b/content/misc/web_snapshot/f2aa95b42c5420cb11ccbf1cb084d5e5ccc3fc6cd575c51e9ee473b9df19c890.txt @@ -0,0 +1,15 @@ +HTTP/2 200 +date: Mon, 03 May 2021 07:30:39 GMT +content-type: text/html; charset=UTF-8 +server: nginx +vary: Accept-Encoding +set-cookie: STATSESSID=6690cqsl22s4uuhouf9peq9v55; path=/; domain=statista.com; secure; HttpOnly +cache-control: max-age=0, must-revalidate, private, s-maxage=10800 +expires: Mon, 03 May 2021 07:30:39 GMT +set-cookie: abtest=2; expires=Sat, 30-Jun-2035 03:30:39 GMT; Max-Age=446760000; path=/; domain=statista.com; secure +x-cache-status: BYPASS +x-frame-options: SAMEORIGIN +x-content-type-options: nosniff +x-xss-protection: 1; mode=block +strict-transport-security: max-age=16070400; includeSubDomains + diff --git a/content/pages/about.rst b/content/pages/about.rst @@ -0,0 +1,55 @@ +Identities +########## + +:title: Identities +:author: Louis Holbrook + + +My own. My precious +=================== + +PGP - personal + `59A844A4 84AC1125 3D3A3E9D CDCBD24D D1D0E001`_ + +PGP - code signing + `0826EDA1 702D1E87 C6E28751 21D2E7BB 88C2A746`_ + +PGP - `Delta Chat`_ + `E19386B2 6EB1F4CC 9B14B4E3 D62A8A77 9612E773`_ + +TOX_ + ``70459C0568A64737F127CA1505FA0485FBB69831C7BD6AC269E369285C7F2E0282283B2AFCD0`` + +.. + + .. _Delta Chat: https://delta.chat/ + +.. + + .. _59A844A4 84AC1125 3D3A3E9D CDCBD24D D1D0E001: https://holbrook.no/keys/louis.asc + +.. + + .. _0826EDA1 702D1E87 C6E28751 21D2E7BB 88C2A746: https://holbrook.no/keys/louis_dev.asc + +.. + + .. _E19386B2 6EB1F4CC 9B14B4E3 D62A8A77 9612E773: https://holbrook.no/keys/louis_deltachat.asc + +.. + + .. _TOX: https://tox.chat/ + + +At the mercy of others +====================== + +Stackexchange + `lash <https://stackexchange.com/users/4055233/lash>`__ + +Gitlab + `nolash <https://gitlab.com/nolash>`__ + +Github + `nolash <https://github.com/nolash>`__ + diff --git a/content/pages/projects.rst b/content/pages/projects.rst @@ -9,12 +9,18 @@ Projects Active ====== -Chaintools_ +Chaintool_ ----------- -This is a collection of three python3 blockchain libraries - chainlib_, chainsyncer_ and chainqueue_. Chainlib provides tooling for encodings for Solidity-EVM and Ethereum node networks. Chainqueue facilitates bulk send of transactions. Chainsyncer processes all transactions in mined blocks, and executes pluggable code for each of them. +This is a collection of three python3 blockchain libraries - chainlib_, chainsyncer_ and chainqueue_, written for the Community Inclusion Currency project pilot by `Grassroots Economics <https://grassrootseconomics.org>`_. -It also provides `Crypto Dev Signer`_, a daemon for use in development that performs Ethereum signatures over its standard JSON-RPC, along with a keystore with memory or sql backends. It also contains a cli tool to create and parse keystore files. +Chainlib provides tooling for encodings for Solidity-EVM and Ethereum node networks, along with an attempt to generalize some concepts to allow multichain interfacing, as well as future additions of other chain environments. + +Chainsyncer partially depends on chainlib, and processes all transactions in mined blocks, and executes pluggable code for each of them. + +Chainqueue is chain environment agnostic, and facilitates bulk send of transactions. + +The collection also provides `Crypto Dev Signer`_, a daemon and library for use in development that performs Ethereum signatures over its standard JSON-RPC, along with a keystore with memory or sql backends. It also contains a cli tool to create and parse keystore files. Taint_ ------ @@ -85,7 +91,7 @@ A library that aims to simplify mutually signing generic serializable items offl .. - .. _chaintools: https://gitlab.com/chaintools + .. _chaintool: https://gitlab.com/chaintool .. diff --git a/lash/static/css/style.css b/lash/static/css/style.css @@ -12,6 +12,7 @@ body { background-image: url('../images/bg.png'); background-repeat: repeat; font-family: sans-serif; + margin: 2.5em 4.0em 3.0em 4.0em; } section.body, @@ -20,9 +21,9 @@ header div { padding-right: 2em; } -ol { - list-style-type: none; -} +#ol { +# list-style-type: none; +#} h2 { color: #840020; @@ -91,6 +92,11 @@ nav#menu hr { /* metadata */ ol.entry-series-parts, +ol#post-list { + list-style-type: none; +} + +ol.entry-series-parts, ol.entry-series-parts li, div.neighbors ul, div.neighbors ul li { @@ -133,10 +139,13 @@ pre { white-space: break-spaces; } div.highlight, +div.highlight pre, pre.code { background-color: #e5e0e0; padding: 1em; margin-bottom: 0.3em; + word-wrap: break-word; + overflow: hidden; } @@ -178,13 +187,16 @@ div.caution p.admonition-title { /* footnotes */ -table.footnote { +table.footnote, +table.citation { border-left: 3px solid #ccc; margin-top: 2.0em; } -table.footnote td.label { +table.footnote td.label, +table.citation td.label { padding-left: 1.2em; + padding-right: 0.5em; } /* custom: identities */ diff --git a/lash/static/images/bg.png b/lash/static/images/bg.png Binary files differ. diff --git a/pelicanconf.py b/pelicanconf.py @@ -35,10 +35,12 @@ RELATIVE_URLS = True DISPLAY_CATEGORIES_ON_MENU = True -PLUGINS = ['pelican.plugins.neighbors', 'sign'] - MENUITEMS = [('tags', '/tags.html')] STATIC_PATHS = ['images', 'misc'] +PLUGINS = [ + 'pelican.plugins.neighbors', + 'sign', + ] PLUGIN_SIGN_GPGKEY = 'd1d0e001' diff --git a/publishconf.py b/publishconf.py @@ -18,6 +18,11 @@ CATEGORY_FEED_ATOM = 'feeds/{slug}.atom.xml' DELETE_OUTPUT_DIRECTORY = True +PLUGINS = [ + 'pelican.plugins.neighbors', + 'sign', + ] + # Following items are often useful when publishing #DISQUS_SITENAME = ""