Compare commits

..

7 Commits

Author SHA1 Message Date
Faisal Salman
4efb13be3e Return unidentified version as undefined 2012-11-02 18:22:06 +07:00
Faisal Salman
bf9fb794d8 Fix issue #3 for old Safari < 3.0 2012-11-02 17:41:29 +07:00
Faisal Salman
df815d4109 Merge pull request #3 from cadecairos/safari-fix
Fix Safari version detection
2012-11-01 23:50:15 -07:00
Christopher De Cairos
6dcee61a0b Fix Safari version detection 2012-11-01 17:11:07 -04:00
Faisal Salman
0288766544 Check if userAgent property is defined 2012-10-23 17:35:24 +07:00
Faisal Salman
7ea79afc2f Fix issue #2 2012-10-22 16:04:23 +07:00
Faisal Salman
59270c8cf7 Some fixes 2012-09-22 00:06:50 +07:00
340 changed files with 491 additions and 70072 deletions

28
.gitignore vendored
View File

@@ -1,28 +0,0 @@
node_modules/
npm-debug.log
test-results/
.vscode
### vim ###
.*.s[a-w][a-z]
*.un~
Session.vim
.netrwhist
*~
.versions
### OSX ###
.DS_Store
.AppleDouble
.LSOverride
Icon
# Thumbnails
._*
# Files that might appear on external disk
.Spotlight-V100
.Trashes
.idea

1
CNAME
View File

@@ -1 +0,0 @@
uaparser.dev

View File

