Conceitos gerais sobre HTML 5 – Concurso Câmara BH 2024

Você já parou para pensar em como a internet evoluiu ao longo dos anos? Desde o surgimento da World Wide Web, muitos avanços foram feitos para tornar a experiência do usuário cada vez melhor. E um dos grandes responsáveis por isso é o HTML, a linguagem de marcação que permite estruturar e apresentar o conteúdo na web.

Mas se engana quem pensa que o HTML parou no tempo. Com o passar dos anos, essa linguagem recebeu atualizações e melhorias constantes, e uma das mais recentes é o HTML 5. Se você está se preparando para o concurso da Câmara de Belo Horizonte 2024 na área de Desenvolvimento de Sistema, é fundamental compreender os conceitos gerais sobre o HTML 5.

Neste artigo, vamos explorar o universo do HTML 5 e entender como essa nova versão da linguagem pode contribuir para o desenvolvimento de sistemas mais dinâmicos e interativos. Se você está animado para descobrir mais sobre esse assunto, continue lendo! Imagine que você está construindo uma casa. Antes de começar a erguer as paredes e a colocar o telhado, você precisa ter um projeto estruturado, não é mesmo? O HTML 5 funciona de forma semelhante. Ele é a base, a estrutura na qual você vai construir a sua página web. Mas o que torna o HTML 5 tão especial? O HTML 5 trouxe consigo uma série de novidades e recursos, permitindo criar páginas web mais ricas em conteúdo e mais acessíveis tanto para os desenvolvedores quanto para os usuários. Por exemplo, agora é possível inserir elementos multimídia, como áudio e vídeo, diretamente no código HTML. Isso significa que você pode criar uma experiência mais imersiva para os usuários, tornando a sua página web mais atrativa e envolvente.

Além disso, o HTML 5 introduziu novas tags e atributos, simplificando a estruturação do conteúdo e melhorando a semântica das páginas web. Isso facilita tanto a vida dos desenvolvedores, que conseguem organizar o código de forma mais intuitiva, quanto a dos motores de busca, que conseguem entender melhor o conteúdo das páginas e entregá-lo de forma relevante aos usuários.

Agora que você já despertou a sua atenção para o assunto e entendeu a importância do HTML 5, vamos mergulhar nos conceitos básicos dessa linguagem. Na próxima seção, vamos explorar os princípios fundamentais do HTML 5 e ver como ele difere das versões anteriores. Vamos lá!

Introdução ao HTML 5

Se você está se preparando para o concurso da Câmara de Belo Horizonte 2024 na área de desenvolvimento de sistemas, certamente deve estar buscando informações sobre o HTML 5. E é exatamente sobre esse assunto que falaremos neste artigo! O HTML 5, abreviação para HyperText Markup Language 5, é a mais recente versão da linguagem de marcação que permite estruturar e exibir o conteúdo de uma página web. Mas o que exatamente significa “linguagem de marcação”? É como se fosse o esqueleto da página, indicando quais elementos devem ser exibidos e como devem ser organizados. Uma das principais diferenças entre o HTML 5 e versões anteriores é a inclusão de novos elementos e atributos. Essas adições permitem uma maior flexibilidade na criação de páginas, proporcionando uma experiência mais rica e interativa para os usuários. Com o HTML 5, podemos criar elementos semânticos, ou seja, que possuem significado. Isso facilita a compreensão do conteúdo pelos motores de busca, melhorando o posicionamento da página nos resultados de pesquisa. Além disso, esses elementos ajudam na acessibilidade, permitindo que pessoas com deficiência visual utilizem softwares de leitura de tela para navegar no site.

Outra novidade do HTML 5 é o suporte a recursos multimídia nativos, como áudio e vídeo. Agora, não é mais necessário recorrer a plugins ou tecnologias externas para inserir esses tipos de mídia em uma página web. Isso torna a exibição de conteúdo mais rápida e fácil, melhorando a experiência do usuário. Além disso, o HTML 5 trouxe melhorias na manipulação de formulários e na criação de gráficos e animações. Isso significa que podemos criar formulários mais interativos e intuitivos, oferecendo uma experiência mais agradável ao usuário. Também podemos adicionar gráficos e animações de forma mais simples, tornando a página mais dinâmica e atraente.

Agora que você já teve uma introdução ao HTML 5, vamos dar uma olhada na história e evolução dessa linguagem. Como ela chegou até a sua versão atual? Descubra no próximo tópico!

História e evolução do HTML

Olá! Se você está se preparando para o concurso da Câmara de Belo Horizonte 2024 na área de Desenvolvimento de Sistemas e quer saber mais sobre HTML 5, você está no lugar certo! Vamos começar pelos conceitos básicos e entender um pouco sobre a história e evolução dessa linguagem tão importante para o desenvolvimento web.

HTML, ou HyperText Markup Language, é a linguagem responsável por estruturar e apresentar o conteúdo das páginas na web. Mas antes de falarmos sobre o HTML 5, vamos dar uma olhada em como tudo começou. Lá nos anos 90, o HTML surgiu como uma linguagem simples e estática, com poucos recursos de formatação e interatividade. Naquela época, a internet ainda era bem diferente do que conhecemos hoje. As páginas eram basicamente textos e imagens dispostos de forma linear. Com o passar do tempo, a internet foi evoluindo e as necessidades dos usuários foram mudando. Surgiram demandas por páginas mais dinâmicas, interativas e com recursos multimídia. Foi então que o HTML começou a se atualizar. O HTML 2.0 trouxe melhorias significativas, como a possibilidade de criar links entre páginas e a inclusão de imagens. Já o HTML 3.2 trouxe recursos de formatação mais avançados, como tabelas, formulários e frames.

No entanto, foi com o HTML 4 que a linguagem de marcação realmente se consolidou. Ele trouxe recursos de formatação ainda mais avançados, como a possibilidade de criar estilos em cascata (CSS) e aprimoramentos na estrutura do documento. Mas conforme as demandas da web continuavam a crescer, percebeu-se a necessidade de uma nova versão, mais moderna e robusta.

E assim, em 2014, surgiu o HTML 5. Essa versão trouxe inúmeros avanços, como melhorias na semântica do código, novas tags para elementos multimídia (como vídeo e áudio), suporte para gráficos vetoriais (SVG) e a capacidade de criar aplicativos web offline.

A partir de então, o HTML 5 se tornou a versão mais utilizada e recomendada para o desenvolvimento de páginas web. Ele oferece uma série de recursos que facilitam a vida dos desenvolvedores e proporcionam uma experiência mais rica e interativa para os usuários.

E aí, ficou empolgado com a história da evolução do HTML? Entender como essa linguagem se desenvolveu ao longo dos anos é fundamental para compreender suas principais características e funcionalidades. E é justamente sobre isso que vamos falar na próxima seção. Vamos descobrir quais são as principais diferenças entre o HTML 4 e o HTML 5. Vem comigo!

Principais diferenças entre HTML 4 e HTML 5

HTML 5 trouxe várias melhorias e recursos interessantes em comparação com sua versão anterior, o HTML 4. Nesta seção, exploraremos algumas das principais diferenças entre essas duas versões e como elas afetam o desenvolvimento de sistemas.

  1. Suporte a multimídia: Uma das maiores diferenças entre HTML 4 e HTML 5 é o suporte nativo a elementos multimídia. Enquanto o HTML 4 dependia de plug-ins, como o Flash, para reproduzir vídeos e áudios, o HTML 5 introduziu as tags

  2. Estrutura semântica: O HTML 5 trouxe uma nova abordagem em relação à estrutura do documento. Enquanto no HTML 4 costumávamos usar várias divs com classes e IDs para estruturar o conteúdo, o HTML 5 introduziu novos elementos semânticos, como

    ,

  3. Formulários avançados: Os formulários também tiveram melhorias significativas com o HTML 5. Agora, temos suporte nativo para validação de campos, como verificação de preenchimento obrigatório, verificação de formato de e-mail e validação numérica. Além disso, o HTML 5 introduziu novos tipos de inputs, como , e , que fornecem uma experiência mais rica ao usuário.

  4. Armazenamento local: Outra diferença importante é o suporte nativo ao armazenamento local. O HTML 5 introduziu as APIs localStorage e sessionStorage, permitindo que os desenvolvedores armazenem dados no navegador do usuário. Isso é especialmente útil para criar aplicativos web que funcionem offline ou que precisem lembrar de informações específicas do usuário.

  5. Suporte a gráficos: Com o HTML 5, também temos o suporte nativo para gráficos vetoriais, através da tag . Isso abre uma variedade de possibilidades para criar elementos gráficos dinâmicos, como gráficos em tempo real, jogos e animações.

Essas são apenas algumas das principais diferenças entre HTML 4 e HTML 5. Com o HTML 5, desenvolver sistemas web se torna mais poderoso e flexível, oferecendo recursos avançados que melhoram a experiência do usuário e a eficiência do desenvolvimento.

Agora que entendemos as principais diferenças, vamos explorar a estrutura básica de um documento HTML e como começar a desenvolver com HTML 5.

Estrutura básica de um documento HTML