@@ -1,366 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<meta name="keywords"
content="browser detection, user-agent, ua-parser-js, rest, api, javascript, typescript, python, java, php, golang, ruby, c#, curl, detect os, mobile, tablet, detect device, cpu, nodejs, jquery, client hints, bots, iphone, ipad, android" />
<meta name="description" content="UAParser @Cloud instantly analyze user-agent data for accurate insights. Effortlessly integrate with any tech stack to our REST API or any AI agent to our MCP. Improve analytics, security, & personalization with precision.">
<meta name="application-name" content="UAParser @Cloud">
<meta property="og:title" content="UAParser @Cloud">
<meta property="og:url" content="https://uaparser.dev/cloud">
<meta property="og:image" content="https://uaparser.dev/images/uap-cloud-api.png">
<meta property="og:type" content="website">
<meta property="og:description" content="Transform User Data into Valuable Insights">
<meta property="og:locale" content="en_US">
<title>UAParser @Cloud | Understand your users. Instantly. Reliably.</title>
<link rel="stylesheet" type="text/css" href="../semantic-ui/semantic.css">
<link rel="stylesheet" type="text/css" href="../css/style.css">
<link rel="icon" type="image/png" href="../images/uap-logo.png">
<script src="../js/jquery-3.6.0.min.js"></script>
<script src="../semantic-ui/semantic.js"></script>
<script src="https://assets.lemonsqueezy.com/lemon.js" defer></script>
<script src="//code.tidio.co/hu6mx7fw2r6llmfzxj5llesd5l51q5dv.js" async></script>
</head>
<body>
<div class="pusher">
<div class="ui inverted instagram vertical masthead center aligned segment">
<div class="ui text container">
<a href="https://uaparser.dev/cloud"><h1>
UAParser @Cloud
</h1></a>
<h2>Understand your traffic better. Instantly. Reliably.</h2>
<img alt="UAParser.js Illustration" class="ui centered image illustration" src="../images/uap-cloud-header.png" />
</div>
</div>
<div class="ui text container">
<div class="ui very padded basic segment">
<div class="ui equal width stackable grid">
<div class="row">
<div class="column">
<div class="ui basic segment">
<h3 class="ui header">
<i class="bolt icon"></i>
<div class="content">Real-Time Analysis</div>
</h3>
<p>Instantly analyze each request headers for accurate insights.</p>
</div>
</div>
<div class="column">
<div class="ui basic segment">
<h3 class="ui header">
<i class="object group outline icon"></i>
<div class="content">Seamless Integration</div>
</h3>
<p>Effortlessly integrate your existing stack or AI agent to our API / MCP service.</p>
</div>
</div>
<div class="column">
<div class="ui basic segment">
<h3 class="ui header">
<i class="magic icon"></i>
<div class="content">
Optimize & Enhance
</div>
</h3>
<p>Improve analytics, security, & personalization with enhanced accuracy.</p>
</div>
</div>
</div>
</div>
<h3 class="ui dividing header" id="pricing">Pricing<div class="sub header">Monthly API traffics</div></h4>
<table class="ui center aligned collapsing celled unstackable compact table">
<thead>
<tr>
<th>Free</th>
<th>Starter</th>
<th>Growth</th>
<th>Scale</th>
<th>Business</th>
<th>Enterprise</th>
</tr>
</thead>
<tbody>
<tr>
<td>1,000 reqs
</td>
<td>25,000 reqs
</td>
<td>100,000 reqs
</td>
<td>250,000 reqs
</td>
<td>1,000,000 reqs
</td>
<td>10,000,000
</td>
</tr>
<tr>
<td>
<p class="ui center aligned">FREE</p>
</td>
<td>
<h2 class="ui center aligned header">$5</h2>
</td>
<td>
<h2 class="ui center aligned header">$15</h2>
</td>
<td>
<h2 class="ui center aligned header">$25</h2>
</td>
<td>
<h2 class="ui center aligned header">$50</h2>
</td>
<td>
<h2 class="ui center aligned header">$450</h2>
</td>
</tr>
<tr>
<td>
<button class="ui grey small button" disabled>SIGNUP</button>
</td>
<td>
<button class="ui grey small button" disabled>SIGNUP</button>
</td>
<td>
<button class="ui grey small button" disabled>SIGNUP</button>
</td>
<td>
<button class="ui grey small button" disabled>SIGNUP</button>
</td>
<td>
<button class="ui grey small button" disabled>SIGNUP</button>
</td>
<td>
<button class="ui grey small button" disabled>SIGNUP</button>
</td>
</tr>
</tbody>
</table>
<div id="demo" class="ui horizontal divider">
UNDER DEVELOPMENT
</div>
<div class="ui basic segment">
<img alt="UAParser.js Illustration" class="ui centered image illustration" src="../images/uap-cloud-api.png" />
</div>
<div class="ui basic segment">
<form class="ui form" id="signupForm" method="post">
<h3 class="ui dividing header">Coming Soon in 3.. 2..</h3>
<p>Be the first to know when UAParser @Cloud API/MCP is live! Subscribe now and get exclusive early access, updates, and special offers.</p>
<div class="two fields">
<div class="field">
<label for="name">Name</label>
<input type="text" name="name" id="name" placeholder="Your Name (Optional)" />
</div>
<div class="field">
<label for="email">Email</label>
<input type="email" name="email" id="email" required placeholder="your@email (Required)" />
</div>
</div>
<button class="ui large red button" type="submit"><i class="icon mail"></i> NOTIFY ME <i class="icon arrow circle right"></i></button>
<div id="loader" style="display:none">Submitting...</div>
</form>
</div>
</div>
</div>
<div class="ui instagram inverted vertical footer segment">
<div class="ui container">
<div class="ui stackable inverted divided equal height stackable grid">
<div class="three wide column">
<h4 class="ui inverted header">About</h4>
<div class="ui inverted link list">
<a href="https://uaparser.dev" target="_blank" class="item">UAParser.js</a>
<a href="https://store.faisalman.com/checkout/buy/e236ea87-9b2b-400e-9683-24367f731b35" target="_blank" class="item">PRO</a>
<a href="https://github.com/faisalman/ua-parser-js" target="_blank" class="item">GitHub</a>
<a href="https://www.npmjs.com/package/ua-parser-js" target="_blank" class="item">npm</a>
<a href="mailto:cloud@uaparser.dev" target="_blank" class="item">Contact Us</a>
</div>
</div>
<div class="three wide column">
<h4 class="ui inverted header">Services</h4>
<div class="ui inverted link list">
<a href="#" class="item">FAQ</a>
<a href="#pricing" class="item">Pricing</a>
<a href="https://docs.uaparser.dev" target="_blank" class="item">Documentation</a>
<a id="terms-link" target="_blank" class="item">Terms & Conditions</a>
<a id="privacy-link" target="_blank" class="item">Privacy Policy</a>
</div>
</div>
<div class="seven wide column">
<h4 class="ui inverted header">UAParser @cloud</h4>
<p>Copyright (c) 2025 Faisal Salman &lt;cloud@uaparser.dev&gt;</p>
</div>
</div>
</div>
</div>
</div>
<div class="ui mini modal" id="submission-modal">
<div class="header">Thank You!</div>
<div class="content">
<p>Your submission is received. We'll be in touch as soon as we're ready! Stay tuned 🚀</p>
<p></p>
</div>
<div class="actions">
<div class="ui ok green button">OK</div>
</div>
</div>
<div class="ui modal" id="terms-modal">
<div class="header">Terms & Conditions</div>
<div class="content">
<div class="ui sub header">
Introduction
</div>
<p>Welcome to UAParser @cloud. By accessing or using our service, you agree to these Terms & Conditions.</p>
<div class="ui sub header">
Use of Service
</div>
<ul>
<li>UAParser @cloud provides a cloud-based user-agent parsing service.</li>
<li>You agree to use the service only for lawful purposes and not to disrupt or abuse the system.</li>
<li>We reserve the right to modify or discontinue the service at any time.</li>
</ul>
<div class="ui sub header">
Account Registration & Security
</div>
<ul>
<li>You may need to create an account to access certain features.</li>
<li>You are responsible for maintaining the confidentiality of your credentials and for all activities under your account.</li>
<li>We may suspend or terminate accounts involved in fraudulent or abusive activities.</li>
</ul>
<div class="ui sub header">
Payment & Refund Policy
</div>
<ul>
<li>Certain features of UAParser @cloud may require payment.</li>
<li>Payments are non-refundable except where required by law or explicitly stated in a separate agreement.</li>
<li>If you believe you are eligible for a refund, contact our support team at <a href="mailto:cloud@uaparser.dev">cloud@uaparser.dev</a></li>
</ul>
<div class="ui sub header">
Service Availability & Limitations
</div>
<ul>
<li>We strive to keep UAParser @cloud available and reliable but do not guarantee uninterrupted service.</li>
<li>We are not liable for any data loss, service interruptions, or damages resulting from the use of our service.</li>
</ul>
<div class="ui sub header">
Intellectual Property
</div>
<ul>
<li>All rights, title, and interest in UAParser @cloud remain with us.</li>
<li>You may not copy, modify, or distribute any part of our service without prior authorization.</li>
</ul>
<div class="ui sub header">
Termination
</div>
<p>We may suspend or terminate your access to UAParser @cloud at our discretion if you violate these terms.</p>
<div class="ui sub header">
Changes to Terms
</div>
<p>We may update these Terms & Conditions from time to time.</p>
<div class="ui sub header">
Contact Us
</div>
<p>For any questions regarding these Terms & Conditions, please contact us at <a href="mailto:cloud@uaparser.dev">cloud@uaparser.dev</a></p>
</div>
<div class="actions">
<div class="ui ok green button">OK</div>
</div>
</div>
<div class="ui modal" id="privacy-modal">
<div class="header">Privacy Policy</div>
<div class="content">
<div class="ui sub header">
Introduction
</div>
<p>Welcome to UAParser @Cloud. This Privacy Policy explains how we collect, use, and protect your information when you use our service.</p>
<div class="ui sub header">
Information We Collect
</div>
<ul>
<li>Usage Data: We may collect non-personal device and browser information, including user-agent strings, to provide accurate parsing services.</li>
<li>Account Information: If you create an account, we may collect your name, email address, and billing details.</li>
<li>Logs & Analytics: We may store logs for service improvement and security purposes.</li>
</ul>
<div class="ui sub header">
How We Use Your Information
</div>
<ul>
<li>To provide and improve our UAParser @Cloud services.</li>
<li>To enhance security and prevent fraudulent activities.</li>
<li>To communicate service updates and respond to inquiries.</li>
</ul>
<div class="ui sub header">
Data Sharing & Security
</div>
<p>We do not sell or share your personal data with third parties, except as required by law.</p>
<div class="ui sub header">
Your Rights & Choices
</div>
<ul>
<li>You may request access, correction, or deletion of your personal data.</li>
<li>You can opt out of non-essential communications.</li>
</ul>
<div class="ui sub header">
Changes to This Policy
</div>
<p>We may update this Privacy Policy from time to time. Continued use of the service after changes indicates your acceptance.</p>
<div class="ui sub header">
Contact Us
</div>
<p>If you have any questions, please contact us at <a href="mailto:cloud@uaparser.dev">cloud@uaparser.dev</a></p>
</div>
<div class="actions">
<div class="ui ok green button">OK</div>
</div>
</div>
<script>
const STORE = 'uaparserjs';
const form = document.getElementById('signupForm');
const loadingMessage = document.getElementById('loader');
const formUrl = `https://${STORE}.lemonsqueezy.com/email-subscribe/external`;
const redirectUrl = 'https://uaparser.dev/cloud'; // Use your own URL here
form.addEventListener('submit', async (e) => {
e.preventDefault();
showLoading();
try {
const response = await fetch(formUrl, {
method: 'POST',
body: new FormData(e.target),
});
if (!response.ok) {
throw new Error("Subscription failed.");
}
$('#submission-modal').modal('setting', 'transition', 'vertical flip').modal('show');
} catch (error) {
alert(`Sorry, there was an issue: ${error}`);
} finally {
hideLoading();
}
});
function showLoading() {
form.querySelector('button').disabled = true;
loadingMessage.style.display = 'block';
}
function hideLoading() {
form.querySelector('button').disabled = false;
loadingMessage.style.display = 'none';
}
$('#privacy-modal').modal('attach events', '#privacy-link', 'show');
$('#terms-modal').modal('attach events', '#terms-link', 'show');
</script>
</body>
</html>

View File

@@ -1,147 +0,0 @@
html {
scroll-behavior: smooth;
}
code,
.code {
font-family: 'Source Code Pro', 'Courier New', Courier, monospace;
}
strong.subtle{
color: rgba(0, 0, 0, 0.7)
}
.hljs-punctuation, .hljs-tag {
color: rgba(255, 255, 255, 0.3);
}
.ui.horizontal.divider {
margin: 3rem 0 2rem;
}
.hidden.menu {
display: none;
}
.masthead a h1 {
color: #fff;
font-weight: bold;
font-size: 5rem;
padding: 2em 0 0 0;
}
.masthead h2 {
font-weight: normal;
margin: 0 0 2em 0;
}
.masthead.inverted.segment {
background-color: #6435c9;
padding: 0;
}
.masthead.segment {
min-height: 600px;
padding: 1em 0em;
}
.masthead .ui.menu .ui.button {
margin-left: 0.5em;
}
.masthead h3 {
background-color: black;
padding: 42.5vh 0;
font-size: 5rem;
}
.masthead .ui.horizontal.divider {
padding: 3em;
margin: 0;
}
.masthead .ui.massive.buttons {
margin: 2rem 0 5rem;
}
#featured .segment::before,
#featured .segment::after,
#featured .segment {
background: #ffffeb;
}
#featured h1 .headline {
font-family: "EB Garamond", "Source Sans Pro", "Helvetica Neue", Arial, Helvetica, sans-serif;
font-size: 3rem;
font-weight: 400;
letter-spacing: -.05em;
line-height: .85;
}
.instagram.masthead.inverted.segment {
background: #6435c9;
background-image: linear-gradient(to left top, #6435c9, #7143d0, #7e51d6, #8a5edd, #966ce3);
box-shadow: 0px 3px 10px rgba(0,0,0,.25);
}
.instagram.footer.inverted.segment {
background: #6435c9;
background-image: linear-gradient(to right bottom, #6435c9, #7143d0, #7e51d6, #8a5edd, #966ce3);
box-shadow: 0px 3px 10px rgba(0,0,0,.25);
}
.ui.image.illustration {
width:1000px;
}
.ui.vertical.stripe {
padding: 8em 0em;
}
.ui.vertical.stripe h3 {
font-size: 2em;
}
.ui.vertical.stripe .button + h3,
.ui.vertical.stripe p + h3 {
margin-top: 3em;
}
.ui.vertical.stripe .floated.image {
clear: both;
}
.ui.vertical.stripe p {
font-size: 1.33em;
}
.ui.vertical.stripe .horizontal.divider {
margin: 3em 0em;
}
.quote.stripe.segment {
padding: 0em;
}
.quote.stripe.segment .grid .column {
padding-top: 5em;
padding-bottom: 5em;
}
.footer.segment {
padding: 5em 0em;
}
.footer p {
color: #fff;
}
.secondary.pointing.menu .toc.item {
display: none;
}
@media only screen and (max-width: 700px) {
.ui.fixed.menu {
display: none !important;
}
.secondary.pointing.menu .item,
.secondary.pointing.menu .menu {
display: none;
}
.secondary.pointing.menu .toc.item {
display: block;
}
#demo-result > .row > .column,
#showcase .ui.stackable.grid > .row > .column {
width: 33.3% !important;
}
.masthead h3 {
font-size: 2em;
}
}
.what-provides {
font-size: 1rem;
font-weight: bold;
text-transform: uppercase;
letter-spacing: 0.05em;
}

View File

@@ -1,8 +0,0 @@
<svg width="187" height="187" viewBox="0 0 187 187" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect y="-0.00576019" width="187" height="187" rx="40" fill="#1A1A1A"/>
<path d="M48.1303 41.598C46.1328 41.598 44.2093 42.3748 42.8037 43.7804C41.361 45.1861 40.5842 47.1096 40.5842 49.0701V137.848C40.5842 138.847 40.7692 139.808 41.1391 140.733C41.509 141.658 42.0639 142.472 42.7667 143.174C43.4695 143.877 44.2833 144.432 45.2081 144.802C46.1328 145.172 47.0946 145.357 48.0933 145.357C50.0908 145.357 52.0144 144.58 53.42 143.174C54.8257 141.769 55.6395 139.882 55.6395 137.885V49.0701C55.6395 47.0726 54.8626 45.1861 53.42 43.7804C52.0144 42.3748 50.0908 41.598 48.0933 41.598H48.1303Z" fill="#FFFFEB"/>
<path d="M93.4069 58.5766C92.4081 58.5766 91.4464 58.7615 90.5216 59.1314C89.5968 59.5014 88.783 60.0562 88.0802 60.759C87.3774 61.4619 86.8225 62.2757 86.4526 63.2004C86.0827 64.1252 85.8608 65.0869 85.8608 66.0487V120.166C85.8608 122.164 86.6376 124.05 88.0802 125.456C89.4859 126.861 91.4094 127.638 93.4069 127.638C95.4044 127.638 97.3279 126.861 98.7336 125.456C100.139 124.05 100.953 122.164 100.953 120.166V66.0487C100.953 64.0512 100.176 62.1647 98.7336 60.759C97.3279 59.3534 95.4044 58.5766 93.4069 58.5766Z" fill="#FFFFEB"/>
<path d="M70.7647 89.1309C68.7672 89.1309 66.8437 89.9077 65.4381 91.3134C64.0324 92.719 63.2186 94.6056 63.2186 96.6031V127.453C63.2186 129.451 63.9954 131.337 65.4381 132.743C66.8437 134.149 68.7672 134.925 70.7647 134.925C72.7622 134.925 74.6858 134.149 76.0914 132.743C77.497 131.337 78.3108 129.451 78.3108 127.453V96.6031C78.3108 94.6056 77.534 92.719 76.0914 91.3134C74.6858 89.9077 72.7622 89.1309 70.7647 89.1309Z" fill="#FFFFEB"/>
<path d="M138.686 41.598C137.687 41.598 136.725 41.7829 135.8 42.1528C134.876 42.5227 134.062 43.0776 133.359 43.7804C132.656 44.4832 132.101 45.297 131.731 46.2218C131.361 47.1466 131.14 48.1083 131.14 49.0701V137.848C131.14 139.845 131.916 141.732 133.359 143.137C134.765 144.543 136.688 145.32 138.686 145.32C140.683 145.32 142.607 144.543 144.012 143.137C145.418 141.732 146.232 139.845 146.232 137.848V49.0701C146.232 47.0726 145.455 45.1861 144.012 43.7804C142.607 42.3748 140.683 41.598 138.686 41.598Z" fill="#FFFFEB"/>
<path d="M116.043 89.1309C114.046 89.1309 112.122 89.9077 110.717 91.3134C109.311 92.719 108.497 94.6056 108.497 96.6031V127.453C108.497 129.451 109.274 131.337 110.717 132.743C112.122 134.149 114.046 134.925 116.043 134.925C118.041 134.925 119.964 134.149 121.37 132.743C122.776 131.337 123.59 129.451 123.59 127.453V96.6031C123.59 94.6056 122.813 92.719 121.37 91.3134C119.964 89.9077 118.041 89.1309 116.043 89.1309Z" fill="#FFFFEB"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -1,10 +0,0 @@
image sources:
======================
http://iconfinder.com
http://iconarchive.com
http://wikimedia.org
http://distrowatch.com
https://github.com/alrra/browser-logos
https://www.flaticon.com/
https://logo.wine/
https://icon-icons.com/

Binary file not shown.

Before

Width:  |  Height:  |  Size: 823 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 268 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 234 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 323 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 323 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 323 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Some files were not shown because too many files have changed in this diff Show More