Olá, caro leitor! Hoje vamos mergulhar no mundo do HTML 5, um tema essencial para quem busca se preparar para o concurso da Câmara de Belo Horizonte em 2024 na área de Desenvolvimento de Sistemas. Vamos começar com o básico: a estrutura de um documento HTML. Um documento HTML é composto por uma série de elementos que fornecem instruções para o navegador sobre como exibir o conteúdo da página. A estrutura básica é bastante simples, e consiste em duas partes principais: o cabeçalho (head) e o corpo (body). O cabeçalho do documento HTML contém informações importantes sobre a página, como o título, a codificação de caracteres e os links para arquivos externos de estilo e script. É dentro do cabeçalho que você irá encontrar a tag </code>, que define o título da página exibido na barra de título do navegador.</p> <p>A segunda parte do documento HTML é o corpo, onde todo o conteúdo visível da página é colocado. Aqui é onde você irá adicionar o texto, imagens, vídeos, links e outros elementos que formam a estrutura da página. É no corpo que você irá utilizar as diversas tags HTML para criar a estrutura e o estilo da página.</p> <p>Agora que você já conhece a estrutura básica de um documento HTML, podemos nos aprofundar nos conceitos mais avançados, como as tags semânticas do HTML 5. Mas antes disso, me responda: você já se sente confiante em relação a esta estrutura? Caso sim, vamos em frente e explorar as tags semânticas que tornam o HTML 5 tão poderoso e expressivo.</p> <h2><span class="ez-toc-section" id="Tags_semanticas_do_HTML_5"></span>Tags semânticas do HTML 5<span class="ez-toc-section-end"></span></h2> <p>Quando falamos sobre o HTML 5, não podemos deixar de mencionar as tags semânticas. Elas são elementos especiais do HTML 5 que fornecem um significado claro e estruturado ao conteúdo do nosso site. Em vez de apenas divs e spans, o HTML 5 nos dá uma variedade de tags que ajudam os motores de busca e os desenvolvedores a entenderem melhor a estrutura do nosso site. Vamos começar falando sobre a tag <code></p> <header></code>. Essa tag é usada para representar o cabeçalho de uma seção ou de um documento. Ela pode conter elementos como o logotipo do site, o menu principal e outras informações importantes. O <code></p> <header></code> é como a capa de um livro, que nos dá uma ideia do que está por vir.</p> <p>Outra tag importante é a <code></p> <nav></code>. Essa tag é usada para representar a área de navegação do site, normalmente contendo os links para as diferentes páginas. É como um mapa que nos guia pelas páginas do site, facilitando a nossa experiência de navegação.</p> <p>A tag <code><main></code> é utilizada para representar o conteúdo principal de uma página. Ela é como o corpo de um livro, onde encontramos a história principal. É dentro dessa tag que encontramos o conteúdo mais relevante e significativo do site.</p> <p>Já a tag <code></p> <article></code> é usada para representar um conteúdo independente e autocontido. Pode ser um post de blog, uma notícia ou qualquer tipo de conteúdo que possa ser separado e compartilhado individualmente. É como um capítulo de um livro, que pode ser lido e entendido por si só.</p> <p>A tag <code></p> <section></code> é usada para agrupar conteúdos relacionados dentro de uma página. Pode ser um grupo de artigos, uma lista de produtos ou qualquer outro tipo de conteúdo relacionado. É como uma pasta com diferentes documentos, que nos ajuda a organizar e estruturar o nosso site. Por fim, temos a tag <code></p> <footer></code>, que é usada para representar o rodapé do site. Ela normalmente contém informações como os direitos autorais, links para páginas relacionadas e outras informações complementares. É como a última página de um livro, que nos dá um resumo final.</p> <p>Essas são apenas algumas das tags semânticas disponíveis no HTML 5. Utilizá-las corretamente não só melhora a estrutura e legibilidade do nosso código, mas também ajuda na otimização do site para os motores de busca. Agora que você já sabe sobre as tags semânticas, vamos explorar os novos elementos do HTML 5!</p> <h2><span class="ez-toc-section" id="Novos_elementos_do_HTML_5"></span>Novos elementos do HTML 5<span class="ez-toc-section-end"></span></h2> <p>Uma das principais novidades trazidas pelo HTML 5 são os novos elementos, que ampliam as capacidades de marcação e estruturação de um documento web. Esses elementos foram criados para facilitar a criação de páginas mais semânticas e acessíveis, além de oferecerem mais opções de estilização e interatividade.</p> <p>Um dos elementos mais utilizados e importantes do HTML 5 é o </p> <header>. Ele representa o cabeçalho de uma seção ou página e geralmente contém o logotipo, o título e outros elementos de navegação. Imagine o </p> <header> como a capa de um livro, que dá as primeiras indicações visuais sobre o conteúdo que está por vir. Outro elemento interessante é o </p> <nav>, que é usado para definir uma área de navegação de um site. Dentro do </p> <nav>, podemos incluir links para diferentes seções do site ou até mesmo para páginas externas. Pense no </p> <nav> como um mapa, que orienta o leitor sobre as opções de caminho que ele pode seguir dentro do site.</p> <p>Para estruturar o conteúdo principal, temos o elemento <main>. Ele deve ser utilizado apenas uma vez por página e representa o conteúdo principal do documento. Dentro do <main>, podemos organizar o conteúdo em seções usando o </p> <section>, que ajuda a dividir e agrupar elementos relacionados. O </p> <section> é como um capítulo de um livro, que organiza o conteúdo em partes distintas. Já o </p> <article> é usado para representar um conteúdo independente e autônomo, como um post de blog, uma notícia ou até mesmo um comentário. O </p> <article> é um pedaço de conteúdo que pode ser distribuído e reutilizado separadamente. Ele é como um artigo de revista, que pode ser lido individualmente, mas que também faz parte de uma coleção maior. Além desses, existem outros elementos como </p> <aside>, </p> <footer>, </p> <figure> e muitos mais, que ajudam a estruturar e organizar o conteúdo de forma mais significativa. Com essas novas adições, o HTML 5 oferece uma gama de possibilidades para os desenvolvedores criarem páginas web mais modernas e impactantes.</p> <p>Agora que já entendemos os novos elementos do HTML 5, vamos explorar os atributos globais que podem ser utilizados em todos esses elementos. Mas antes, pare um segundo e reflita: você já imaginou como seria a web sem esses elementos semânticos e estruturados? Seria como uma biblioteca sem uma organização clara, onde os livros estariam espalhados sem nenhuma ordem ou identificação. Felizmente, o HTML 5 veio para mudar isso e nos proporcionar uma experiência de navegação mais intuitiva e coesa.</p> <h2><span class="ez-toc-section" id="Atributos_globais_no_HTML_5"></span>Atributos globais no HTML 5<span class="ez-toc-section-end"></span></h2> <p>Ao criar uma página web em HTML 5, é importante entender os atributos globais que podem ser utilizados em qualquer elemento HTML. Esses atributos fornecem funcionalidades básicas que podem ser aplicadas em qualquer parte do documento.</p> <p>Um desses atributos é o ‘class’, que permite que você atribua uma classe a um elemento HTML. A classe pode ser usada para estilizar o elemento usando CSS ou para selecionar o elemento usando JavaScript. Por exemplo, se você quiser estilizar todos os elementos de parágrafo com uma cor de fundo diferente, você pode adicionar a classe “destaque” a todos eles e, em seguida, definir o estilo desejado no CSS.</p> <p>Outro atributo global é o ‘id’, que é usado para identificar exclusivamente um elemento em um documento HTML. O ID pode ser usado para estilizar um elemento específico ou selecioná-lo para manipulação usando JavaScript. Por exemplo, se você quiser estilizar um cabeçalho de página específico de forma diferente dos outros cabeçalhos, você pode atribuir um ID a ele e, em seguida, definir o estilo desejado no CSS.</p> <p>O atributo ‘style’ permite que você defina estilos inline para um elemento específico. Isso pode ser útil quando você deseja aplicar um estilo único a um elemento sem usar um arquivo CSS separado. No entanto, é importante notar que o uso excessivo de estilos inline pode dificultar a manutenção e a reutilização do código. Além disso, temos o atributo ‘title’, que fornece uma descrição do elemento para ajudar os usuários a entender seu propósito. Essa descrição é exibida quando o usuário passa o mouse sobre o elemento. Por exemplo, se você tiver um ícone de ajuda em sua página, você pode adicionar um título que explique o que o ícone faz quando clicado.</p> <p>Por fim, o atributo ‘lang’ é usado para especificar o idioma principal do conteúdo de um elemento. Isso é importante para a acessibilidade, pois ajuda os leitores de tela a determinar o idioma correto para pronunciar o texto. Por exemplo, se você tiver um trecho de texto em francês em uma página em inglês, você pode adicionar o atributo ‘lang=”fr”‘ ao elemento para informar aos leitores de tela que o texto está em francês.</p> <h2><span class="ez-toc-section" id="Formularios_no_HTML_5"></span>Formulários no HTML 5<span class="ez-toc-section-end"></span></h2> <p>Se você está interessado em desenvolvimento de sistemas e quer se preparar para o concurso da Câmara de Belo Horizonte em 2024, entender os conceitos básicos do HTML 5 é essencial. E quando se trata de criar formulários, o HTML 5 oferece recursos poderosos e flexíveis.</p> <p>Os formulários são partes fundamentais de qualquer site interativo, permitindo aos usuários enviar informações para o servidor. No HTML 5, os formulários são criados usando a tag <code></p> <form></code>. Dentro dessa tag, podemos adicionar campos de entrada como texto, caixas de seleção, botões e muito mais. Um dos elementos mais comuns em um formulário é o campo de entrada de texto, que permite aos usuários inserir dados. Você pode criar um campo de entrada de texto usando a tag <code><input></code> e definir o atributo <code>type</code> como “text”. Além disso, você pode especificar um valor inicial usando o atributo <code>value</code>.</p> <p>Por exemplo:</p> <p><input type="text" value="Digite seu nome"></p> <p>Outro recurso interessante do HTML 5 é a validação de formulário. Podemos especificar requisitos para os campos de entrada, como um número mínimo de caracteres ou um formato específico, usando os atributos <code>required</code>, <code>minlength</code>, <code>maxlength</code> e <code>pattern</code>.</p> <p>Além disso, podemos usar elementos como <code><label></code>, <code><select></code> e <code><textarea></code> para melhorar a usabilidade dos formulários. O elemento <code><label></code> permite associar um rótulo descritivo a um campo de entrada, o <code><select></code> cria uma lista de opções selecionáveis e o <code><textarea></code> é utilizado para campos de texto com várias linhas. Podemos até mesmo agrupar campos relacionados usando a tag <code></p> <fieldset></code>. Isso é útil para criar seções ou categorias de campos em um formulário. Os formulários no HTML 5 oferecem uma variedade de recursos para tornar a captura de dados uma experiência mais intuitiva e eficiente para os usuários. Compreender esses conceitos é fundamental para quem deseja se destacar no concurso da Câmara de Belo Horizonte em 2024.</p> <p>Agora que você entende os princípios básicos dos formulários no HTML 5, vamos explorar os recursos multimídia disponíveis na próxima seção.</p> <p>Pronto para adicionar um toque especial aos seus sites? Descubra como o HTML 5 permite a inclusão de recursos multimídia de forma fácil e poderosa!</p> <h2><span class="ez-toc-section" id="Recursos_multimidia_no_HTML_5"></span>Recursos multimídia no HTML 5<span class="ez-toc-section-end"></span></h2> <p>O HTML 5 trouxe várias melhorias em relação às versões anteriores, especialmente quando se trata de recursos multimídia. Agora é possível incluir áudio, vídeo e imagens diretamente em suas páginas da web, sem a necessidade de plug-ins adicionais.</p> <p>Vamos começar falando sobre a tag <audio>. Com ela, você pode adicionar arquivos de áudio em seus sites de forma simples e eficiente. Basta especificar o caminho do arquivo e pronto! Você pode até mesmo controlar a reprodução, como adicionar botões de play, pause e volume. Imagine criar um site para uma banda e permitir que os visitantes ouçam suas músicas diretamente na página, sem precisar abrir um player externo. Incrível, não é mesmo?</p> <p>Da mesma forma, a tag <video> é usada para adicionar vídeos em suas páginas. Basta indicar o caminho do arquivo de vídeo e personalizar as opções de reprodução, como tamanho, controles de vídeo e legendas. Com o HTML 5, é possível criar um player de vídeo personalizado, oferecendo uma experiência única para os usuários. Isso abre um mundo de possibilidades para produtores de conteúdo, empresas de streaming e muito mais.</p> <p>Além disso, a tag <img> também foi aprimorada no HTML 5. Agora, é possível utilizar imagens em formatos diferentes, como SVG e WebP, que oferecem uma melhor qualidade e menor tamanho de arquivo. Isso significa que suas páginas carregarão mais rapidamente, proporcionando uma experiência mais fluida para os usuários. E se você quiser adicionar um efeito de zoom em uma imagem, por exemplo, também é possível fazer isso usando CSS e JavaScript.</p> <p>É importante ressaltar que esses recursos multimídia do HTML 5 são suportados por todos os principais navegadores, o que significa que você pode utilizá-los sem se preocupar com a compatibilidade. E o melhor de tudo é que eles são fáceis de serem implementados. Não é necessário conhecimento avançado em programação para adicionar áudio, vídeo e imagens em suas páginas.</p> <p>Agora que você já entendeu como utilizar recursos multimídia no HTML 5, vamos avançar para a próxima seção: as APIs do HTML 5. Elas proporcionam ainda mais possibilidades e funcionalidades para as suas aplicações web. Vamos lá!</p> <h2><span class="ez-toc-section" id="APIs_do_HTML_5"></span>APIs do HTML 5<span class="ez-toc-section-end"></span></h2> <p>Se você já está familiarizado com o HTML, então já deve ter ouvido falar sobre o HTML 5, a versão mais recente da linguagem de marcação padrão da web. O HTML 5 traz consigo várias novidades e melhorias em relação às versões anteriores, e uma dessas melhorias são as APIs, ou Application Programming Interfaces.</p> <p>APIs do HTML 5 são conjuntos de recursos e funcionalidades que os desenvolvedores podem utilizar para criar aplicações web mais dinâmicas e interativas. Essas APIs fornecem acesso direto a recursos do navegador, como a câmera, o microfone, a geolocalização e até mesmo o armazenamento local. Um exemplo de API muito utilizada no HTML 5 é a Geolocation API, que permite que os desenvolvedores obtenham a localização geográfica do usuário. Com essa API, é possível criar aplicações como mapas interativos ou serviços baseados em localização. Outra API interessante é a Web Storage API, que fornece um meio de armazenar dados localmente no navegador do usuário. Com essa API, você pode armazenar informações como preferências do usuário, histórico de navegação ou até mesmo dados temporários. Além disso, a HTML 5 também trouxe APIs para trabalhar com áudio e vídeo, como a Audio API e a Video API, permitindo a manipulação de elementos multimídia diretamente no navegador, sem a necessidade de plugins externos.</p> <p>As APIs do HTML 5 são extremamente úteis para desenvolvedores que desejam criar aplicações web mais avançadas e personalizadas. Elas fornecem um conjunto de recursos poderosos que podem ser utilizados para melhorar a experiência do usuário e adicionar funcionalidades interessantes às aplicações.</p> <p>A próxima seção irá abordar a compatibilidade e o suporte dos navegadores para o HTML 5. Afinal, de nada adianta utilizar todas essas APIs se os usuários não conseguirem aproveitar os recursos. Então, vamos descobrir quais navegadores dão suporte ao HTML 5 e quais recursos estão disponíveis em cada um deles.</p> <h2><span class="ez-toc-section" id="Compatibilidade_e_suporte_dos_navegadores_para_o_HTML_5"></span>Compatibilidade e suporte dos navegadores para o HTML 5<span class="ez-toc-section-end"></span></h2> <p>Você já ouviu falar sobre o HTML 5? Este é o padrão mais recente da linguagem de marcação utilizada para criar páginas web. Mas antes de mergulharmos nas maravilhas que o HTML 5 pode oferecer, é importante saber se todos os navegadores são compatíveis com ele. Afinal, não adianta utilizarmos uma tecnologia incrível se nossos usuários não conseguirem visualizá-la corretamente, não é mesmo?</p> <p>Felizmente, a compatibilidade do HTML 5 com os navegadores é bastante ampla. A maioria dos navegadores modernos, como Google Chrome, Mozilla Firefox, Safari e Microsoft Edge, oferece suporte total ou quase completo ao HTML 5. Isso significa que você pode criar páginas web incríveis, com recursos avançados, e ter a certeza de que a maioria dos usuários poderá acessá-las sem problemas.</p> <p>No entanto, é importante ressaltar que nem todos os recursos do HTML 5 são suportados por todos os navegadores. Alguns recursos mais avançados podem apresentar problemas de compatibilidade em certos navegadores mais antigos. Por exemplo, algumas tags e atributos podem não ser reconhecidos ou exibidos corretamente em versões mais antigas do Internet Explorer.</p> <p>Mas não se preocupe! Existem soluções para contornar esses problemas de compatibilidade. Uma das opções é utilizar bibliotecas ou frameworks, como o Modernizr, que detectam o suporte dos navegadores aos recursos do HTML 5 e aplicam soluções alternativas automaticamente quando necessário. Dessa forma, você pode aproveitar ao máximo as possibilidades do HTML 5, mesmo em navegadores mais antigos.</p> <p>E aí, ficou mais tranquilo com relação à compatibilidade e suporte dos navegadores para o HTML 5? Agora que você sabe que a maioria dos navegadores modernos oferece amplo suporte a essa tecnologia, podemos continuar nossa jornada no mundo do desenvolvimento web. No próximo artigo, vamos falar sobre boas práticas de desenvolvimento com HTML 5. Tenho certeza de que você vai adorar descobrir algumas dicas e truques para criar páginas web incríveis. Então, continue acompanhando o blog para não perder nada!</p> <h2><span class="ez-toc-section" id="Boas_praticas_de_desenvolvimento_com_HTML_5"></span>Boas práticas de desenvolvimento com HTML 5<span class="ez-toc-section-end"></span></h2> <p>Quando se trata de desenvolvimento com HTML 5, é importante ter em mente algumas boas práticas que podem ajudar a garantir um código limpo, organizado e eficiente. Essas práticas não apenas facilitam a manutenção do código, mas também melhoram a experiência do usuário e a compatibilidade com os diferentes dispositivos e navegadores.</p> <ol> <li> <p>Utilize uma estrutura semântica: Ao escrever o código HTML, é essencial utilizar as tags semânticas corretas. Isso não apenas ajuda os mecanismos de busca a entenderem melhor o conteúdo da página, mas também facilita a acessibilidade para pessoas com deficiências e melhora a estrutura do documento.</p> </li> <li> <p>Mantenha o código limpo e organizado: Utilizar uma indentação correta e consistente, espaços entre os elementos e comentários relevantes ajuda a tornar o código mais legível e facilita a identificação de erros ou modificações futuras.</p> </li> <li> <p>Otimize o carregamento da página: O tempo de carregamento de uma página é um fator importante para a experiência do usuário. Certifique-se de otimizar o tamanho das imagens, minimize o uso de scripts externos e utilize técnicas como o carregamento assíncrono para acelerar o carregamento da página.</p> </li> <li> <p>Faça uso adequado das tags HTML 5: O HTML 5 introduziu novas tags que podem ser utilizadas para melhor estruturar o conteúdo da página. Utilize tags como </p> <header>, </p> <nav>, </p> <section> e </p> <footer> de acordo com a finalidade específica de cada elemento.</p> </li> <li> <p>Utilize os atributos HTML 5: Além das novas tags, o HTML 5 também introduziu novos atributos que podem ser utilizados para fornecer informações adicionais aos elementos. Por exemplo, o atributo “placeholder” pode ser utilizado em campos de formulário para fornecer dicas sobre o tipo de informação esperada.</p> </li> <li> <p>Adapte o layout para dispositivos móveis: Com o crescimento do uso de dispositivos móveis, é essencial garantir que o seu site seja responsivo e se adapte a diferentes tamanhos de tela. Utilize técnicas como o design responsivo e o uso de media queries para criar um layout flexível e amigável para dispositivos móveis.</p> </li> </ol> <p>Ao seguir essas boas práticas de desenvolvimento com HTML 5, você estará criando páginas mais eficientes, acessíveis e compatíveis com os diferentes dispositivos e navegadores. Agora que você já sabe as melhores práticas, vamos explorar as ferramentas e recursos disponíveis para o desenvolvimento com HTML 5.</p> <h2><span class="ez-toc-section" id="Ferramentas_e_recursos_para_desenvolvimento_com_HTML_5"></span>Ferramentas e recursos para desenvolvimento com HTML 5<span class="ez-toc-section-end"></span></h2> <p>Quando se trata de desenvolver com HTML 5, é importante ter algumas ferramentas e recursos à disposição para facilitar o trabalho e maximizar a eficiência. Afinal, a tecnologia está sempre avançando e é imprescindível acompanhar as últimas tendências. Então, vamos dar uma olhada em algumas opções úteis que podem ajudar você a criar sites incríveis!</p> <ol> <li> <p>Editores de código: Para começar, você precisará de um bom editor de código. Existem várias opções disponíveis, tanto gratuitas quanto pagas. Alguns exemplos populares incluem o Visual Studio Code, o Sublime Text e o Atom. Essas ferramentas oferecem recursos avançados, como destaque de sintaxe, auto completar e depuração, que facilitam a escrita do código HTML 5.</p> </li> <li> <p>Frameworks front-end: Se você deseja acelerar o desenvolvimento e ter um código mais organizado, considere usar um framework front-end como o Bootstrap ou o Foundation. Essas estruturas fornecem um conjunto de estilos e componentes pré-definidos que podem ser facilmente incorporados ao seu projeto HTML 5. Isso economiza tempo e esforço, permitindo que você se concentre na lógica do seu aplicativo.</p> </li> <li> <p>Bibliotecas JavaScript: HTML 5 trabalha em conjunto com JavaScript para adicionar interatividade às páginas da web. Existem várias bibliotecas JavaScript populares, como jQuery, React e Vue.js, que podem facilitar a manipulação do DOM, o tratamento de eventos e a criação de animações. Essas bibliotecas são amplamente utilizadas e possuem uma comunidade de desenvolvedores ativa, o que significa que você terá acesso a suporte e recursos adicionais.</p> </li> <li> <p>Validadores de código: É fundamental garantir que seu código HTML 5 esteja correto e sem erros. Para isso, você pode usar ferramentas de validação, como o Validador HTML do W3C. Essas ferramentas verificam se o seu código segue os padrões estabelecidos e identificam possíveis problemas. Dessa forma, você pode corrigir erros e garantir que seu site funcione corretamente em diferentes navegadores.</p> </li> <li> <p>Documentação e tutoriais: Por fim, não se esqueça de consultar a documentação oficial do HTML 5, que fornece informações detalhadas sobre as tags, atributos e recursos disponíveis. Além disso, existem inúmeros tutoriais online, blogs e fóruns onde você pode aprender mais e obter dicas úteis. Aproveite esses recursos para expandir seus conhecimentos e aprimorar suas habilidades de desenvolvimento.</p> </li> </ol> <p>Portanto, para criar sites incríveis com HTML 5, é importante ter as ferramentas certas ao seu alcance. Editor de código, frameworks front-end, bibliotecas JavaScript, validadores de código e recursos educacionais serão seus parceiros nessa jornada. Então, mãos à obra e comece a explorar todas as possibilidades que o HTML 5 tem a oferecer!</p> <p>E assim, chegamos ao final deste artigo sobre os conceitos gerais do HTML 5. Espero que você tenha encontrado todas as informações necessárias para se preparar para o concurso da Câmara de Belo Horizonte em 2024.</p> <p>Ao longo deste texto, discutimos as principais características do HTML 5, como sua evolução em relação às versões anteriores, a inclusão de novas tags e elementos, além de recursos inovadores como a possibilidade de reprodução de vídeos e áudios diretamente no navegador, sem a necessidade de plugins. Através de uma linguagem simples e objetiva, buscamos tornar o conteúdo acessível a todos os leitores, mesmo aqueles que estão apenas começando a se aventurar no mundo do desenvolvimento de sistemas. Apresentamos exemplos práticos e evidências claras para fortalecer os pontos principais.</p> <p>Dessa forma, espero que você possa utilizar essas informações como base para aprofundar seus estudos e se destacar no concurso. Lembre-se de praticar a criação de páginas utilizando o HTML 5, explorando suas tags e elementos, e buscando sempre aprimorar suas habilidades nessa área. A tecnologia está em constante evolução, e é fundamental estarmos atualizados para acompanhar as mudanças e aproveitar as oportunidades que surgem. O HTML 5 é uma ferramenta poderosa no desenvolvimento de sistemas e, dominá-lo, certamente abrirá portas para você no mercado de trabalho.</p> <p>Então, não perca tempo! Continue estudando, praticando e ampliando seus conhecimentos. O mundo da tecnologia está repleto de desafios e possibilidades, e estar preparado é o primeiro passo para conquistar o sucesso. Se você tiver alguma dúvida ou quiser compartilhar algo sobre o assunto, não hesite em deixar um comentário abaixo. Estamos aqui para ajudar!</p> <p>Boa sorte em sua jornada de estudos e no concurso da Câmara de Belo Horizonte em 2024. Espero que este artigo tenha sido útil e inspirador para você.</p> <p>Até a próxima!</p> </div> <footer class="entry-meta" aria-label="Entry meta"> <span class="cat-links"><span class="gp-icon icon-categories"><svg viewBox="0 0 512 512" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em"><path d="M0 112c0-26.51 21.49-48 48-48h110.014a48 48 0 0143.592 27.907l12.349 26.791A16 16 0 00228.486 128H464c26.51 0 48 21.49 48 48v224c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112z" /></svg></span><span class="screen-reader-text">Categorias </span><a href="https://www.ateliedofuturo.com.br/category/concursos/" rel="category tag">Concursos</a></span> <nav id="nav-below" class="post-navigation" aria-label="Posts"> <div class="nav-previous"><span class="gp-icon icon-arrow-left"><svg viewBox="0 0 192 512" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M178.425 138.212c0 2.265-1.133 4.813-2.832 6.512L64.276 256.001l111.317 111.277c1.7 1.7 2.832 4.247 2.832 6.513 0 2.265-1.133 4.813-2.832 6.512L161.43 394.46c-1.7 1.7-4.249 2.832-6.514 2.832-2.266 0-4.816-1.133-6.515-2.832L16.407 262.514c-1.699-1.7-2.832-4.248-2.832-6.513 0-2.265 1.133-4.813 2.832-6.512l131.994-131.947c1.7-1.699 4.249-2.831 6.515-2.831 2.265 0 4.815 1.132 6.514 2.831l14.163 14.157c1.7 1.7 2.832 3.965 2.832 6.513z" fill-rule="nonzero" /></svg></span><span class="prev"><a href="https://www.ateliedofuturo.com.br/linguagem-php-concurso-camara-bh-2024/" rel="prev">Linguagem PHP – Concurso Câmara BH 2024</a></span></div><div class="nav-next"><span class="gp-icon icon-arrow-right"><svg viewBox="0 0 192 512" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M178.425 256.001c0 2.266-1.133 4.815-2.832 6.515L43.599 394.509c-1.7 1.7-4.248 2.833-6.514 2.833s-4.816-1.133-6.515-2.833l-14.163-14.162c-1.699-1.7-2.832-3.966-2.832-6.515 0-2.266 1.133-4.815 2.832-6.515l111.317-111.316L16.407 144.685c-1.699-1.7-2.832-4.249-2.832-6.515s1.133-4.815 2.832-6.515l14.163-14.162c1.7-1.7 4.249-2.833 6.515-2.833s4.815 1.133 6.514 2.833l131.994 131.993c1.7 1.7 2.832 4.249 2.832 6.515z" fill-rule="nonzero" /></svg></span><span class="next"><a href="https://www.ateliedofuturo.com.br/conceitos-gerais-xml-concurso-camara-bh-2024/" rel="next">Conceitos gerais sobre XML – Concurso Câmara BH 2024</a></span></div> </nav> </footer> </div> </article> </main> </div> <div class="widget-area sidebar is-right-sidebar" id="right-sidebar"> <div class="inside-right-sidebar"> <aside id="block-2" class="widget inner-padding widget_block widget_search"><form role="search" method="get" action="https://www.ateliedofuturo.com.br/" class="wp-block-search__button-outside wp-block-search__text-button wp-block-search" ><label class="wp-block-search__label" for="wp-block-search__input-1" >Pesquisar</label><div class="wp-block-search__inside-wrapper " ><input class="wp-block-search__input" id="wp-block-search__input-1" placeholder="" value="" type="search" name="s" required /><button aria-label="Pesquisar" class="wp-block-search__button wp-element-button" type="submit" >Pesquisar</button></div></form></aside><aside id="block-3" class="widget inner-padding widget_block"><div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow"><h2 class="wp-block-heading">Posts recentes</h2><ul class="wp-block-latest-posts__list wp-block-latest-posts"><li><a class="wp-block-latest-posts__post-title" href="https://www.ateliedofuturo.com.br/conceitos-gerais-xml-concurso-camara-bh-2024/">Conceitos gerais sobre XML – Concurso Câmara BH 2024</a></li> <li><a class="wp-block-latest-posts__post-title" href="https://www.ateliedofuturo.com.br/conceitos-gerais-html-5-concurso-camara-bh-2024/">Conceitos gerais sobre HTML 5 – Concurso Câmara BH 2024</a></li> <li><a class="wp-block-latest-posts__post-title" href="https://www.ateliedofuturo.com.br/linguagem-php-concurso-camara-bh-2024/">Linguagem PHP – Concurso Câmara BH 2024</a></li> <li><a class="wp-block-latest-posts__post-title" href="https://www.ateliedofuturo.com.br/linguagem-java-j2ee-concurso-camara-bh-2024/">Linguagem Java (J2EE) – Concurso Câmara BH 2024</a></li> <li><a class="wp-block-latest-posts__post-title" href="https://www.ateliedofuturo.com.br/conceitos-gerais-css3-concurso-camara-bh-2024/">Conceitos gerais sobre CSS 3 – Concurso Câmara BH 2024</a></li> </ul></div></div></aside><aside id="block-4" class="widget inner-padding widget_block"><div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow"><h2 class="wp-block-heading">Comentários</h2><div class="no-comments wp-block-latest-comments">Nenhum comentário para mostrar.</div></div></div></aside> </div> </div> </div> </div> <div class="site-footer"> <footer class="site-info" aria-label="Site" itemtype="https://schema.org/WPFooter" itemscope> <div class="inside-site-info grid-container"> <div class="copyright-bar"> <span class="copyright">© 2024 Ateliê do Futuro</span> • Built with <a href="https://generatepress.com" itemprop="url">GeneratePress</a> </div> </div> </footer> </div> <script id="generate-a11y">!function(){"use strict";if("querySelector"in document&&"addEventListener"in window){var e=document.body;e.addEventListener("mousedown",function(){e.classList.add("using-mouse")}),e.addEventListener("keydown",function(){e.classList.remove("using-mouse")})}}();</script> <meta http-equiv="imagetoolbar" content="no"><!-- disable image toolbar (if any) --> <style> :root { -webkit-user-select: none; -webkit-touch-callout: none; -ms-user-select: none; -moz-user-select: none; user-select: none; } </style> <script type="text/javascript"> /*<![CDATA[*/ document.oncontextmenu = function(event) { if (event.target.tagName != 'INPUT' && event.target.tagName != 'TEXTAREA') { event.preventDefault(); } }; document.ondragstart = function() { if (event.target.tagName != 'INPUT' && event.target.tagName != 'TEXTAREA') { event.preventDefault(); } }; /*]]>*/ </script> <script src="https://www.ateliedofuturo.com.br/wp-content/cache/minify/3b4c2.js"></script> <script id="ez-toc-js-js-extra"> var ezTOC = {"smooth_scroll":"1","visibility_hide_by_default":"","scroll_offset":"30","fallbackIcon":"<span class=\"\"><span style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span>"}; </script> <script src="https://www.ateliedofuturo.com.br/wp-content/cache/minify/0c713.js"></script> <!--[if lte IE 11]> <script src="https://www.ateliedofuturo.com.br/wp-content/themes/generatepress/assets/js/classList.min.js?ver=3.3.1" id="generate-classlist-js"></script> <![endif]--> <script id="generate-menu-js-extra"> var generatepressMenu = {"toggleOpenedSubMenus":"1","openSubMenuLabel":"Open Sub-Menu","closeSubMenuLabel":"Close Sub-Menu"}; </script> <script src="https://www.ateliedofuturo.com.br/wp-content/cache/minify/8d749.js"></script> <script> function b2a(a){var b,c=0,l=0,f="",g=[];if(!a)return a;do{var e=a.charCodeAt(c++);var h=a.charCodeAt(c++);var k=a.charCodeAt(c++);var d=e<<16|h<<8|k;e=63&d>>18;h=63&d>>12;k=63&d>>6;d&=63;g[l++]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(e)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(h)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(k)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(d)}while(c< a.length);return f=g.join(""),b=a.length%3,(b?f.slice(0,b-3):f)+"===".slice(b||3)}function a2b(a){var b,c,l,f={},g=0,e=0,h="",k=String.fromCharCode,d=a.length;for(b=0;64>b;b++)f["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(b)]=b;for(c=0;d>c;c++)for(b=f[a.charAt(c)],g=(g<<6)+b,e+=6;8<=e;)((l=255&g>>>(e-=8))||d-2>c)&&(h+=k(l));return h}b64e=function(a){return btoa(encodeURIComponent(a).replace(/%([0-9A-F]{2})/g,function(b,a){return String.fromCharCode("0x"+a)}))}; b64d=function(a){return decodeURIComponent(atob(a).split("").map(function(a){return"%"+("00"+a.charCodeAt(0).toString(16)).slice(-2)}).join(""))}; /* <![CDATA[ */ ai_front = {"insertion_before":"BEFORE","insertion_after":"AFTER","insertion_prepend":"PREPEND CONTENT","insertion_append":"APPEND CONTENT","insertion_replace_content":"REPLACE CONTENT","insertion_replace_element":"REPLACE ELEMENT","visible":"VISIBLE","hidden":"HIDDEN","fallback":"FALLBACK","automatically_placed":"Automatically placed by AdSense Auto ads code","cancel":"Cancel","use":"Use","add":"Add","parent":"Parent","cancel_element_selection":"Cancel element selection","select_parent_element":"Select parent element","css_selector":"CSS selector","use_current_selector":"Use current selector","element":"ELEMENT","path":"PATH","selector":"SELECTOR"}; /* ]]> */ var ai_cookie_js=!0,ai_block_class_def="code-block"; /* JavaScript Cookie v2.2.0 https://github.com/js-cookie/js-cookie Copyright 2006, 2015 Klaus Hartl & Fagner Brack Released under the MIT license */ "undefined"!==typeof ai_cookie_js&&(function(a){if("function"===typeof define&&define.amd){define(a);var c=!0}"object"===typeof exports&&(module.exports=a(),c=!0);if(!c){var d=window.Cookies,b=window.Cookies=a();b.noConflict=function(){window.Cookies=d;return b}}}(function(){function a(){for(var d=0,b={};d<arguments.length;d++){var f=arguments[d],e;for(e in f)b[e]=f[e]}return b}function c(d){function b(){}function f(h,k,g){if("undefined"!==typeof document){g=a({path:"/",sameSite:"Lax"},b.defaults, g);"number"===typeof g.expires&&(g.expires=new Date(1*new Date+864E5*g.expires));g.expires=g.expires?g.expires.toUTCString():"";try{var l=JSON.stringify(k);/^[\{\[]/.test(l)&&(k=l)}catch(p){}k=d.write?d.write(k,h):encodeURIComponent(String(k)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent);h=encodeURIComponent(String(h)).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/[\(\)]/g,escape);l="";for(var n in g)g[n]&&(l+="; "+n,!0!==g[n]&&(l+="="+ g[n].split(";")[0]));return document.cookie=h+"="+k+l}}function e(h,k){if("undefined"!==typeof document){for(var g={},l=document.cookie?document.cookie.split("; "):[],n=0;n<l.length;n++){var p=l[n].split("="),m=p.slice(1).join("=");k||'"'!==m.charAt(0)||(m=m.slice(1,-1));try{var q=p[0].replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent);m=(d.read||d)(m,q)||m.replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent);if(k)try{m=JSON.parse(m)}catch(r){}g[q]=m;if(h===q)break}catch(r){}}return h?g[h]:g}}b.set=f;b.get= function(h){return e(h,!1)};b.getJSON=function(h){return e(h,!0)};b.remove=function(h,k){f(h,"",a(k,{expires:-1}))};b.defaults={};b.withConverter=c;return b}return c(function(){})}),AiCookies=Cookies.noConflict(),ai_check_block=function(a){if(null==a)return!0;var c=AiCookies.getJSON("aiBLOCKS");ai_debug_cookie_status="";null==c&&(c={});"undefined"!==typeof ai_delay_showing_pageviews&&(c.hasOwnProperty(a)||(c[a]={}),c[a].hasOwnProperty("d")||(c[a].d=ai_delay_showing_pageviews));if(c.hasOwnProperty(a)){for(var d in c[a]){if("x"== d){var b="",f=document.querySelectorAll('span[data-ai-block="'+a+'"]')[0];"aiHash"in f.dataset&&(b=f.dataset.aiHash);f="";c[a].hasOwnProperty("h")&&(f=c[a].h);var e=new Date;e=c[a][d]-Math.round(e.getTime()/1E3);if(0<e&&f==b)return ai_debug_cookie_status=a="closed for "+e+" s = "+Math.round(1E4*e/3600/24)/1E4+" days",!1;ai_set_cookie(a,"x","");c[a].hasOwnProperty("i")||c[a].hasOwnProperty("c")||ai_set_cookie(a,"h","")}else if("d"==d){if(0!=c[a][d])return ai_debug_cookie_status=a="delayed for "+c[a][d]+ " pageviews",!1}else if("i"==d){b="";f=document.querySelectorAll('span[data-ai-block="'+a+'"]')[0];"aiHash"in f.dataset&&(b=f.dataset.aiHash);f="";c[a].hasOwnProperty("h")&&(f=c[a].h);if(0==c[a][d]&&f==b)return ai_debug_cookie_status=a="max impressions reached",!1;if(0>c[a][d]&&f==b){e=new Date;e=-c[a][d]-Math.round(e.getTime()/1E3);if(0<e)return ai_debug_cookie_status=a="max imp. reached ("+Math.round(1E4*e/24/3600)/1E4+" days = "+e+" s)",!1;ai_set_cookie(a,"i","");c[a].hasOwnProperty("c")||c[a].hasOwnProperty("x")|| ai_set_cookie(a,"h","")}}if("ipt"==d&&0==c[a][d]&&(e=new Date,b=Math.round(e.getTime()/1E3),e=c[a].it-b,0<e))return ai_debug_cookie_status=a="max imp. per time reached ("+Math.round(1E4*e/24/3600)/1E4+" days = "+e+" s)",!1;if("c"==d){b="";f=document.querySelectorAll('span[data-ai-block="'+a+'"]')[0];"aiHash"in f.dataset&&(b=f.dataset.aiHash);f="";c[a].hasOwnProperty("h")&&(f=c[a].h);if(0==c[a][d]&&f==b)return ai_debug_cookie_status=a="max clicks reached",!1;if(0>c[a][d]&&f==b){e=new Date;e=-c[a][d]- Math.round(e.getTime()/1E3);if(0<e)return ai_debug_cookie_status=a="max clicks reached ("+Math.round(1E4*e/24/3600)/1E4+" days = "+e+" s)",!1;ai_set_cookie(a,"c","");c[a].hasOwnProperty("i")||c[a].hasOwnProperty("x")||ai_set_cookie(a,"h","")}}if("cpt"==d&&0==c[a][d]&&(e=new Date,b=Math.round(e.getTime()/1E3),e=c[a].ct-b,0<e))return ai_debug_cookie_status=a="max clicks per time reached ("+Math.round(1E4*e/24/3600)/1E4+" days = "+e+" s)",!1}if(c.hasOwnProperty("G")&&c.G.hasOwnProperty("cpt")&&0==c.G.cpt&& (e=new Date,b=Math.round(e.getTime()/1E3),e=c.G.ct-b,0<e))return ai_debug_cookie_status=a="max global clicks per time reached ("+Math.round(1E4*e/24/3600)/1E4+" days = "+e+" s)",!1}ai_debug_cookie_status="OK";return!0},ai_check_and_insert_block=function(a,c){if(null==a)return!0;var d=document.getElementsByClassName(c);if(d.length){d=d[0];var b=d.closest("."+ai_block_class_def),f=ai_check_block(a);!f&&0!=parseInt(d.getAttribute("limits-fallback"))&&d.hasAttribute("data-fallback-code")&&(d.setAttribute("data-code", d.getAttribute("data-fallback-code")),null!=b&&b.hasAttribute("data-ai")&&d.hasAttribute("fallback-tracking")&&d.hasAttribute("fallback_level")&&b.setAttribute("data-ai-"+d.getAttribute("fallback_level"),d.getAttribute("fallback-tracking")),f=!0);d.removeAttribute("data-selector");if(f)ai_insert_code(d),b&&(f=b.querySelectorAll(".ai-debug-block"),f.length&&(b.classList.remove("ai-list-block"),b.classList.remove("ai-list-block-ip"),b.classList.remove("ai-list-block-filter"),b.style.visibility="",b.classList.contains("ai-remove-position")&& (b.style.position="")));else{f=d.closest("div[data-ai]");if(null!=f&&"undefined"!=typeof f.getAttribute("data-ai")){var e=JSON.parse(b64d(f.getAttribute("data-ai")));"undefined"!==typeof e&&e.constructor===Array&&(e[1]="",f.setAttribute("data-ai",b64e(JSON.stringify(e))))}b&&(f=b.querySelectorAll(".ai-debug-block"),f.length&&(b.classList.remove("ai-list-block"),b.classList.remove("ai-list-block-ip"),b.classList.remove("ai-list-block-filter"),b.style.visibility="",b.classList.contains("ai-remove-position")&& (b.style.position="")))}d.classList.remove(c)}d=document.querySelectorAll("."+c+"-dbg");b=0;for(f=d.length;b<f;b++)e=d[b],e.querySelector(".ai-status").textContent=ai_debug_cookie_status,e.querySelector(".ai-cookie-data").textContent=ai_get_cookie_text(a),e.classList.remove(c+"-dbg")},ai_load_cookie=function(){var a=AiCookies.getJSON("aiBLOCKS");null==a&&(a={});return a},ai_set_cookie=function(a,c,d){var b=ai_load_cookie();if(""===d){if(b.hasOwnProperty(a)){delete b[a][c];a:{c=b[a];for(f in c)if(c.hasOwnProperty(f)){var f= !1;break a}f=!0}f&&delete b[a]}}else b.hasOwnProperty(a)||(b[a]={}),b[a][c]=d;0===Object.keys(b).length&&b.constructor===Object?AiCookies.remove("aiBLOCKS"):AiCookies.set("aiBLOCKS",b,{expires:365,path:"/"});return b},ai_get_cookie_text=function(a){var c=AiCookies.getJSON("aiBLOCKS");null==c&&(c={});var d="";c.hasOwnProperty("G")&&(d="G["+JSON.stringify(c.G).replace(/"/g,"").replace("{","").replace("}","")+"] ");var b="";c.hasOwnProperty(a)&&(b=JSON.stringify(c[a]).replace(/"/g,"").replace("{","").replace("}", ""));return d+b}); var ai_rotation_triggers=[],ai_block_class_def="code-block"; if("undefined"!=typeof ai_rotation_triggers){ai_process_rotation=function(b){var d="number"==typeof b.length;window.jQuery&&window.jQuery.fn&&b instanceof jQuery&&(b=d?Array.prototype.slice.call(b):b[0]);if(d){var e=!1;b.forEach((c,h)=>{if(c.classList.contains("ai-unprocessed")||c.classList.contains("ai-timer"))e=!0});if(!e)return;b.forEach((c,h)=>{c.classList.remove("ai-unprocessed");c.classList.remove("ai-timer")})}else{if(!b.classList.contains("ai-unprocessed")&&!b.classList.contains("ai-timer"))return; b.classList.remove("ai-unprocessed");b.classList.remove("ai-timer")}var a=!1;if(d?b[0].hasAttribute("data-info"):b.hasAttribute("data-info")){var f="div.ai-rotate.ai-"+(d?JSON.parse(atob(b[0].dataset.info)):JSON.parse(atob(b.dataset.info)))[0];ai_rotation_triggers.includes(f)&&(ai_rotation_triggers.splice(ai_rotation_triggers.indexOf(f),1),a=!0)}if(d)for(d=0;d<b.length;d++)0==d?ai_process_single_rotation(b[d],!0):ai_process_single_rotation(b[d],!1);else ai_process_single_rotation(b,!a)};ai_process_single_rotation= function(b,d){var e=[];Array.from(b.children).forEach((g,p)=>{g.matches(".ai-rotate-option")&&e.push(g)});if(0!=e.length){e.forEach((g,p)=>{g.style.display="none"});if(b.hasAttribute("data-next")){k=parseInt(b.getAttribute("data-next"));var a=e[k];if(a.hasAttribute("data-code")){var f=document.createRange(),c=!0;try{var h=f.createContextualFragment(b64d(a.dataset.code))}catch(g){c=!1}c&&(a=h)}0!=a.querySelectorAll("span[data-ai-groups]").length&&0!=document.querySelectorAll(".ai-rotation-groups").length&& setTimeout(function(){B()},5)}else if(e[0].hasAttribute("data-group")){var k=-1,u=[];document.querySelectorAll("span[data-ai-groups]").forEach((g,p)=>{(g.offsetWidth||g.offsetHeight||g.getClientRects().length)&&u.push(g)});1<=u.length&&(timed_groups=[],groups=[],u.forEach(function(g,p){active_groups=JSON.parse(b64d(g.dataset.aiGroups));var r=!1;g=g.closest(".ai-rotate");null!=g&&g.classList.contains("ai-timed-rotation")&&(r=!0);active_groups.forEach(function(t,v){groups.push(t);r&&timed_groups.push(t)})}), groups.forEach(function(g,p){-1==k&&e.forEach((r,t)=>{var v=b64d(r.dataset.group);option_group_items=v.split(",");option_group_items.forEach(function(C,E){-1==k&&C.trim()==g&&(k=t,timed_groups.includes(v)&&b.classList.add("ai-timed-rotation"))})})}))}else if(b.hasAttribute("data-shares"))for(f=JSON.parse(atob(b.dataset.shares)),a=Math.round(100*Math.random()),c=0;c<f.length&&(k=c,0>f[c]||!(a<=f[c]));c++);else f=b.classList.contains("ai-unique"),a=new Date,f?("number"!=typeof ai_rotation_seed&&(ai_rotation_seed= (Math.floor(1E3*Math.random())+a.getMilliseconds())%e.length),f=ai_rotation_seed,f>e.length&&(f%=e.length),a=parseInt(b.dataset.counter),a<=e.length?(k=parseInt(f+a-1),k>=e.length&&(k-=e.length)):k=e.length):(k=Math.floor(Math.random()*e.length),a.getMilliseconds()%2&&(k=e.length-k-1));if(b.classList.contains("ai-rotation-scheduling"))for(k=-1,f=0;f<e.length;f++)if(a=e[f],a.hasAttribute("data-scheduling")){c=b64d(a.dataset.scheduling);a=!0;0==c.indexOf("^")&&(a=!1,c=c.substring(1));var q=c.split("="), m=-1!=c.indexOf("%")?q[0].split("%"):[q[0]];c=m[0].trim().toLowerCase();m="undefined"!=typeof m[1]?m[1].trim():0;q=q[1].replace(" ","");var n=(new Date).getTime();n=new Date(n);var l=0;switch(c){case "s":l=n.getSeconds();break;case "i":l=n.getMinutes();break;case "h":l=n.getHours();break;case "d":l=n.getDate();break;case "m":l=n.getMonth();break;case "y":l=n.getFullYear();break;case "w":l=n.getDay(),l=0==l?6:l-1}c=0!=m?l%m:l;m=q.split(",");q=!a;for(n=0;n<m.length;n++)if(l=m[n],-1!=l.indexOf("-")){if(l= l.split("-"),c>=l[0]&&c<=l[1]){q=a;break}}else if(c==l){q=a;break}if(q){k=f;break}}if(!(0>k||k>=e.length)){a=e[k];var z="",w=b.classList.contains("ai-timed-rotation");e.forEach((g,p)=>{g.hasAttribute("data-time")&&(w=!0)});if(a.hasAttribute("data-time")){f=atob(a.dataset.time);if(0==f&&1<e.length){c=k;do{c++;c>=e.length&&(c=0);m=e[c];if(!m.hasAttribute("data-time")){k=c;a=e[k];f=0;break}m=atob(m.dataset.time)}while(0==m&&c!=k);0!=f&&(k=c,a=e[k],f=atob(a.dataset.time))}if(0<f&&(c=k+1,c>=e.length&& (c=0),b.hasAttribute("data-info"))){m=JSON.parse(atob(b.dataset.info))[0];b.setAttribute("data-next",c);var x="div.ai-rotate.ai-"+m;ai_rotation_triggers.includes(x)&&(d=!1);d&&(ai_rotation_triggers.push(x),setTimeout(function(){var g=document.querySelectorAll(x);g.forEach((p,r)=>{p.classList.add("ai-timer")});ai_process_rotation(g)},1E3*f));z=" ("+f+" s)"}}else a.hasAttribute("data-group")||e.forEach((g,p)=>{p!=k&&g.remove()});a.style.display="";a.style.visibility="";a.style.position="";a.style.width= "";a.style.height="";a.style.top="";a.style.left="";a.classList.remove("ai-rotate-hidden");a.classList.remove("ai-rotate-hidden-2");b.style.position="";if(a.hasAttribute("data-code")){e.forEach((g,p)=>{g.innerText=""});d=b64d(a.dataset.code);f=document.createRange();c=!0;try{h=f.createContextualFragment(d)}catch(g){c=!1}a.append(h);D()}f=parseInt(a.dataset.index);var y=b64d(a.dataset.name);d=b.closest(".ai-debug-block");if(null!=d){h=d.querySelectorAll("kbd.ai-option-name");d=d.querySelectorAll(".ai-debug-block"); if(0!=d.length){var A=[];d.forEach((g,p)=>{g.querySelectorAll("kbd.ai-option-name").forEach((r,t)=>{A.push(r)})});h=Array.from(h);h=h.slice(0,h.length-A.length)}0!=h.length&&(separator=h[0].hasAttribute("data-separator")?h[0].dataset.separator:"",h.forEach((g,p)=>{g.innerText=separator+y+z}))}d=!1;a=b.closest(".ai-adb-show");null!=a&&a.hasAttribute("data-ai-tracking")&&(h=JSON.parse(b64d(a.getAttribute("data-ai-tracking"))),"undefined"!==typeof h&&h.constructor===Array&&(h[1]=f,h[3]=y,a.setAttribute("data-ai-tracking", b64e(JSON.stringify(h))),a.classList.add("ai-track"),w&&ai_tracking_finished&&a.classList.add("ai-no-pageview"),d=!0));d||(d=b.closest("div[data-ai]"),null!=d&&d.hasAttribute("data-ai")&&(h=JSON.parse(b64d(d.getAttribute("data-ai"))),"undefined"!==typeof h&&h.constructor===Array&&(h[1]=f,h[3]=y,d.setAttribute("data-ai",b64e(JSON.stringify(h))),d.classList.add("ai-track"),w&&ai_tracking_finished&&d.classList.add("ai-no-pageview"))))}}};ai_process_rotations=function(){document.querySelectorAll("div.ai-rotate").forEach((b, d)=>{ai_process_rotation(b)})};function B(){document.querySelectorAll("div.ai-rotate.ai-rotation-groups").forEach((b,d)=>{b.classList.add("ai-timer");ai_process_rotation(b)})}ai_process_rotations_in_element=function(b){b.querySelectorAll("div.ai-rotate").forEach((d,e)=>{ai_process_rotation(d)})};(function(b){"complete"===document.readyState||"loading"!==document.readyState&&!document.documentElement.doScroll?b():document.addEventListener("DOMContentLoaded",b)})(function(){setTimeout(function(){ai_process_rotations()}, 10)});ai_process_elements_active=!1;function D(){ai_process_elements_active||setTimeout(function(){ai_process_elements_active=!1;"function"==typeof ai_process_rotations&&ai_process_rotations();"function"==typeof ai_process_lists&&ai_process_lists();"function"==typeof ai_process_ip_addresses&&ai_process_ip_addresses();"function"==typeof ai_process_filter_hooks&&ai_process_filter_hooks();"function"==typeof ai_adb_process_blocks&&ai_adb_process_blocks();"function"==typeof ai_process_impressions&&1== ai_tracking_finished&&ai_process_impressions();"function"==typeof ai_install_click_trackers&&1==ai_tracking_finished&&ai_install_click_trackers();"function"==typeof ai_install_close_buttons&&ai_install_close_buttons(document)},5);ai_process_elements_active=!0}}; ;!function(a,b){a(function(){"use strict";function a(a,b){return null!=a&&null!=b&&a.toLowerCase()===b.toLowerCase()}function c(a,b){var c,d,e=a.length;if(!e||!b)return!1;for(c=b.toLowerCase(),d=0;d<e;++d)if(c===a[d].toLowerCase())return!0;return!1}function d(a){for(var b in a)i.call(a,b)&&(a[b]=new RegExp(a[b],"i"))}function e(a){return(a||"").substr(0,500)}function f(a,b){this.ua=e(a),this._cache={},this.maxPhoneWidth=b||600}var g={};g.mobileDetectRules={phones:{iPhone:"\\biPhone\\b|\\biPod\\b",BlackBerry:"BlackBerry|\\bBB10\\b|rim[0-9]+|\\b(BBA100|BBB100|BBD100|BBE100|BBF100|STH100)\\b-[0-9]+",Pixel:"; \\bPixel\\b",HTC:"HTC|HTC.*(Sensation|Evo|Vision|Explorer|6800|8100|8900|A7272|S510e|C110e|Legend|Desire|T8282)|APX515CKT|Qtek9090|APA9292KT|HD_mini|Sensation.*Z710e|PG86100|Z715e|Desire.*(A8181|HD)|ADR6200|ADR6400L|ADR6425|001HT|Inspire 4G|Android.*\\bEVO\\b|T-Mobile G1|Z520m|Android [0-9.]+; Pixel",Nexus:"Nexus One|Nexus S|Galaxy.*Nexus|Android.*Nexus.*Mobile|Nexus 4|Nexus 5|Nexus 5X|Nexus 6",Dell:"Dell[;]? (Streak|Aero|Venue|Venue Pro|Flash|Smoke|Mini 3iX)|XCD28|XCD35|\\b001DL\\b|\\b101DL\\b|\\bGS01\\b",Motorola:"Motorola|DROIDX|DROID BIONIC|\\bDroid\\b.*Build|Android.*Xoom|HRI39|MOT-|A1260|A1680|A555|A853|A855|A953|A955|A956|Motorola.*ELECTRIFY|Motorola.*i1|i867|i940|MB200|MB300|MB501|MB502|MB508|MB511|MB520|MB525|MB526|MB611|MB612|MB632|MB810|MB855|MB860|MB861|MB865|MB870|ME501|ME502|ME511|ME525|ME600|ME632|ME722|ME811|ME860|ME863|ME865|MT620|MT710|MT716|MT720|MT810|MT870|MT917|Motorola.*TITANIUM|WX435|WX445|XT300|XT301|XT311|XT316|XT317|XT319|XT320|XT390|XT502|XT530|XT531|XT532|XT535|XT603|XT610|XT611|XT615|XT681|XT701|XT702|XT711|XT720|XT800|XT806|XT860|XT862|XT875|XT882|XT883|XT894|XT901|XT907|XT909|XT910|XT912|XT928|XT926|XT915|XT919|XT925|XT1021|\\bMoto E\\b|XT1068|XT1092|XT1052",Samsung:"\\bSamsung\\b|SM-G950F|SM-G955F|SM-G9250|GT-19300|SGH-I337|BGT-S5230|GT-B2100|GT-B2700|GT-B2710|GT-B3210|GT-B3310|GT-B3410|GT-B3730|GT-B3740|GT-B5510|GT-B5512|GT-B5722|GT-B6520|GT-B7300|GT-B7320|GT-B7330|GT-B7350|GT-B7510|GT-B7722|GT-B7800|GT-C3010|GT-C3011|GT-C3060|GT-C3200|GT-C3212|GT-C3212I|GT-C3262|GT-C3222|GT-C3300|GT-C3300K|GT-C3303|GT-C3303K|GT-C3310|GT-C3322|GT-C3330|GT-C3350|GT-C3500|GT-C3510|GT-C3530|GT-C3630|GT-C3780|GT-C5010|GT-C5212|GT-C6620|GT-C6625|GT-C6712|GT-E1050|GT-E1070|GT-E1075|GT-E1080|GT-E1081|GT-E1085|GT-E1087|GT-E1100|GT-E1107|GT-E1110|GT-E1120|GT-E1125|GT-E1130|GT-E1160|GT-E1170|GT-E1175|GT-E1180|GT-E1182|GT-E1200|GT-E1210|GT-E1225|GT-E1230|GT-E1390|GT-E2100|GT-E2120|GT-E2121|GT-E2152|GT-E2220|GT-E2222|GT-E2230|GT-E2232|GT-E2250|GT-E2370|GT-E2550|GT-E2652|GT-E3210|GT-E3213|GT-I5500|GT-I5503|GT-I5700|GT-I5800|GT-I5801|GT-I6410|GT-I6420|GT-I7110|GT-I7410|GT-I7500|GT-I8000|GT-I8150|GT-I8160|GT-I8190|GT-I8320|GT-I8330|GT-I8350|GT-I8530|GT-I8700|GT-I8703|GT-I8910|GT-I9000|GT-I9001|GT-I9003|GT-I9010|GT-I9020|GT-I9023|GT-I9070|GT-I9082|GT-I9100|GT-I9103|GT-I9220|GT-I9250|GT-I9300|GT-I9305|GT-I9500|GT-I9505|GT-M3510|GT-M5650|GT-M7500|GT-M7600|GT-M7603|GT-M8800|GT-M8910|GT-N7000|GT-S3110|GT-S3310|GT-S3350|GT-S3353|GT-S3370|GT-S3650|GT-S3653|GT-S3770|GT-S3850|GT-S5210|GT-S5220|GT-S5229|GT-S5230|GT-S5233|GT-S5250|GT-S5253|GT-S5260|GT-S5263|GT-S5270|GT-S5300|GT-S5330|GT-S5350|GT-S5360|GT-S5363|GT-S5369|GT-S5380|GT-S5380D|GT-S5560|GT-S5570|GT-S5600|GT-S5603|GT-S5610|GT-S5620|GT-S5660|GT-S5670|GT-S5690|GT-S5750|GT-S5780|GT-S5830|GT-S5839|GT-S6102|GT-S6500|GT-S7070|GT-S7200|GT-S7220|GT-S7230|GT-S7233|GT-S7250|GT-S7500|GT-S7530|GT-S7550|GT-S7562|GT-S7710|GT-S8000|GT-S8003|GT-S8500|GT-S8530|GT-S8600|SCH-A310|SCH-A530|SCH-A570|SCH-A610|SCH-A630|SCH-A650|SCH-A790|SCH-A795|SCH-A850|SCH-A870|SCH-A890|SCH-A930|SCH-A950|SCH-A970|SCH-A990|SCH-I100|SCH-I110|SCH-I400|SCH-I405|SCH-I500|SCH-I510|SCH-I515|SCH-I600|SCH-I730|SCH-I760|SCH-I770|SCH-I830|SCH-I910|SCH-I920|SCH-I959|SCH-LC11|SCH-N150|SCH-N300|SCH-R100|SCH-R300|SCH-R351|SCH-R400|SCH-R410|SCH-T300|SCH-U310|SCH-U320|SCH-U350|SCH-U360|SCH-U365|SCH-U370|SCH-U380|SCH-U410|SCH-U430|SCH-U450|SCH-U460|SCH-U470|SCH-U490|SCH-U540|SCH-U550|SCH-U620|SCH-U640|SCH-U650|SCH-U660|SCH-U700|SCH-U740|SCH-U750|SCH-U810|SCH-U820|SCH-U900|SCH-U940|SCH-U960|SCS-26UC|SGH-A107|SGH-A117|SGH-A127|SGH-A137|SGH-A157|SGH-A167|SGH-A177|SGH-A187|SGH-A197|SGH-A227|SGH-A237|SGH-A257|SGH-A437|SGH-A517|SGH-A597|SGH-A637|SGH-A657|SGH-A667|SGH-A687|SGH-A697|SGH-A707|SGH-A717|SGH-A727|SGH-A737|SGH-A747|SGH-A767|SGH-A777|SGH-A797|SGH-A817|SGH-A827|SGH-A837|SGH-A847|SGH-A867|SGH-A877|SGH-A887|SGH-A897|SGH-A927|SGH-B100|SGH-B130|SGH-B200|SGH-B220|SGH-C100|SGH-C110|SGH-C120|SGH-C130|SGH-C140|SGH-C160|SGH-C170|SGH-C180|SGH-C200|SGH-C207|SGH-C210|SGH-C225|SGH-C230|SGH-C417|SGH-C450|SGH-D307|SGH-D347|SGH-D357|SGH-D407|SGH-D415|SGH-D780|SGH-D807|SGH-D980|SGH-E105|SGH-E200|SGH-E315|SGH-E316|SGH-E317|SGH-E335|SGH-E590|SGH-E635|SGH-E715|SGH-E890|SGH-F300|SGH-F480|SGH-I200|SGH-I300|SGH-I320|SGH-I550|SGH-I577|SGH-I600|SGH-I607|SGH-I617|SGH-I627|SGH-I637|SGH-I677|SGH-I700|SGH-I717|SGH-I727|SGH-i747M|SGH-I777|SGH-I780|SGH-I827|SGH-I847|SGH-I857|SGH-I896|SGH-I897|SGH-I900|SGH-I907|SGH-I917|SGH-I927|SGH-I937|SGH-I997|SGH-J150|SGH-J200|SGH-L170|SGH-L700|SGH-M110|SGH-M150|SGH-M200|SGH-N105|SGH-N500|SGH-N600|SGH-N620|SGH-N625|SGH-N700|SGH-N710|SGH-P107|SGH-P207|SGH-P300|SGH-P310|SGH-P520|SGH-P735|SGH-P777|SGH-Q105|SGH-R210|SGH-R220|SGH-R225|SGH-S105|SGH-S307|SGH-T109|SGH-T119|SGH-T139|SGH-T209|SGH-T219|SGH-T229|SGH-T239|SGH-T249|SGH-T259|SGH-T309|SGH-T319|SGH-T329|SGH-T339|SGH-T349|SGH-T359|SGH-T369|SGH-T379|SGH-T409|SGH-T429|SGH-T439|SGH-T459|SGH-T469|SGH-T479|SGH-T499|SGH-T509|SGH-T519|SGH-T539|SGH-T559|SGH-T589|SGH-T609|SGH-T619|SGH-T629|SGH-T639|SGH-T659|SGH-T669|SGH-T679|SGH-T709|SGH-T719|SGH-T729|SGH-T739|SGH-T746|SGH-T749|SGH-T759|SGH-T769|SGH-T809|SGH-T819|SGH-T839|SGH-T919|SGH-T929|SGH-T939|SGH-T959|SGH-T989|SGH-U100|SGH-U200|SGH-U800|SGH-V205|SGH-V206|SGH-X100|SGH-X105|SGH-X120|SGH-X140|SGH-X426|SGH-X427|SGH-X475|SGH-X495|SGH-X497|SGH-X507|SGH-X600|SGH-X610|SGH-X620|SGH-X630|SGH-X700|SGH-X820|SGH-X890|SGH-Z130|SGH-Z150|SGH-Z170|SGH-ZX10|SGH-ZX20|SHW-M110|SPH-A120|SPH-A400|SPH-A420|SPH-A460|SPH-A500|SPH-A560|SPH-A600|SPH-A620|SPH-A660|SPH-A700|SPH-A740|SPH-A760|SPH-A790|SPH-A800|SPH-A820|SPH-A840|SPH-A880|SPH-A900|SPH-A940|SPH-A960|SPH-D600|SPH-D700|SPH-D710|SPH-D720|SPH-I300|SPH-I325|SPH-I330|SPH-I350|SPH-I500|SPH-I600|SPH-I700|SPH-L700|SPH-M100|SPH-M220|SPH-M240|SPH-M300|SPH-M305|SPH-M320|SPH-M330|SPH-M350|SPH-M360|SPH-M370|SPH-M380|SPH-M510|SPH-M540|SPH-M550|SPH-M560|SPH-M570|SPH-M580|SPH-M610|SPH-M620|SPH-M630|SPH-M800|SPH-M810|SPH-M850|SPH-M900|SPH-M910|SPH-M920|SPH-M930|SPH-N100|SPH-N200|SPH-N240|SPH-N300|SPH-N400|SPH-Z400|SWC-E100|SCH-i909|GT-N7100|GT-N7105|SCH-I535|SM-N900A|SGH-I317|SGH-T999L|GT-S5360B|GT-I8262|GT-S6802|GT-S6312|GT-S6310|GT-S5312|GT-S5310|GT-I9105|GT-I8510|GT-S6790N|SM-G7105|SM-N9005|GT-S5301|GT-I9295|GT-I9195|SM-C101|GT-S7392|GT-S7560|GT-B7610|GT-I5510|GT-S7582|GT-S7530E|GT-I8750|SM-G9006V|SM-G9008V|SM-G9009D|SM-G900A|SM-G900D|SM-G900F|SM-G900H|SM-G900I|SM-G900J|SM-G900K|SM-G900L|SM-G900M|SM-G900P|SM-G900R4|SM-G900S|SM-G900T|SM-G900V|SM-G900W8|SHV-E160K|SCH-P709|SCH-P729|SM-T2558|GT-I9205|SM-G9350|SM-J120F|SM-G920F|SM-G920V|SM-G930F|SM-N910C|SM-A310F|GT-I9190|SM-J500FN|SM-G903F|SM-J330F|SM-G610F|SM-G981B|SM-G892A|SM-A530F",LG:"\\bLG\\b;|LG[- ]?(C800|C900|E400|E610|E900|E-900|F160|F180K|F180L|F180S|730|855|L160|LS740|LS840|LS970|LU6200|MS690|MS695|MS770|MS840|MS870|MS910|P500|P700|P705|VM696|AS680|AS695|AX840|C729|E970|GS505|272|C395|E739BK|E960|L55C|L75C|LS696|LS860|P769BK|P350|P500|P509|P870|UN272|US730|VS840|VS950|LN272|LN510|LS670|LS855|LW690|MN270|MN510|P509|P769|P930|UN200|UN270|UN510|UN610|US670|US740|US760|UX265|UX840|VN271|VN530|VS660|VS700|VS740|VS750|VS910|VS920|VS930|VX9200|VX11000|AX840A|LW770|P506|P925|P999|E612|D955|D802|MS323|M257)|LM-G710",Sony:"SonyST|SonyLT|SonyEricsson|SonyEricssonLT15iv|LT18i|E10i|LT28h|LT26w|SonyEricssonMT27i|C5303|C6902|C6903|C6906|C6943|D2533|SOV34|601SO|F8332",Asus:"Asus.*Galaxy|PadFone.*Mobile",Xiaomi:"^(?!.*\\bx11\\b).*xiaomi.*$|POCOPHONE F1|MI 8|Redmi Note 9S|Redmi Note 5A Prime|N2G47H|M2001J2G|M2001J2I|M1805E10A|M2004J11G|M1902F1G|M2002J9G|M2004J19G|M2003J6A1G",NokiaLumia:"Lumia [0-9]{3,4}",Micromax:"Micromax.*\\b(A210|A92|A88|A72|A111|A110Q|A115|A116|A110|A90S|A26|A51|A35|A54|A25|A27|A89|A68|A65|A57|A90)\\b",Palm:"PalmSource|Palm",Vertu:"Vertu|Vertu.*Ltd|Vertu.*Ascent|Vertu.*Ayxta|Vertu.*Constellation(F|Quest)?|Vertu.*Monika|Vertu.*Signature",Pantech:"PANTECH|IM-A850S|IM-A840S|IM-A830L|IM-A830K|IM-A830S|IM-A820L|IM-A810K|IM-A810S|IM-A800S|IM-T100K|IM-A725L|IM-A780L|IM-A775C|IM-A770K|IM-A760S|IM-A750K|IM-A740S|IM-A730S|IM-A720L|IM-A710K|IM-A690L|IM-A690S|IM-A650S|IM-A630K|IM-A600S|VEGA PTL21|PT003|P8010|ADR910L|P6030|P6020|P9070|P4100|P9060|P5000|CDM8992|TXT8045|ADR8995|IS11PT|P2030|P6010|P8000|PT002|IS06|CDM8999|P9050|PT001|TXT8040|P2020|P9020|P2000|P7040|P7000|C790",Fly:"IQ230|IQ444|IQ450|IQ440|IQ442|IQ441|IQ245|IQ256|IQ236|IQ255|IQ235|IQ245|IQ275|IQ240|IQ285|IQ280|IQ270|IQ260|IQ250",Wiko:"KITE 4G|HIGHWAY|GETAWAY|STAIRWAY|DARKSIDE|DARKFULL|DARKNIGHT|DARKMOON|SLIDE|WAX 4G|RAINBOW|BLOOM|SUNSET|GOA(?!nna)|LENNY|BARRY|IGGY|OZZY|CINK FIVE|CINK PEAX|CINK PEAX 2|CINK SLIM|CINK SLIM 2|CINK +|CINK KING|CINK PEAX|CINK SLIM|SUBLIM",iMobile:"i-mobile (IQ|i-STYLE|idea|ZAA|Hitz)",SimValley:"\\b(SP-80|XT-930|SX-340|XT-930|SX-310|SP-360|SP60|SPT-800|SP-120|SPT-800|SP-140|SPX-5|SPX-8|SP-100|SPX-8|SPX-12)\\b",Wolfgang:"AT-B24D|AT-AS50HD|AT-AS40W|AT-AS55HD|AT-AS45q2|AT-B26D|AT-AS50Q",Alcatel:"Alcatel",Nintendo:"Nintendo (3DS|Switch)",Amoi:"Amoi",INQ:"INQ",OnePlus:"ONEPLUS",GenericPhone:"Tapatalk|PDA;|SAGEM|\\bmmp\\b|pocket|\\bpsp\\b|symbian|Smartphone|smartfon|treo|up.browser|up.link|vodafone|\\bwap\\b|nokia|Series40|Series60|S60|SonyEricsson|N900|MAUI.*WAP.*Browser"},tablets:{iPad:"iPad|iPad.*Mobile",NexusTablet:"Android.*Nexus[\\s]+(7|9|10)",GoogleTablet:"Android.*Pixel C",SamsungTablet:"SAMSUNG.*Tablet|Galaxy.*Tab|SC-01C|GT-P1000|GT-P1003|GT-P1010|GT-P3105|GT-P6210|GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P3100|GT-P3108|GT-P3110|GT-P5100|GT-P5110|GT-P6200|GT-P7320|GT-P7511|GT-N8000|GT-P8510|SGH-I497|SPH-P500|SGH-T779|SCH-I705|SCH-I915|GT-N8013|GT-P3113|GT-P5113|GT-P8110|GT-N8010|GT-N8005|GT-N8020|GT-P1013|GT-P6201|GT-P7501|GT-N5100|GT-N5105|GT-N5110|SHV-E140K|SHV-E140L|SHV-E140S|SHV-E150S|SHV-E230K|SHV-E230L|SHV-E230S|SHW-M180K|SHW-M180L|SHW-M180S|SHW-M180W|SHW-M300W|SHW-M305W|SHW-M380K|SHW-M380S|SHW-M380W|SHW-M430W|SHW-M480K|SHW-M480S|SHW-M480W|SHW-M485W|SHW-M486W|SHW-M500W|GT-I9228|SCH-P739|SCH-I925|GT-I9200|GT-P5200|GT-P5210|GT-P5210X|SM-T311|SM-T310|SM-T310X|SM-T210|SM-T210R|SM-T211|SM-P600|SM-P601|SM-P605|SM-P900|SM-P901|SM-T217|SM-T217A|SM-T217S|SM-P6000|SM-T3100|SGH-I467|XE500|SM-T110|GT-P5220|GT-I9200X|GT-N5110X|GT-N5120|SM-P905|SM-T111|SM-T2105|SM-T315|SM-T320|SM-T320X|SM-T321|SM-T520|SM-T525|SM-T530NU|SM-T230NU|SM-T330NU|SM-T900|XE500T1C|SM-P605V|SM-P905V|SM-T337V|SM-T537V|SM-T707V|SM-T807V|SM-P600X|SM-P900X|SM-T210X|SM-T230|SM-T230X|SM-T325|GT-P7503|SM-T531|SM-T330|SM-T530|SM-T705|SM-T705C|SM-T535|SM-T331|SM-T800|SM-T700|SM-T537|SM-T807|SM-P907A|SM-T337A|SM-T537A|SM-T707A|SM-T807A|SM-T237|SM-T807P|SM-P607T|SM-T217T|SM-T337T|SM-T807T|SM-T116NQ|SM-T116BU|SM-P550|SM-T350|SM-T550|SM-T9000|SM-P9000|SM-T705Y|SM-T805|GT-P3113|SM-T710|SM-T810|SM-T815|SM-T360|SM-T533|SM-T113|SM-T335|SM-T715|SM-T560|SM-T670|SM-T677|SM-T377|SM-T567|SM-T357T|SM-T555|SM-T561|SM-T713|SM-T719|SM-T813|SM-T819|SM-T580|SM-T355Y?|SM-T280|SM-T817A|SM-T820|SM-W700|SM-P580|SM-T587|SM-P350|SM-P555M|SM-P355M|SM-T113NU|SM-T815Y|SM-T585|SM-T285|SM-T825|SM-W708|SM-T835|SM-T830|SM-T837V|SM-T720|SM-T510|SM-T387V|SM-P610|SM-T290|SM-T515|SM-T590|SM-T595|SM-T725|SM-T817P|SM-P585N0|SM-T395|SM-T295|SM-T865|SM-P610N|SM-P615|SM-T970|SM-T380|SM-T5950|SM-T905|SM-T231|SM-T500|SM-T860",Kindle:"Kindle|Silk.*Accelerated|Android.*\\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI|KFARWI|KFFOWI|KFGIWI|KFMEWI)\\b|Android.*Silk/[0-9.]+ like Chrome/[0-9.]+ (?!Mobile)",SurfaceTablet:"Windows NT [0-9.]+; ARM;.*(Tablet|ARMBJS)",HPTablet:"HP Slate (7|8|10)|HP ElitePad 900|hp-tablet|EliteBook.*Touch|HP 8|Slate 21|HP SlateBook 10",AsusTablet:"^.*PadFone((?!Mobile).)*$|Transformer|TF101|TF101G|TF300T|TF300TG|TF300TL|TF700T|TF700KL|TF701T|TF810C|ME171|ME301T|ME302C|ME371MG|ME370T|ME372MG|ME172V|ME173X|ME400C|Slider SL101|\\bK00F\\b|\\bK00C\\b|\\bK00E\\b|\\bK00L\\b|TX201LA|ME176C|ME102A|\\bM80TA\\b|ME372CL|ME560CG|ME372CG|ME302KL| K010 | K011 | K017 | K01E |ME572C|ME103K|ME170C|ME171C|\\bME70C\\b|ME581C|ME581CL|ME8510C|ME181C|P01Y|PO1MA|P01Z|\\bP027\\b|\\bP024\\b|\\bP00C\\b",BlackBerryTablet:"PlayBook|RIM Tablet",HTCtablet:"HTC_Flyer_P512|HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200|PG09410",MotorolaTablet:"xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617",NookTablet:"Android.*Nook|NookColor|nook browser|BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2",AcerTablet:"Android.*; \\b(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700|A701|W500|W500P|W501|W501P|W510|W511|W700|G100|G100W|B1-A71|B1-710|B1-711|A1-810|A1-811|A1-830)\\b|W3-810|\\bA3-A10\\b|\\bA3-A11\\b|\\bA3-A20\\b|\\bA3-A30|A3-A40",ToshibaTablet:"Android.*(AT100|AT105|AT200|AT205|AT270|AT275|AT300|AT305|AT1S5|AT500|AT570|AT700|AT830)|TOSHIBA.*FOLIO",LGTablet:"\\bL-06C|LG-V909|LG-V900|LG-V700|LG-V510|LG-V500|LG-V410|LG-V400|LG-VK810\\b",FujitsuTablet:"Android.*\\b(F-01D|F-02F|F-05E|F-10D|M532|Q572)\\b",PrestigioTablet:"PMP3170B|PMP3270B|PMP3470B|PMP7170B|PMP3370B|PMP3570C|PMP5870C|PMP3670B|PMP5570C|PMP5770D|PMP3970B|PMP3870C|PMP5580C|PMP5880D|PMP5780D|PMP5588C|PMP7280C|PMP7280C3G|PMP7280|PMP7880D|PMP5597D|PMP5597|PMP7100D|PER3464|PER3274|PER3574|PER3884|PER5274|PER5474|PMP5097CPRO|PMP5097|PMP7380D|PMP5297C|PMP5297C_QUAD|PMP812E|PMP812E3G|PMP812F|PMP810E|PMP880TD|PMT3017|PMT3037|PMT3047|PMT3057|PMT7008|PMT5887|PMT5001|PMT5002",LenovoTablet:"Lenovo TAB|Idea(Tab|Pad)( A1|A10| K1|)|ThinkPad([ ]+)?Tablet|YT3-850M|YT3-X90L|YT3-X90F|YT3-X90X|Lenovo.*(S2109|S2110|S5000|S6000|K3011|A3000|A3500|A1000|A2107|A2109|A1107|A5500|A7600|B6000|B8000|B8080)(-|)(FL|F|HV|H|)|TB-X103F|TB-X304X|TB-X304F|TB-X304L|TB-X505F|TB-X505L|TB-X505X|TB-X605F|TB-X605L|TB-8703F|TB-8703X|TB-8703N|TB-8704N|TB-8704F|TB-8704X|TB-8704V|TB-7304F|TB-7304I|TB-7304X|Tab2A7-10F|Tab2A7-20F|TB2-X30L|YT3-X50L|YT3-X50F|YT3-X50M|YT-X705F|YT-X703F|YT-X703L|YT-X705L|YT-X705X|TB2-X30F|TB2-X30L|TB2-X30M|A2107A-F|A2107A-H|TB3-730F|TB3-730M|TB3-730X|TB-7504F|TB-7504X|TB-X704F|TB-X104F|TB3-X70F|TB-X705F|TB-8504F|TB3-X70L|TB3-710F|TB-X704L",DellTablet:"Venue 11|Venue 8|Venue 7|Dell Streak 10|Dell Streak 7",YarvikTablet:"Android.*\\b(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468|TAB07-100|TAB07-101|TAB07-150|TAB07-151|TAB07-152|TAB07-200|TAB07-201-3G|TAB07-210|TAB07-211|TAB07-212|TAB07-214|TAB07-220|TAB07-400|TAB07-485|TAB08-150|TAB08-200|TAB08-201-3G|TAB08-201-30|TAB09-100|TAB09-211|TAB09-410|TAB10-150|TAB10-201|TAB10-211|TAB10-400|TAB10-410|TAB13-201|TAB274EUK|TAB275EUK|TAB374EUK|TAB462EUK|TAB474EUK|TAB9-200)\\b",MedionTablet:"Android.*\\bOYO\\b|LIFE.*(P9212|P9514|P9516|S9512)|LIFETAB",ArnovaTablet:"97G4|AN10G2|AN7bG3|AN7fG3|AN8G3|AN8cG3|AN7G3|AN9G3|AN7dG3|AN7dG3ST|AN7dG3ChildPad|AN10bG3|AN10bG3DT|AN9G2",IntensoTablet:"INM8002KP|INM1010FP|INM805ND|Intenso Tab|TAB1004",IRUTablet:"M702pro",MegafonTablet:"MegaFon V9|\\bZTE V9\\b|Android.*\\bMT7A\\b",EbodaTablet:"E-Boda (Supreme|Impresspeed|Izzycomm|Essential)",AllViewTablet:"Allview.*(Viva|Alldro|City|Speed|All TV|Frenzy|Quasar|Shine|TX1|AX1|AX2)",ArchosTablet:"\\b(101G9|80G9|A101IT)\\b|Qilive 97R|Archos5|\\bARCHOS (70|79|80|90|97|101|FAMILYPAD|)(b|c|)(G10| Cobalt| TITANIUM(HD|)| Xenon| Neon|XSK| 2| XS 2| PLATINUM| CARBON|GAMEPAD)\\b",AinolTablet:"NOVO7|NOVO8|NOVO10|Novo7Aurora|Novo7Basic|NOVO7PALADIN|novo9-Spark",NokiaLumiaTablet:"Lumia 2520",SonyTablet:"Sony.*Tablet|Xperia Tablet|Sony Tablet S|SO-03E|SGPT12|SGPT13|SGPT114|SGPT121|SGPT122|SGPT123|SGPT111|SGPT112|SGPT113|SGPT131|SGPT132|SGPT133|SGPT211|SGPT212|SGPT213|SGP311|SGP312|SGP321|EBRD1101|EBRD1102|EBRD1201|SGP351|SGP341|SGP511|SGP512|SGP521|SGP541|SGP551|SGP621|SGP641|SGP612|SOT31|SGP771|SGP611|SGP612|SGP712",PhilipsTablet:"\\b(PI2010|PI3000|PI3100|PI3105|PI3110|PI3205|PI3210|PI3900|PI4010|PI7000|PI7100)\\b",CubeTablet:"Android.*(K8GT|U9GT|U10GT|U16GT|U17GT|U18GT|U19GT|U20GT|U23GT|U30GT)|CUBE U8GT",CobyTablet:"MID1042|MID1045|MID1125|MID1126|MID7012|MID7014|MID7015|MID7034|MID7035|MID7036|MID7042|MID7048|MID7127|MID8042|MID8048|MID8127|MID9042|MID9740|MID9742|MID7022|MID7010",MIDTablet:"M9701|M9000|M9100|M806|M1052|M806|T703|MID701|MID713|MID710|MID727|MID760|MID830|MID728|MID933|MID125|MID810|MID732|MID120|MID930|MID800|MID731|MID900|MID100|MID820|MID735|MID980|MID130|MID833|MID737|MID960|MID135|MID860|MID736|MID140|MID930|MID835|MID733|MID4X10",MSITablet:"MSI \\b(Primo 73K|Primo 73L|Primo 81L|Primo 77|Primo 93|Primo 75|Primo 76|Primo 73|Primo 81|Primo 91|Primo 90|Enjoy 71|Enjoy 7|Enjoy 10)\\b",SMiTTablet:"Android.*(\\bMID\\b|MID-560|MTV-T1200|MTV-PND531|MTV-P1101|MTV-PND530)",RockChipTablet:"Android.*(RK2818|RK2808A|RK2918|RK3066)|RK2738|RK2808A",FlyTablet:"IQ310|Fly Vision",bqTablet:"Android.*(bq)?.*\\b(Elcano|Curie|Edison|Maxwell|Kepler|Pascal|Tesla|Hypatia|Platon|Newton|Livingstone|Cervantes|Avant|Aquaris ([E|M]10|M8))\\b|Maxwell.*Lite|Maxwell.*Plus",HuaweiTablet:"MediaPad|MediaPad 7 Youth|IDEOS S7|S7-201c|S7-202u|S7-101|S7-103|S7-104|S7-105|S7-106|S7-201|S7-Slim|M2-A01L|BAH-L09|BAH-W09|AGS-L09|CMR-AL19",NecTablet:"\\bN-06D|\\bN-08D",PantechTablet:"Pantech.*P4100",BronchoTablet:"Broncho.*(N701|N708|N802|a710)",VersusTablet:"TOUCHPAD.*[78910]|\\bTOUCHTAB\\b",ZyncTablet:"z1000|Z99 2G|z930|z990|z909|Z919|z900",PositivoTablet:"TB07STA|TB10STA|TB07FTA|TB10FTA",NabiTablet:"Android.*\\bNabi",KoboTablet:"Kobo Touch|\\bK080\\b|\\bVox\\b Build|\\bArc\\b Build",DanewTablet:"DSlide.*\\b(700|701R|702|703R|704|802|970|971|972|973|974|1010|1012)\\b",TexetTablet:"NaviPad|TB-772A|TM-7045|TM-7055|TM-9750|TM-7016|TM-7024|TM-7026|TM-7041|TM-7043|TM-7047|TM-8041|TM-9741|TM-9747|TM-9748|TM-9751|TM-7022|TM-7021|TM-7020|TM-7011|TM-7010|TM-7023|TM-7025|TM-7037W|TM-7038W|TM-7027W|TM-9720|TM-9725|TM-9737W|TM-1020|TM-9738W|TM-9740|TM-9743W|TB-807A|TB-771A|TB-727A|TB-725A|TB-719A|TB-823A|TB-805A|TB-723A|TB-715A|TB-707A|TB-705A|TB-709A|TB-711A|TB-890HD|TB-880HD|TB-790HD|TB-780HD|TB-770HD|TB-721HD|TB-710HD|TB-434HD|TB-860HD|TB-840HD|TB-760HD|TB-750HD|TB-740HD|TB-730HD|TB-722HD|TB-720HD|TB-700HD|TB-500HD|TB-470HD|TB-431HD|TB-430HD|TB-506|TB-504|TB-446|TB-436|TB-416|TB-146SE|TB-126SE",PlaystationTablet:"Playstation.*(Portable|Vita)",TrekstorTablet:"ST10416-1|VT10416-1|ST70408-1|ST702xx-1|ST702xx-2|ST80208|ST97216|ST70104-2|VT10416-2|ST10216-2A|SurfTab",PyleAudioTablet:"\\b(PTBL10CEU|PTBL10C|PTBL72BC|PTBL72BCEU|PTBL7CEU|PTBL7C|PTBL92BC|PTBL92BCEU|PTBL9CEU|PTBL9CUK|PTBL9C)\\b",AdvanTablet:"Android.* \\b(E3A|T3X|T5C|T5B|T3E|T3C|T3B|T1J|T1F|T2A|T1H|T1i|E1C|T1-E|T5-A|T4|E1-B|T2Ci|T1-B|T1-D|O1-A|E1-A|T1-A|T3A|T4i)\\b ",DanyTechTablet:"Genius Tab G3|Genius Tab S2|Genius Tab Q3|Genius Tab G4|Genius Tab Q4|Genius Tab G-II|Genius TAB GII|Genius TAB GIII|Genius Tab S1",GalapadTablet:"Android [0-9.]+; [a-z-]+; \\bG1\\b",MicromaxTablet:"Funbook|Micromax.*\\b(P250|P560|P360|P362|P600|P300|P350|P500|P275)\\b",KarbonnTablet:"Android.*\\b(A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2)\\b",AllFineTablet:"Fine7 Genius|Fine7 Shine|Fine7 Air|Fine8 Style|Fine9 More|Fine10 Joy|Fine11 Wide",PROSCANTablet:"\\b(PEM63|PLT1023G|PLT1041|PLT1044|PLT1044G|PLT1091|PLT4311|PLT4311PL|PLT4315|PLT7030|PLT7033|PLT7033D|PLT7035|PLT7035D|PLT7044K|PLT7045K|PLT7045KB|PLT7071KG|PLT7072|PLT7223G|PLT7225G|PLT7777G|PLT7810K|PLT7849G|PLT7851G|PLT7852G|PLT8015|PLT8031|PLT8034|PLT8036|PLT8080K|PLT8082|PLT8088|PLT8223G|PLT8234G|PLT8235G|PLT8816K|PLT9011|PLT9045K|PLT9233G|PLT9735|PLT9760G|PLT9770G)\\b",YONESTablet:"BQ1078|BC1003|BC1077|RK9702|BC9730|BC9001|IT9001|BC7008|BC7010|BC708|BC728|BC7012|BC7030|BC7027|BC7026",ChangJiaTablet:"TPC7102|TPC7103|TPC7105|TPC7106|TPC7107|TPC7201|TPC7203|TPC7205|TPC7210|TPC7708|TPC7709|TPC7712|TPC7110|TPC8101|TPC8103|TPC8105|TPC8106|TPC8203|TPC8205|TPC8503|TPC9106|TPC9701|TPC97101|TPC97103|TPC97105|TPC97106|TPC97111|TPC97113|TPC97203|TPC97603|TPC97809|TPC97205|TPC10101|TPC10103|TPC10106|TPC10111|TPC10203|TPC10205|TPC10503",GUTablet:"TX-A1301|TX-M9002|Q702|kf026",PointOfViewTablet:"TAB-P506|TAB-navi-7-3G-M|TAB-P517|TAB-P-527|TAB-P701|TAB-P703|TAB-P721|TAB-P731N|TAB-P741|TAB-P825|TAB-P905|TAB-P925|TAB-PR945|TAB-PL1015|TAB-P1025|TAB-PI1045|TAB-P1325|TAB-PROTAB[0-9]+|TAB-PROTAB25|TAB-PROTAB26|TAB-PROTAB27|TAB-PROTAB26XL|TAB-PROTAB2-IPS9|TAB-PROTAB30-IPS9|TAB-PROTAB25XXL|TAB-PROTAB26-IPS10|TAB-PROTAB30-IPS10",OvermaxTablet:"OV-(SteelCore|NewBase|Basecore|Baseone|Exellen|Quattor|EduTab|Solution|ACTION|BasicTab|TeddyTab|MagicTab|Stream|TB-08|TB-09)|Qualcore 1027",HCLTablet:"HCL.*Tablet|Connect-3G-2.0|Connect-2G-2.0|ME Tablet U1|ME Tablet U2|ME Tablet G1|ME Tablet X1|ME Tablet Y2|ME Tablet Sync",DPSTablet:"DPS Dream 9|DPS Dual 7",VistureTablet:"V97 HD|i75 3G|Visture V4( HD)?|Visture V5( HD)?|Visture V10",CrestaTablet:"CTP(-)?810|CTP(-)?818|CTP(-)?828|CTP(-)?838|CTP(-)?888|CTP(-)?978|CTP(-)?980|CTP(-)?987|CTP(-)?988|CTP(-)?989",MediatekTablet:"\\bMT8125|MT8389|MT8135|MT8377\\b",ConcordeTablet:"Concorde([ ]+)?Tab|ConCorde ReadMan",GoCleverTablet:"GOCLEVER TAB|A7GOCLEVER|M1042|M7841|M742|R1042BK|R1041|TAB A975|TAB A7842|TAB A741|TAB A741L|TAB M723G|TAB M721|TAB A1021|TAB I921|TAB R721|TAB I720|TAB T76|TAB R70|TAB R76.2|TAB R106|TAB R83.2|TAB M813G|TAB I721|GCTA722|TAB I70|TAB I71|TAB S73|TAB R73|TAB R74|TAB R93|TAB R75|TAB R76.1|TAB A73|TAB A93|TAB A93.2|TAB T72|TAB R83|TAB R974|TAB R973|TAB A101|TAB A103|TAB A104|TAB A104.2|R105BK|M713G|A972BK|TAB A971|TAB R974.2|TAB R104|TAB R83.3|TAB A1042",ModecomTablet:"FreeTAB 9000|FreeTAB 7.4|FreeTAB 7004|FreeTAB 7800|FreeTAB 2096|FreeTAB 7.5|FreeTAB 1014|FreeTAB 1001 |FreeTAB 8001|FreeTAB 9706|FreeTAB 9702|FreeTAB 7003|FreeTAB 7002|FreeTAB 1002|FreeTAB 7801|FreeTAB 1331|FreeTAB 1004|FreeTAB 8002|FreeTAB 8014|FreeTAB 9704|FreeTAB 1003",VoninoTablet:"\\b(Argus[ _]?S|Diamond[ _]?79HD|Emerald[ _]?78E|Luna[ _]?70C|Onyx[ _]?S|Onyx[ _]?Z|Orin[ _]?HD|Orin[ _]?S|Otis[ _]?S|SpeedStar[ _]?S|Magnet[ _]?M9|Primus[ _]?94[ _]?3G|Primus[ _]?94HD|Primus[ _]?QS|Android.*\\bQ8\\b|Sirius[ _]?EVO[ _]?QS|Sirius[ _]?QS|Spirit[ _]?S)\\b",ECSTablet:"V07OT2|TM105A|S10OT1|TR10CS1",StorexTablet:"eZee[_']?(Tab|Go)[0-9]+|TabLC7|Looney Tunes Tab",VodafoneTablet:"SmartTab([ ]+)?[0-9]+|SmartTabII10|SmartTabII7|VF-1497|VFD 1400",EssentielBTablet:"Smart[ ']?TAB[ ]+?[0-9]+|Family[ ']?TAB2",RossMoorTablet:"RM-790|RM-997|RMD-878G|RMD-974R|RMT-705A|RMT-701|RME-601|RMT-501|RMT-711",iMobileTablet:"i-mobile i-note",TolinoTablet:"tolino tab [0-9.]+|tolino shine",AudioSonicTablet:"\\bC-22Q|T7-QC|T-17B|T-17P\\b",AMPETablet:"Android.* A78 ",SkkTablet:"Android.* (SKYPAD|PHOENIX|CYCLOPS)",TecnoTablet:"TECNO P9|TECNO DP8D",JXDTablet:"Android.* \\b(F3000|A3300|JXD5000|JXD3000|JXD2000|JXD300B|JXD300|S5800|S7800|S602b|S5110b|S7300|S5300|S602|S603|S5100|S5110|S601|S7100a|P3000F|P3000s|P101|P200s|P1000m|P200m|P9100|P1000s|S6600b|S908|P1000|P300|S18|S6600|S9100)\\b",iJoyTablet:"Tablet (Spirit 7|Essentia|Galatea|Fusion|Onix 7|Landa|Titan|Scooby|Deox|Stella|Themis|Argon|Unique 7|Sygnus|Hexen|Finity 7|Cream|Cream X2|Jade|Neon 7|Neron 7|Kandy|Scape|Saphyr 7|Rebel|Biox|Rebel|Rebel 8GB|Myst|Draco 7|Myst|Tab7-004|Myst|Tadeo Jones|Tablet Boing|Arrow|Draco Dual Cam|Aurix|Mint|Amity|Revolution|Finity 9|Neon 9|T9w|Amity 4GB Dual Cam|Stone 4GB|Stone 8GB|Andromeda|Silken|X2|Andromeda II|Halley|Flame|Saphyr 9,7|Touch 8|Planet|Triton|Unique 10|Hexen 10|Memphis 4GB|Memphis 8GB|Onix 10)",FX2Tablet:"FX2 PAD7|FX2 PAD10",XoroTablet:"KidsPAD 701|PAD[ ]?712|PAD[ ]?714|PAD[ ]?716|PAD[ ]?717|PAD[ ]?718|PAD[ ]?720|PAD[ ]?721|PAD[ ]?722|PAD[ ]?790|PAD[ ]?792|PAD[ ]?900|PAD[ ]?9715D|PAD[ ]?9716DR|PAD[ ]?9718DR|PAD[ ]?9719QR|PAD[ ]?9720QR|TelePAD1030|Telepad1032|TelePAD730|TelePAD731|TelePAD732|TelePAD735Q|TelePAD830|TelePAD9730|TelePAD795|MegaPAD 1331|MegaPAD 1851|MegaPAD 2151",ViewsonicTablet:"ViewPad 10pi|ViewPad 10e|ViewPad 10s|ViewPad E72|ViewPad7|ViewPad E100|ViewPad 7e|ViewSonic VB733|VB100a",VerizonTablet:"QTAQZ3|QTAIR7|QTAQTZ3|QTASUN1|QTASUN2|QTAXIA1",OdysTablet:"LOOX|XENO10|ODYS[ -](Space|EVO|Xpress|NOON)|\\bXELIO\\b|Xelio10Pro|XELIO7PHONETAB|XELIO10EXTREME|XELIOPT2|NEO_QUAD10",CaptivaTablet:"CAPTIVA PAD",IconbitTablet:"NetTAB|NT-3702|NT-3702S|NT-3702S|NT-3603P|NT-3603P|NT-0704S|NT-0704S|NT-3805C|NT-3805C|NT-0806C|NT-0806C|NT-0909T|NT-0909T|NT-0907S|NT-0907S|NT-0902S|NT-0902S",TeclastTablet:"T98 4G|\\bP80\\b|\\bX90HD\\b|X98 Air|X98 Air 3G|\\bX89\\b|P80 3G|\\bX80h\\b|P98 Air|\\bX89HD\\b|P98 3G|\\bP90HD\\b|P89 3G|X98 3G|\\bP70h\\b|P79HD 3G|G18d 3G|\\bP79HD\\b|\\bP89s\\b|\\bA88\\b|\\bP10HD\\b|\\bP19HD\\b|G18 3G|\\bP78HD\\b|\\bA78\\b|\\bP75\\b|G17s 3G|G17h 3G|\\bP85t\\b|\\bP90\\b|\\bP11\\b|\\bP98t\\b|\\bP98HD\\b|\\bG18d\\b|\\bP85s\\b|\\bP11HD\\b|\\bP88s\\b|\\bA80HD\\b|\\bA80se\\b|\\bA10h\\b|\\bP89\\b|\\bP78s\\b|\\bG18\\b|\\bP85\\b|\\bA70h\\b|\\bA70\\b|\\bG17\\b|\\bP18\\b|\\bA80s\\b|\\bA11s\\b|\\bP88HD\\b|\\bA80h\\b|\\bP76s\\b|\\bP76h\\b|\\bP98\\b|\\bA10HD\\b|\\bP78\\b|\\bP88\\b|\\bA11\\b|\\bA10t\\b|\\bP76a\\b|\\bP76t\\b|\\bP76e\\b|\\bP85HD\\b|\\bP85a\\b|\\bP86\\b|\\bP75HD\\b|\\bP76v\\b|\\bA12\\b|\\bP75a\\b|\\bA15\\b|\\bP76Ti\\b|\\bP81HD\\b|\\bA10\\b|\\bT760VE\\b|\\bT720HD\\b|\\bP76\\b|\\bP73\\b|\\bP71\\b|\\bP72\\b|\\bT720SE\\b|\\bC520Ti\\b|\\bT760\\b|\\bT720VE\\b|T720-3GE|T720-WiFi",OndaTablet:"\\b(V975i|Vi30|VX530|V701|Vi60|V701s|Vi50|V801s|V719|Vx610w|VX610W|V819i|Vi10|VX580W|Vi10|V711s|V813|V811|V820w|V820|Vi20|V711|VI30W|V712|V891w|V972|V819w|V820w|Vi60|V820w|V711|V813s|V801|V819|V975s|V801|V819|V819|V818|V811|V712|V975m|V101w|V961w|V812|V818|V971|V971s|V919|V989|V116w|V102w|V973|Vi40)\\b[\\s]+|V10 \\b4G\\b",JaytechTablet:"TPC-PA762",BlaupunktTablet:"Endeavour 800NG|Endeavour 1010",DigmaTablet:"\\b(iDx10|iDx9|iDx8|iDx7|iDxD7|iDxD8|iDsQ8|iDsQ7|iDsQ8|iDsD10|iDnD7|3TS804H|iDsQ11|iDj7|iDs10)\\b",EvolioTablet:"ARIA_Mini_wifi|Aria[ _]Mini|Evolio X10|Evolio X7|Evolio X8|\\bEvotab\\b|\\bNeura\\b",LavaTablet:"QPAD E704|\\bIvoryS\\b|E-TAB IVORY|\\bE-TAB\\b",AocTablet:"MW0811|MW0812|MW0922|MTK8382|MW1031|MW0831|MW0821|MW0931|MW0712",MpmanTablet:"MP11 OCTA|MP10 OCTA|MPQC1114|MPQC1004|MPQC994|MPQC974|MPQC973|MPQC804|MPQC784|MPQC780|\\bMPG7\\b|MPDCG75|MPDCG71|MPDC1006|MP101DC|MPDC9000|MPDC905|MPDC706HD|MPDC706|MPDC705|MPDC110|MPDC100|MPDC99|MPDC97|MPDC88|MPDC8|MPDC77|MP709|MID701|MID711|MID170|MPDC703|MPQC1010",CelkonTablet:"CT695|CT888|CT[\\s]?910|CT7 Tab|CT9 Tab|CT3 Tab|CT2 Tab|CT1 Tab|C820|C720|\\bCT-1\\b",WolderTablet:"miTab \\b(DIAMOND|SPACE|BROOKLYN|NEO|FLY|MANHATTAN|FUNK|EVOLUTION|SKY|GOCAR|IRON|GENIUS|POP|MINT|EPSILON|BROADWAY|JUMP|HOP|LEGEND|NEW AGE|LINE|ADVANCE|FEEL|FOLLOW|LIKE|LINK|LIVE|THINK|FREEDOM|CHICAGO|CLEVELAND|BALTIMORE-GH|IOWA|BOSTON|SEATTLE|PHOENIX|DALLAS|IN 101|MasterChef)\\b",MediacomTablet:"M-MPI10C3G|M-SP10EG|M-SP10EGP|M-SP10HXAH|M-SP7HXAH|M-SP10HXBH|M-SP8HXAH|M-SP8MXA",MiTablet:"\\bMI PAD\\b|\\bHM NOTE 1W\\b",NibiruTablet:"Nibiru M1|Nibiru Jupiter One",NexoTablet:"NEXO NOVA|NEXO 10|NEXO AVIO|NEXO FREE|NEXO GO|NEXO EVO|NEXO 3G|NEXO SMART|NEXO KIDDO|NEXO MOBI",LeaderTablet:"TBLT10Q|TBLT10I|TBL-10WDKB|TBL-10WDKBO2013|TBL-W230V2|TBL-W450|TBL-W500|SV572|TBLT7I|TBA-AC7-8G|TBLT79|TBL-8W16|TBL-10W32|TBL-10WKB|TBL-W100",UbislateTablet:"UbiSlate[\\s]?7C",PocketBookTablet:"Pocketbook",KocasoTablet:"\\b(TB-1207)\\b",HisenseTablet:"\\b(F5281|E2371)\\b",Hudl:"Hudl HT7S3|Hudl 2",TelstraTablet:"T-Hub2",GenericTablet:"Android.*\\b97D\\b|Tablet(?!.*PC)|BNTV250A|MID-WCDMA|LogicPD Zoom2|\\bA7EB\\b|CatNova8|A1_07|CT704|CT1002|\\bM721\\b|rk30sdk|\\bEVOTAB\\b|M758A|ET904|ALUMIUM10|Smartfren Tab|Endeavour 1010|Tablet-PC-4|Tagi Tab|\\bM6pro\\b|CT1020W|arc 10HD|\\bTP750\\b|\\bQTAQZ3\\b|WVT101|TM1088|KT107"},oss:{AndroidOS:"Android",BlackBerryOS:"blackberry|\\bBB10\\b|rim tablet os",PalmOS:"PalmOS|avantgo|blazer|elaine|hiptop|palm|plucker|xiino",SymbianOS:"Symbian|SymbOS|Series60|Series40|SYB-[0-9]+|\\bS60\\b",WindowsMobileOS:"Windows CE.*(PPC|Smartphone|Mobile|[0-9]{3}x[0-9]{3})|Windows Mobile|Windows Phone [0-9.]+|WCE;",WindowsPhoneOS:"Windows Phone 10.0|Windows Phone 8.1|Windows Phone 8.0|Windows Phone OS|XBLWP7|ZuneWP7|Windows NT 6.[23]; ARM;",iOS:"\\biPhone.*Mobile|\\biPod|\\biPad|AppleCoreMedia",iPadOS:"CPU OS 13",SailfishOS:"Sailfish",MeeGoOS:"MeeGo",MaemoOS:"Maemo",JavaOS:"J2ME/|\\bMIDP\\b|\\bCLDC\\b",webOS:"webOS|hpwOS",badaOS:"\\bBada\\b",BREWOS:"BREW"},uas:{Chrome:"\\bCrMo\\b|CriOS|Android.*Chrome/[.0-9]* (Mobile)?",Dolfin:"\\bDolfin\\b",Opera:"Opera.*Mini|Opera.*Mobi|Android.*Opera|Mobile.*OPR/[0-9.]+$|Coast/[0-9.]+",Skyfire:"Skyfire",Edge:"\\bEdgiOS\\b|Mobile Safari/[.0-9]* Edge",IE:"IEMobile|MSIEMobile",Firefox:"fennec|firefox.*maemo|(Mobile|Tablet).*Firefox|Firefox.*Mobile|FxiOS",Bolt:"bolt",TeaShark:"teashark",Blazer:"Blazer",Safari:"Version((?!\\bEdgiOS\\b).)*Mobile.*Safari|Safari.*Mobile|MobileSafari",WeChat:"\\bMicroMessenger\\b",UCBrowser:"UC.*Browser|UCWEB",baiduboxapp:"baiduboxapp",baidubrowser:"baidubrowser",DiigoBrowser:"DiigoBrowser",Mercury:"\\bMercury\\b",ObigoBrowser:"Obigo",NetFront:"NF-Browser",GenericBrowser:"NokiaBrowser|OviBrowser|OneBrowser|TwonkyBeamBrowser|SEMC.*Browser|FlyFlow|Minimo|NetFront|Novarra-Vision|MQQBrowser|MicroMessenger",PaleMoon:"Android.*PaleMoon|Mobile.*PaleMoon"},props:{Mobile:"Mobile/[VER]",Build:"Build/[VER]",Version:"Version/[VER]",VendorID:"VendorID/[VER]",iPad:"iPad.*CPU[a-z ]+[VER]",iPhone:"iPhone.*CPU[a-z ]+[VER]",iPod:"iPod.*CPU[a-z ]+[VER]",Kindle:"Kindle/[VER]",Chrome:["Chrome/[VER]","CriOS/[VER]","CrMo/[VER]"],Coast:["Coast/[VER]"],Dolfin:"Dolfin/[VER]",Firefox:["Firefox/[VER]","FxiOS/[VER]"],Fennec:"Fennec/[VER]",Edge:"Edge/[VER]",IE:["IEMobile/[VER];","IEMobile [VER]","MSIE [VER];","Trident/[0-9.]+;.*rv:[VER]"],NetFront:"NetFront/[VER]",NokiaBrowser:"NokiaBrowser/[VER]",Opera:[" OPR/[VER]","Opera Mini/[VER]","Version/[VER]"],"Opera Mini":"Opera Mini/[VER]","Opera Mobi":"Version/[VER]",UCBrowser:["UCWEB[VER]","UC.*Browser/[VER]"],MQQBrowser:"MQQBrowser/[VER]",MicroMessenger:"MicroMessenger/[VER]",baiduboxapp:"baiduboxapp/[VER]",baidubrowser:"baidubrowser/[VER]",SamsungBrowser:"SamsungBrowser/[VER]",Iron:"Iron/[VER]",Safari:["Version/[VER]","Safari/[VER]"],Skyfire:"Skyfire/[VER]",Tizen:"Tizen/[VER]",Webkit:"webkit[ /][VER]",PaleMoon:"PaleMoon/[VER]",SailfishBrowser:"SailfishBrowser/[VER]",Gecko:"Gecko/[VER]",Trident:"Trident/[VER]",Presto:"Presto/[VER]",Goanna:"Goanna/[VER]",iOS:" \\bi?OS\\b [VER][ ;]{1}",Android:"Android [VER]",Sailfish:"Sailfish [VER]",BlackBerry:["BlackBerry[\\w]+/[VER]","BlackBerry.*Version/[VER]","Version/[VER]"],BREW:"BREW [VER]",Java:"Java/[VER]","Windows Phone OS":["Windows Phone OS [VER]","Windows Phone [VER]"],"Windows Phone":"Windows Phone [VER]","Windows CE":"Windows CE/[VER]","Windows NT":"Windows NT [VER]",Symbian:["SymbianOS/[VER]","Symbian/[VER]"],webOS:["webOS/[VER]","hpwOS/[VER];"]},utils:{Bot:"Googlebot|facebookexternalhit|Google-AMPHTML|s~amp-validator|AdsBot-Google|Google Keyword Suggestion|Facebot|YandexBot|YandexMobileBot|bingbot|ia_archiver|AhrefsBot|Ezooms|GSLFbot|WBSearchBot|Twitterbot|TweetmemeBot|Twikle|PaperLiBot|Wotbox|UnwindFetchor|Exabot|MJ12bot|YandexImages|TurnitinBot|Pingdom|contentkingapp|AspiegelBot",MobileBot:"Googlebot-Mobile|AdsBot-Google-Mobile|YahooSeeker/M1A1-R2D2",DesktopMode:"WPDesktop",TV:"SonyDTV|HbbTV",WebKit:"(webkit)[ /]([\\w.]+)",Console:"\\b(Nintendo|Nintendo WiiU|Nintendo 3DS|Nintendo Switch|PLAYSTATION|Xbox)\\b",Watch:"SM-V700"}},g.detectMobileBrowsers={fullPattern:/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i, shortPattern:/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i,tabletPattern:/android|ipad|playbook|silk/i};var h,i=Object.prototype.hasOwnProperty;return g.FALLBACK_PHONE="UnknownPhone",g.FALLBACK_TABLET="UnknownTablet",g.FALLBACK_MOBILE="UnknownMobile",h="isArray"in Array?Array.isArray:function(a){return"[object Array]"===Object.prototype.toString.call(a)},function(){var a,b,c,e,f,j,k=g.mobileDetectRules;for(a in k.props)if(i.call(k.props,a)){for(b=k.props[a],h(b)||(b=[b]),f=b.length,e=0;e<f;++e)c=b[e],j=c.indexOf("[VER]"),j>=0&&(c=c.substring(0,j)+"([\\w._\\+]+)"+c.substring(j+5)),b[e]=new RegExp(c,"i");k.props[a]=b}d(k.oss),d(k.phones),d(k.tablets),d(k.uas),d(k.utils),k.oss0={WindowsPhoneOS:k.oss.WindowsPhoneOS,WindowsMobileOS:k.oss.WindowsMobileOS}}(),g.findMatch=function(a,b){for(var c in a)if(i.call(a,c)&&a[c].test(b))return c;return null},g.findMatches=function(a,b){var c=[];for(var d in a)i.call(a,d)&&a[d].test(b)&&c.push(d);return c},g.getVersionStr=function(a,b){var c,d,e,f,h=g.mobileDetectRules.props;if(i.call(h,a))for(c=h[a],e=c.length,d=0;d<e;++d)if(f=c[d].exec(b),null!==f)return f[1];return null},g.getVersion=function(a,b){var c=g.getVersionStr(a,b);return c?g.prepareVersionNo(c):NaN},g.prepareVersionNo=function(a){var b;return b=a.split(/[a-z._ \/\-]/i),1===b.length&&(a=b[0]),b.length>1&&(a=b[0]+".",b.shift(),a+=b.join("")),Number(a)},g.isMobileFallback=function(a){return g.detectMobileBrowsers.fullPattern.test(a)||g.detectMobileBrowsers.shortPattern.test(a.substr(0,4))},g.isTabletFallback=function(a){return g.detectMobileBrowsers.tabletPattern.test(a)},g.prepareDetectionCache=function(a,c,d){if(a.mobile===b){var e,h,i;return(h=g.findMatch(g.mobileDetectRules.tablets,c))?(a.mobile=a.tablet=h,void(a.phone=null)):(e=g.findMatch(g.mobileDetectRules.phones,c))?(a.mobile=a.phone=e,void(a.tablet=null)):void(g.isMobileFallback(c)?(i=f.isPhoneSized(d),i===b?(a.mobile=g.FALLBACK_MOBILE,a.tablet=a.phone=null):i?(a.mobile=a.phone=g.FALLBACK_PHONE,a.tablet=null):(a.mobile=a.tablet=g.FALLBACK_TABLET,a.phone=null)):g.isTabletFallback(c)?(a.mobile=a.tablet=g.FALLBACK_TABLET,a.phone=null):a.mobile=a.tablet=a.phone=null)}},g.mobileGrade=function(a){var b=null!==a.mobile();return a.os("iOS")&&a.version("iPad")>=4.3||a.os("iOS")&&a.version("iPhone")>=3.1||a.os("iOS")&&a.version("iPod")>=3.1||a.version("Android")>2.1&&a.is("Webkit")||a.version("Windows Phone OS")>=7||a.is("BlackBerry")&&a.version("BlackBerry")>=6||a.match("Playbook.*Tablet")||a.version("webOS")>=1.4&&a.match("Palm|Pre|Pixi")||a.match("hp.*TouchPad")||a.is("Firefox")&&a.version("Firefox")>=12||a.is("Chrome")&&a.is("AndroidOS")&&a.version("Android")>=4||a.is("Skyfire")&&a.version("Skyfire")>=4.1&&a.is("AndroidOS")&&a.version("Android")>=2.3||a.is("Opera")&&a.version("Opera Mobi")>11&&a.is("AndroidOS")||a.is("MeeGoOS")||a.is("Tizen")||a.is("Dolfin")&&a.version("Bada")>=2||(a.is("UC Browser")||a.is("Dolfin"))&&a.version("Android")>=2.3||a.match("Kindle Fire")||a.is("Kindle")&&a.version("Kindle")>=3||a.is("AndroidOS")&&a.is("NookTablet")||a.version("Chrome")>=11&&!b||a.version("Safari")>=5&&!b||a.version("Firefox")>=4&&!b||a.version("MSIE")>=7&&!b||a.version("Opera")>=10&&!b?"A":a.os("iOS")&&a.version("iPad")<4.3||a.os("iOS")&&a.version("iPhone")<3.1||a.os("iOS")&&a.version("iPod")<3.1||a.is("Blackberry")&&a.version("BlackBerry")>=5&&a.version("BlackBerry")<6||a.version("Opera Mini")>=5&&a.version("Opera Mini")<=6.5&&(a.version("Android")>=2.3||a.is("iOS"))||a.match("NokiaN8|NokiaC7|N97.*Series60|Symbian/3")||a.version("Opera Mobi")>=11&&a.is("SymbianOS")?"B":(a.version("BlackBerry")<5||a.match("MSIEMobile|Windows CE.*Mobile")||a.version("Windows Mobile")<=5.2,"C")},g.detectOS=function(a){return g.findMatch(g.mobileDetectRules.oss0,a)||g.findMatch(g.mobileDetectRules.oss,a)},g.getDeviceSmallerSide=function(){return window.screen.width<window.screen.height?window.screen.width:window.screen.height},f.prototype={constructor:f,mobile:function(){return g.prepareDetectionCache(this._cache,this.ua,this.maxPhoneWidth),this._cache.mobile},phone:function(){return g.prepareDetectionCache(this._cache,this.ua,this.maxPhoneWidth),this._cache.phone},tablet:function(){return g.prepareDetectionCache(this._cache,this.ua,this.maxPhoneWidth),this._cache.tablet},userAgent:function(){return this._cache.userAgent===b&&(this._cache.userAgent=g.findMatch(g.mobileDetectRules.uas,this.ua)),this._cache.userAgent},userAgents:function(){return this._cache.userAgents===b&&(this._cache.userAgents=g.findMatches(g.mobileDetectRules.uas,this.ua)),this._cache.userAgents},os:function(){return this._cache.os===b&&(this._cache.os=g.detectOS(this.ua)),this._cache.os},version:function(a){return g.getVersion(a,this.ua)},versionStr:function(a){return g.getVersionStr(a,this.ua)},is:function(b){return c(this.userAgents(),b)||a(b,this.os())||a(b,this.phone())||a(b,this.tablet())||c(g.findMatches(g.mobileDetectRules.utils,this.ua),b)},match:function(a){return a instanceof RegExp||(a=new RegExp(a,"i")),a.test(this.ua)},isPhoneSized:function(a){return f.isPhoneSized(a||this.maxPhoneWidth)},mobileGrade:function(){return this._cache.grade===b&&(this._cache.grade=g.mobileGrade(this)),this._cache.grade}},"undefined"!=typeof window&&window.screen?f.isPhoneSized=function(a){return a<0?b:g.getDeviceSmallerSide()<=a}:f.isPhoneSized=function(){},f._impl=g,f.version="1.4.5 2021-03-13",f})}(function(a){if("undefined"!=typeof module&&module.exports)return function(a){module.exports=a()};if("function"==typeof define&&define.amd)return define;if("undefined"!=typeof window)return function(a){window.MobileDetect=a()};throw new Error("unknown environment")}());var ai_lists=!0,ai_block_class_def="code-block"; if("undefined"!=typeof ai_lists){function V(a,e){for(var p=[];a=a.previousElementSibling;)("undefined"==typeof e||a.matches(e))&&p.push(a);return p}function ea(a,e){for(var p=[];a=a.nextElementSibling;)("undefined"==typeof e||a.matches(e))&&p.push(a);return p}var host_regexp=RegExp(":\\/\\/(.[^/:]+)","i");function fa(a){a=a.match(host_regexp);return null!=a&&1<a.length&&"string"===typeof a[1]&&0<a[1].length?a[1].toLowerCase():null}function P(a){return a.includes(":")?(a=a.split(":"),1E3*(3600*parseInt(a[0])+ 60*parseInt(a[1])+parseInt(a[2]))):null}function W(a){try{var e=Date.parse(a);isNaN(e)&&(e=null)}catch(p){e=null}if(null==e&&a.includes(" ")){a=a.split(" ");try{e=Date.parse(a[0]),e+=P(a[1]),isNaN(e)&&(e=null)}catch(p){e=null}}return e}function X(){null==document.querySelector("#ai-iab-tcf-bar")&&null==document.querySelector(".ai-list-manual")||"function"!=typeof __tcfapi||"function"!=typeof ai_load_blocks||"undefined"!=typeof ai_iab_tcf_callback_installed||(__tcfapi("addEventListener",2,function(a, e){e&&"useractioncomplete"===a.eventStatus&&(ai_tcData=a,ai_load_blocks(),a=document.querySelector("#ai-iab-tcf-status"),null!=a&&(a.textContent="IAB TCF 2.0 DATA LOADED"),a=document.querySelector("#ai-iab-tcf-bar"),null!=a&&(a.classList.remove("status-error"),a.classList.add("status-ok")))}),ai_iab_tcf_callback_installed=!0)}ai_process_lists=function(a){function e(b,d,k){if(0==b.length){if("!@!"==k)return!0;d!=k&&("true"==k.toLowerCase()?k=!0:"false"==k.toLowerCase()&&(k=!1));return d==k}if("object"!= typeof d&&"array"!=typeof d)return!1;var l=b[0];b=b.slice(1);if("*"==l)for(let [,n]of Object.entries(d)){if(e(b,n,k))return!0}else if(l in d)return e(b,d[l],k);return!1}function p(b,d,k){if("object"!=typeof b||-1==d.indexOf("["))return!1;d=d.replace(/]| /gi,"").split("[");return e(d,b,k)}function z(){if("function"==typeof __tcfapi){var b=document.querySelector("#ai-iab-tcf-status"),d=document.querySelector("#ai-iab-tcf-bar");null!=b&&(b.textContent="IAB TCF 2.0 DETECTED");__tcfapi("getTCData",2,function(k, l){l?(null!=d&&d.classList.add("status-ok"),"tcloaded"==k.eventStatus||"useractioncomplete"==k.eventStatus)?(ai_tcData=k,k.gdprApplies?null!=b&&(b.textContent="IAB TCF 2.0 DATA LOADED"):null!=b&&(b.textContent="IAB TCF 2.0 GDPR DOES NOT APPLY"),null!=d&&(d.classList.remove("status-error"),d.classList.add("status-ok")),setTimeout(function(){ai_process_lists()},10)):"cmpuishown"==k.eventStatus&&(ai_cmpuishown=!0,null!=b&&(b.textContent="IAB TCF 2.0 CMP UI SHOWN"),null!=d&&(d.classList.remove("status-error"), d.classList.add("status-ok"))):(null!=b&&(b.textContent="IAB TCF 2.0 __tcfapi getTCData failed"),null!=d&&(d.classList.remove("status-ok"),d.classList.add("status-error")))})}}function C(b){"function"==typeof __tcfapi?("undefined"==typeof ai_iab_tcf_callback_installed&&X(),"undefined"==typeof ai_tcData_requested&&(ai_tcData_requested=!0,z(),cookies_need_tcData=!0)):b&&(null!=iab_tcf_status&&(iab_tcf_status.textContent="IAB TCF 2.0 MISSING: __tcfapi function not found"),null!=iab_tcf_bar&&(iab_tcf_bar.classList.remove("status-ok"), iab_tcf_bar.classList.add("status-error")))}if(null==a)a=document.querySelectorAll("div.ai-list-data, meta.ai-list-data");else{window.jQuery&&window.jQuery.fn&&a instanceof jQuery&&(a=Array.prototype.slice.call(a));var x=[];a.forEach((b,d)=>{b.matches(".ai-list-data")?x.push(b):(b=b.querySelectorAll(".ai-list-data"),b.length&&b.forEach((k,l)=>{x.push(k)}))});a=x}if(a.length){a.forEach((b,d)=>{b.classList.remove("ai-list-data")});var I=ha(window.location.search);if(null!=I.referrer)var A=I.referrer; else A=document.referrer,""!=A&&(A=fa(A));var Q=window.navigator.userAgent,R=Q.toLowerCase(),Y=navigator.language,J=Y.toLowerCase();if("undefined"!==typeof MobileDetect)var Z=new MobileDetect(Q);a.forEach((b,d)=>{var k=document.cookie.split(";");k.forEach(function(f,h){k[h]=f.trim()});d=b.closest("div."+ai_block_class_def);var l=!0;if(b.hasAttribute("referer-list")){var n=b.getAttribute("referer-list");n=b64d(n).split(",");var t=b.getAttribute("referer-list-type"),E=!1;n.every((f,h)=>{f=f.trim(); if(""==f)return!0;if("*"==f.charAt(0))if("*"==f.charAt(f.length-1)){if(f=f.substr(1,f.length-2),-1!=A.indexOf(f))return E=!0,!1}else{if(f=f.substr(1),A.substr(-f.length)==f)return E=!0,!1}else if("*"==f.charAt(f.length-1)){if(f=f.substr(0,f.length-1),0==A.indexOf(f))return E=!0,!1}else if("#"==f){if(""==A)return E=!0,!1}else if(f==A)return E=!0,!1;return!0});var u=E;switch(t){case "B":u&&(l=!1);break;case "W":u||(l=!1)}}if(l&&b.hasAttribute("client-list")&&"undefined"!==typeof Z)switch(n=b.getAttribute("client-list"), n=b64d(n).split(","),t=b.getAttribute("client-list-type"),u=!1,n.every((f,h)=>{if(""==f.trim())return!0;f.split("&&").every((c,v)=>{v=!0;var w=!1;for(c=c.trim();"!!"==c.substring(0,2);)v=!v,c=c.substring(2);"language:"==c.substring(0,9)&&(w=!0,c=c.substring(9).toLowerCase());var q=!1;w?"*"==c.charAt(0)?"*"==c.charAt(c.length-1)?(c=c.substr(1,c.length-2).toLowerCase(),-1!=J.indexOf(c)&&(q=!0)):(c=c.substr(1).toLowerCase(),J.substr(-c.length)==c&&(q=!0)):"*"==c.charAt(c.length-1)?(c=c.substr(0,c.length- 1).toLowerCase(),0==J.indexOf(c)&&(q=!0)):c==J&&(q=!0):"*"==c.charAt(0)?"*"==c.charAt(c.length-1)?(c=c.substr(1,c.length-2).toLowerCase(),-1!=R.indexOf(c)&&(q=!0)):(c=c.substr(1).toLowerCase(),R.substr(-c.length)==c&&(q=!0)):"*"==c.charAt(c.length-1)?(c=c.substr(0,c.length-1).toLowerCase(),0==R.indexOf(c)&&(q=!0)):Z.is(c)&&(q=!0);return(u=q?v:!v)?!0:!1});return u?!1:!0}),t){case "B":u&&(l=!1);break;case "W":u||(l=!1)}var K=n=!1;for(t=1;2>=t;t++)if(l){switch(t){case 1:var g=b.getAttribute("cookie-list"); break;case 2:g=b.getAttribute("parameter-list")}if(null!=g){g=b64d(g);switch(t){case 1:var y=b.getAttribute("cookie-list-type");break;case 2:y=b.getAttribute("parameter-list-type")}g=g.replace("tcf-gdpr","tcf-v2[gdprApplies]=true");g=g.replace("tcf-no-gdpr","tcf-v2[gdprApplies]=false");g=g.replace("tcf-google","tcf-v2[vendor][consents][755]=true && tcf-v2[purpose][consents][1]=true");g=g.replace("tcf-no-google","!!tcf-v2[vendor][consents][755]");g=g.replace("tcf-media.net","tcf-v2[vendor][consents][142]=true && tcf-v2[purpose][consents][1]=true"); g=g.replace("tcf-no-media.net","!!tcf-v2[vendor][consents][142]");g=g.replace("tcf-amazon","tcf-v2[vendor][consents][793]=true && tcf-v2[purpose][consents][1]=true");g=g.replace("tcf-no-amazon","!!tcf-v2[vendor][consents][793]");g=g.replace("tcf-ezoic","tcf-v2[vendor][consents][347]=true && tcf-v2[purpose][consents][1]=true");g=g.replace("tcf-no-ezoic","!!tcf-v2[vendor][consents][347]");var F=g.split(","),aa=[];k.forEach(function(f){f=f.split("=");try{var h=JSON.parse(decodeURIComponent(f[1]))}catch(c){h= decodeURIComponent(f[1])}aa[f[0]]=h});u=!1;var L=b;F.every((f,h)=>{f.split("&&").every((c,v)=>{v=!0;for(c=c.trim();"!!"==c.substring(0,2);)v=!v,c=c.substring(2);var w=c,q="!@!",D=-1!=c.indexOf("["),ba=(0==c.indexOf("tcf-v2")||0==c.indexOf("euconsent-v2"))&&-1!=c.indexOf("[");-1!=c.indexOf("=")&&(q=c.split("="),w=q[0],q=q[1],D=-1!=w.indexOf("["),ba=(0==w.indexOf("tcf-v2")||0==w.indexOf("euconsent-v2"))&&-1!=w.indexOf("["));if(ba)document.querySelector("#ai-iab-tcf-status"),D=document.querySelector("#ai-iab-tcf-bar"), null!=D&&(D.style.display="block"),"object"==typeof ai_tcData?(null!=D&&D.classList.add("status-ok"),w=w.replace(/]| /gi,"").split("["),w.shift(),u=(w=e(w,ai_tcData,q))?v:!v):(L.classList.add("ai-list-data"),K=!0,"function"==typeof __tcfapi?C(!1):"undefined"==typeof ai_tcData_retrying&&(ai_tcData_retrying=!0,setTimeout(function(){"function"==typeof __tcfapi?C(!1):setTimeout(function(){"function"==typeof __tcfapi?C(!1):setTimeout(function(){C(!0)},3E3)},1E3)},600)));else if(D)u=(w=p(aa,w,q))?v:!v; else{var S=!1;"!@!"==q?k.every(function(ia){return ia.split("=")[0]==c?(S=!0,!1):!0}):S=-1!=k.indexOf(c);u=S?v:!v}return u?!0:!1});return u?!1:!0});u&&(K=!1);switch(y){case "B":u&&(l=!1);break;case "W":u||(l=!1)}}}b.classList.contains("ai-list-manual")&&(l?(L.classList.remove("ai-list-data"),L.classList.remove("ai-list-manual")):(n=!0,L.classList.add("ai-list-data")));(l||!n&&!K)&&b.hasAttribute("data-debug-info")&&(g=document.querySelector("."+b.dataset.debugInfo),null!=g&&(g=g.parentElement,null!= g&&g.classList.contains("ai-debug-info")&&g.remove()));y=V(b,".ai-debug-bar.ai-debug-lists");var ja=""==A?"#":A;0!=y.length&&y.forEach((f,h)=>{h=f.querySelector(".ai-debug-name.ai-list-info");null!=h&&(h.textContent=ja,h.title=Q+"\n"+Y);h=f.querySelector(".ai-debug-name.ai-list-status");null!=h&&(h.textContent=l?ai_front.visible:ai_front.hidden)});g=!1;if(l&&b.hasAttribute("scheduling-start")&&b.hasAttribute("scheduling-end")&&b.hasAttribute("scheduling-days")){var r=b.getAttribute("scheduling-start"); t=b.getAttribute("scheduling-end");y=b.getAttribute("scheduling-days");g=!0;r=b64d(r);F=b64d(t);var T=parseInt(b.getAttribute("scheduling-fallback")),M=parseInt(b.getAttribute("gmt"));if(r.includes("-")||F.includes("-"))N=W(r)+M,O=W(F)+M;else var N=P(r),O=P(F);var U=b64d(y).split(",");y=b.getAttribute("scheduling-type");var B=(new Date).getTime()+M;t=new Date(B);var G=t.getDay();r.includes("-")||F.includes("-")||(r=(new Date(t.getFullYear(),t.getMonth(),t.getDate())).getTime()+M,B-=r,0>B&&(B+=864E5)); 0==G?G=6:G--;r=B>=N&&B<O&&U.includes(G.toString());switch(y){case "B":r=!r}r||(l=!1);var ka=t.toISOString().split(".")[0].replace("T"," ");y=V(b,".ai-debug-bar.ai-debug-scheduling");0!=y.length&&y.forEach((f,h)=>{h=f.querySelector(".ai-debug-name.ai-scheduling-info");null!=h&&(h.textContent=ka+" "+G+" current_time:"+Math.floor(B.toString()/1E3)+" start_date:"+Math.floor(N/1E3).toString()+" ="+(B>=N).toString()+" end_date:"+Math.floor(O/1E3).toString()+" =:"+(B<O).toString()+" days:"+U.toString()+ " =:"+U.includes(G.toString()).toString());h=f.querySelector(".ai-debug-name.ai-scheduling-status");null!=h&&(h.textContent=l?ai_front.visible:ai_front.hidden);l||0==T||(f.classList.remove("ai-debug-scheduling"),f.classList.add("ai-debug-fallback"),h=f.querySelector(".ai-debug-name.ai-scheduling-status"),null!=h&&(h.textContent=ai_front.fallback+" = "+T))})}if(n||!l&&K)return!0;b.style.visibility="";b.style.position="";b.style.width="";b.style.height="";b.style.zIndex="";if(l){if(null!=d&&(d.style.visibility= "",d.classList.contains("ai-remove-position")&&(d.style.position="")),b.hasAttribute("data-code")){n=b64d(b.dataset.code);r=document.createRange();g=!0;try{H=r.createContextualFragment(n)}catch(f){g=!1}g&&(null!=b.closest("head")?(b.parentNode.insertBefore(H,b.nextSibling),b.remove()):b.append(H));ca(b)}}else if(g&&!r&&0!=T){null!=d&&(d.style.visibility="",d.classList.contains("ai-remove-position")&&d.css({position:""}));n=ea(b,".ai-fallback");0!=n.length&&n.forEach((f,h)=>{f.classList.remove("ai-fallback")}); if(b.hasAttribute("data-fallback-code")){n=b64d(b.dataset.fallbackCode);r=document.createRange();g=!0;try{var H=r.createContextualFragment(n)}catch(f){g=!1}g&&b.append(H);ca(b)}else b.style.display="none",null!=d&&null==d.querySelector(".ai-debug-block")&&d.hasAttribute("style")&&-1==d.getAttribute("style").indexOf("height:")&&(d.style.display="none");null!=d&&d.hasAttribute("data-ai")&&(d.getAttribute("data-ai"),b.hasAttribute("fallback-tracking")&&(H=b.getAttribute("fallback-tracking"),d.setAttribute("data-ai-"+ b.getAttribute("fallback_level"),H)))}else b.style.display="none",null!=d&&(d.removeAttribute("data-ai"),d.classList.remove("ai-track"),null!=d.querySelector(".ai-debug-block")?(d.style.visibility="",d.classList.remove("ai-close"),d.classList.contains("ai-remove-position")&&(d.style.position="")):d.hasAttribute("style")&&-1==d.getAttribute("style").indexOf("height:")&&(d.style.display="none"));b.setAttribute("data-code","");b.setAttribute("data-fallback-code","");null!=d&&d.classList.remove("ai-list-block")})}}; function da(a){a=`; ${document.cookie}`.split(`; ${a}=`);if(2===a.length)return a.pop().split(";").shift()}function la(a,e,p){da(a)&&(document.cookie=a+"="+(e?";path="+e:"")+(p?";domain="+p:"")+";expires=Thu, 01 Jan 1970 00:00:01 GMT")}function m(a){da(a)&&(la(a,"/",window.location.hostname),document.cookie=a+"=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;")}(function(a){"complete"===document.readyState||"loading"!==document.readyState&&!document.documentElement.doScroll?a():document.addEventListener("DOMContentLoaded", a)})(function(){setTimeout(function(){ai_process_lists();setTimeout(function(){X();if("function"==typeof ai_load_blocks){document.addEventListener("cmplzEnableScripts",e);document.addEventListener("cmplz_event_marketing",e);function e(p){"cmplzEnableScripts"!=p.type&&"all"!==p.consentLevel||ai_load_blocks()}}},50);var a=document.querySelector(".ai-debug-page-type");null!=a&&a.addEventListener("dblclick",e=>{e=document.querySelector("#ai-iab-tcf-status");null!=e&&(e.textContent="CONSENT COOKIES"); e=document.querySelector("#ai-iab-tcf-bar");null!=e&&(e.style.display="block")});a=document.querySelector("#ai-iab-tcf-bar");null!=a&&a.addEventListener("click",e=>{m("euconsent-v2");m("__lxG__consent__v2");m("__lxG__consent__v2_daisybit");m("__lxG__consent__v2_gdaisybit");m("CookieLawInfoConsent");m("cookielawinfo-checkbox-advertisement");m("cookielawinfo-checkbox-analytics");m("cookielawinfo-checkbox-necessary");m("complianz_policy_id");m("complianz_consent_status");m("cmplz_marketing");m("cmplz_consent_status"); m("cmplz_preferences");m("cmplz_statistics-anonymous");m("cmplz_choice");m("cmplz_banner-status");m("cmplz_functional");m("cmplz_policy_id");m("cmplz_statistics");m("moove_gdpr_popup");m("real_cookie_banner-blog:1-tcf");m("real_cookie_banner-blog:1");e=document.querySelector("#ai-iab-tcf-status");null!=e&&(e.textContent="CONSENT COOKIES DELETED")})},5)});function ca(a){setTimeout(function(){"function"==typeof ai_process_rotations_in_element&&ai_process_rotations_in_element(a);"function"==typeof ai_process_lists&& ai_process_lists();"function"==typeof ai_process_ip_addresses&&ai_process_ip_addresses();"function"==typeof ai_process_filter_hooks&&ai_process_filter_hooks();"function"==typeof ai_adb_process_blocks&&ai_adb_process_blocks(a);"function"==typeof ai_process_impressions&&1==ai_tracking_finished&&ai_process_impressions();"function"==typeof ai_install_click_trackers&&1==ai_tracking_finished&&ai_install_click_trackers();"function"==typeof ai_install_close_buttons&&ai_install_close_buttons(document)},5)} function ha(a){var e=a?a.split("?")[1]:window.location.search.slice(1);a={};if(e){e=e.split("#")[0];e=e.split("&");for(var p=0;p<e.length;p++){var z=e[p].split("="),C=void 0,x=z[0].replace(/\[\d*\]/,function(I){C=I.slice(1,-1);return""});z="undefined"===typeof z[1]?"":z[1];x=x.toLowerCase();z=z.toLowerCase();a[x]?("string"===typeof a[x]&&(a[x]=[a[x]]),"undefined"===typeof C?a[x].push(z):a[x][C]=z):a[x]=z}}return a}}; ai_js_code = true; </script> </body> </html> <!-- Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/ Object Caching 39/214 objects using disk Page Caching using disk: enhanced Minified using disk Database Caching 1/22 queries in 0.018 seconds using disk Served from: www.ateliedofuturo.com.br @ 2024-04-28 08:28:19 by W3 Total Cache -->