Tag Archive | "about"

All the latest Android developer news and features you need to know about


Android Studio

December has been a relatively quiet month in the world of Android development, with fewer posts over at the Android Developers blog than usual, and many other sites taking a break for the holidays. Hey, devs need a break every now and then too!

That said, there have still been a few exciting announcements to cover, including the release of a new Android Game SDK, and a powerful code search tool. Consider this a case of quality-over-quantity, then. Read below for the full scoop.

News and announcements

Code Search with Cross References for the Android Open Source Project – Google announces what may prove an extremely useful tool for Android developers: a search engine for code. See more below.

Android Game SDK

From Google

Android Game SDK – Android Game SDK offers a selection of libraries direct from Google to enhance game development on the platform. The first library that will land as part of this new initiative is designed to help developers with frame pacing.

The Frame Pacing Library will use Android’s Choreographer API to synchronize with the display system. This helps ensure frames appear when they should, to avoid buffering and stuttering, and to keep audio in-pace.

Android 10 on Android TV – Pretty much this article is what it says on the tin. On December 10, Google brought Android API level 29 to Android TV. This will mean faster updates through Project Treble, more secure storage, and other goodies from the latest iteration of Android.

Another new TV-centric feature for developers is ADT-3. This is a dongle aimed at developers to test their apps on the platform. It will be made available soon, and you can be sure to find out about it here in the coming months.

Features and resources from around the web

Making an app with no programming experience: What are your options?This post explores how you might set about developing an app with no coding skills. It covers app builders, as well as numerous other options.

Code SearchCode Search is a new tool from Google that has the potential to be extremely useful. This is a search engine that focuses specifically on Android code, sorting through git repositories like github, gitweb, etc. What’s unique about this, is that you can actually search within the code itself for specific commands or keywords. In short, you can actually view the code before you decide if you might be interested in using it.

Android Code Search

We all know that programming is essentially a process of lifting bits of code and stitching them together like a Frankenstein’s monster (right?). This has potentially to streamline that process considerably!

Kotlin/Everywhere – it’s a wrap! At Google I/O, Google announced it would be increasingly placing the focus of Android development on Kotlin. Kotlin/Everywhere was a series of events discussing the language. This post includes links to various talks and resources for those that missed the live events.

Workplace for Kotlin code in IDEThis post shares a method for testing snippets of Kotlin code without deploying your entire app, via REPL.

Lost Crypt 2D sample project for Unity – Unity has introduced a host of new 2D features pertinent to Android developers over recent months. This new sample project serves as a useful demonstration of how best to use them.

Lost Crypt Android Developer News

From Unity

Speed up your Android dynamic features flow testing – Dynamic delivery has a lot of uses for devs and can enhance the user experience significantly. However, testing these features can be tricky. This post explains the solution, using the Gradle Play Publisher plugin.

Gesture Navigation: Insets – Insets help to improve gesture navigation by avoiding conflicts with existing UI features.

Migrating from Fingerprint Manager to BiometricPrompt – A handy guide (pun intended) to switching to the newish AndroidX Biometric Library.

And that’s it – see you next month!

Android Authority

Posted in Android NewsComments (0)

Think punch holes are annoying? How about four of them?


Vivo thinks there might be a need for more than one punch-hole cutout in the future.

We saw the first phones equipped with a punch-hole cutout a year ago, allowing manufacturers to ditch a thick top bezel. We’ve since seen pill-shaped punch-hole cutouts on the likes of the Galaxy S10, and now Chinese brand Vivo is thinking about upping the ante.

The smartphone manufacturer filed a patent with the China National Intellectual Property Administration (CNIPA), according to Tiger Mobiles. And the filing shows up to four individual punch-hole cutouts on a single smartphone display.

Images attached to the filing show either a single punch-hole in each corner of the screen, a pill-shaped cutout in both the top left and top right corners (with each “pill” hosting two sensors), or a separate pair of punch holes in both the top left and right corners. Check out the image below for a better idea:

It’s certainly an interesting take on the full-screen display, but it makes you wonder why you’d need more than two selfie cameras in the first place. Heck, I’d say three sensors at a push would be the maximum, accounting for a primary camera, an ultra-wide lens, and a 3D ToF sensor for more accurate depth and AR effects (as well as face unlock).

This is just a patent, so it isn’t necessarily indicative of a future product. We’ve previously seen other smartphone manufacturers file patents for similarly weird ideas too. Then again, what’s weird today might be a major part of the mobile experience tomorrow.

A punch-hole cutout in each corner seems like the least desirable option from a usability point of view though. This solution could potentially create problems with selfie angles (which camera are you supposed to look at?) and holding the phone without obscuring the relevant sensor.

Would you buy a Vivo phone or a device in general with four punch holes? Let us know in the comments!

More posts about smartphones


Android Authority

Posted in Android NewsComments (0)

PinePhone: Everything you need to know about the $150 Linux-powered phone


Pine64 PinePhonePine64

It’s no secret that two operating systems hold the lion’s share of the mobile market — Android and iOS. This current duopoly doesn’t give users much choice in the way of OS offerings, even though there is no shortage of hardware. In the past, Microsoft tried to break into the market to no avail, and Huawei will release its own offering soon enough.

But what if there was another alternative, one that’s more privacy-respecting and encourages tinkering? Enter the PinePhone by Pine64. This device isn’t quite ready for the mass market yet, but if you are looking for a unique alternative to Android and iOS devices, you’ll want to keep an eye on this one.

The company behind the PinePhone

Pine64 PINE A64 specsPine64

Pine64 is a small, community-driven company that specializes in developing ARM devices. It began by producing single-board computers similar to the Raspberry Pi. Eventually, the company also started developing laptops that run on these single-board computers, and now the company is branching into the mobile phone market — hence the PinePhone. Pine64 also plans on releasing a smartwatch and a tablet in the future, but those are conversations for another day.

What exactly is the PinePhone?

Pine64 PinePhone front back anglesPine64

The PinePhone is a fully open-sourced smartphone, and it is Pine64’s most ambitious project to date. And unlike most devices you can get buy today, Pine64 didn’t design the PinePhone to run Android or iOS. The company developed the device to run Linux.

The PinePhone may be a little too complicated for the average consumer.

We don’t know for sure which specific operating system the consumer-ready device will ship with, but Pine64 says it supports all available major Linux phone projects. Some notable projects include Ubuntu Touch, Sailfish OS, and Plasma Mobile. Each OS comes with its own pros and cons, and that variety is one of the PinePhone’s competitive advantages.

Users can choose which platform best suits their needs instead of simply using the one manufacturers want them to use. That means, depending on what OS they choose, they may have a vastly different experience from someone else who chooses a different OS for their PinePhone. On the flip side, users may have to load these operating systems on the device themselves, making the PinePhone a little too complicated for the average consumer.

What about the PinePhone specs?

Pine64 PinePhone SpecsPine64

The PinePhone will come in at a grand total of $ 150, and the specs match that price tag. It will come with the Allwinner A64 quad-core SoC, Mali 400 MP2 GPU, 2GB of RAM, and a 2,000mAh battery.

The display will be a 5.95-inch 1,440×720 LCD panel. The rear camera will tout a 5MP shooter, while the selfie camera sports a measly 2MP sensor.

You shouldn’t get this device if you are looking for high-end specs.

It will also include a USB-C charging port, a headphone jack, and a plastic chassis. Altogether, the device will weigh somewhere between 180 and 200 grams. Needless to say, you shouldn’t get this device if you are looking for high-end specs.

Will it run my favorite mobile apps?

Red Magic 3S play store

The answer to this question is not as simple as we might hope. Depending on which OS you choose, you will get access to vastly different application libraries. Some of the supported operating systems aim to include full Linux app support. Others want to develop their own mobile app ecosystem.

Expect to make some sacrifices as far as mobile app selection is concerned.

Thanks to Ubuntu Touch’s emphasis on web apps, it probably offers the most complete mobile app ecosystem out of the box. Sailfish OS’ native apps leave much to be desired, but it allows users to install some Android apps on specific devices. Hopefully, the PinePhone will get this ability too.

Other than that, app options are limited with the other offerings. If you are thinking about purchasing this device, expect to make some sacrifices as far as mobile app selection is concerned.

What is the PinePhone’s launch date, price, and availability?

Pine64 PinePhone BraveHeart EditionPine64

Right now, you can preorder a version of the device called the BraveHeart Edition, though I wouldn’t recommend you buy one. Pine64 made this version of the PinePhone solely for developers and early adopters, and it is not daily driver material.

The consumer-ready version will retail for $ 150, and Pine64 says it will launch sometime in Spring 2020. The device will ship worldwide, but some markets may be subject to extra shipping costs.


I don’t know about you, but I am pumped about this device. The idea of a completely open-source smartphone that is designed to be tinkered with excites me like none other.

Am I expecting the Pinephone to replace everyone’s Android device? Absolutely not. But do I think you should purchase one anyway? I do. It will only cost about as much as the average smart display, and it has the potential to expand our imaginations into what mobile computing could look like, not just what it is.

What about you? Are you excited about this device? Let us know in the poll below, and tell us why or why not in the comments section.

Please wait.. Loading poll


Android Authority

Posted in Android NewsComments (0)


Related Sites

Powered by WP Robot

PHVsPjxsaT48c3Ryb25nPndvb19hZF9pbWFnZV8xPC9zdHJvbmc+IC0gaHR0cDovL3d3dy5sb2NhbGNsaWNrcGFydG5lcnMuY29tL2FmZmlsaWF0ZV9hZC9hZmZpbGlhdGVfYmFubmVyXzEyNXgxMjUucG5nPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfMjwvc3Ryb25nPiAtIGh0dHA6Ly9tb2JpbGViYW5uZXJjcmVhdG9yLmNvbS9iYW5uZXJzLzEyNXgxMjUuZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfMzwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvMTI1eDEyNWMuanBnPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfNDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvMTI1eDEyNWQuanBnPC9saT48bGk+PHN0cm9uZz53b29fYWRfbXB1X2Fkc2Vuc2U8L3N0cm9uZz4gLSA8c2NyaXB0IGFzeW5jIHNyYz1cImh0dHBzOi8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL2pzL2Fkc2J5Z29vZ2xlLmpzXCI+PC9zY3JpcHQ+DQo8IS0tIGFuZHJvaWQtem9vbmUgMzAweDI1MCAtLT4NCjxpbnMgY2xhc3M9XCJhZHNieWdvb2dsZVwiDQogICAgIHN0eWxlPVwiZGlzcGxheTpibG9ja1wiDQogICAgIGRhdGEtYWQtY2xpZW50PVwiY2EtcHViLTcwODYxMzIwNjU4MDEyNTJcIg0KICAgICBkYXRhLWFkLXNsb3Q9XCI2MTk2ODExMjk4XCINCiAgICAgZGF0YS1hZC1mb3JtYXQ9XCJhdXRvXCINCiAgICAgZGF0YS1mdWxsLXdpZHRoLXJlc3BvbnNpdmU9XCJ0cnVlXCI+PC9pbnM+DQo8c2NyaXB0Pg0KICAgICAoYWRzYnlnb29nbGUgPSB3aW5kb3cuYWRzYnlnb29nbGUgfHwgW10pLnB1c2goe30pOw0KPC9zY3JpcHQ+PC9saT48bGk+PHN0cm9uZz53b29fYWRfbXB1X2Rpc2FibGU8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX21wdV9pbWFnZTwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvMzAweDI1MGEuanBnPC9saT48bGk+PHN0cm9uZz53b29fYWRfbXB1X3VybDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3RvcF9hZHNlbnNlPC9zdHJvbmc+IC0gPHNjcmlwdCBhc3luYyBzcmM9XCJodHRwczovL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qc1wiPjwvc2NyaXB0Pg0KPCEtLSBhbmRyb2lkLXpvb25lIDQ2OHg2MCAtLT4NCjxpbnMgY2xhc3M9XCJhZHNieWdvb2dsZVwiDQogICAgIHN0eWxlPVwiZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6NDY4cHg7aGVpZ2h0OjYwcHhcIg0KICAgICBkYXRhLWFkLWNsaWVudD1cImNhLXB1Yi03MDg2MTMyMDY1ODAxMjUyXCINCiAgICAgZGF0YS1hZC1zbG90PVwiMzQwNjk5NjQyMlwiPjwvaW5zPg0KPHNjcmlwdD4NCiAgICAgKGFkc2J5Z29vZ2xlID0gd2luZG93LmFkc2J5Z29vZ2xlIHx8IFtdKS5wdXNoKHt9KTsNCjwvc2NyaXB0PjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3RvcF9kaXNhYmxlPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19hZF90b3BfaW1hZ2U8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzLzQ2OHg2MGEuanBnPC9saT48bGk+PHN0cm9uZz53b29fYWRfdG9wX3VybDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF8xPC9zdHJvbmc+IC0gaHR0cDovL3NpdGlvbmV0LmxvY2FsY2xpay5ob3AuY2xpY2tiYW5rLm5ldDwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF8yPC9zdHJvbmc+IC0gaHR0cDovL3NpdGlvbmV0Lm1vYmliYW5uZXIuaG9wLmNsaWNrYmFuay5uZXQ8L2xpPjxsaT48c3Ryb25nPndvb19hZF91cmxfMzwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF80PC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRzX3JvdGF0ZTwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19hbHRfc3R5bGVzaGVldDwvc3Ryb25nPiAtIGdyZWVuLmNzczwvbGk+PGxpPjxzdHJvbmc+d29vX2FyY2hpdmVfZXhjZXJwdDwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19hdXRob3I8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fYXV0b19pbWc8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2Jsb2dfZXhjZXJwdDwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19jYXJvdXNlbF9oZWlnaHQ8L3N0cm9uZz4gLSAyOTI8L2xpPjxsaT48c3Ryb25nPndvb19jdXN0b21fY3NzPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fY3VzdG9tX2Zhdmljb248L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19jdXN0b21fdXBsb2FkX3RyYWNraW5nPC9zdHJvbmc+IC0gYTowOnt9PC9saT48bGk+PHN0cm9uZz53b29fZXhjbHVkZTwvc3Ryb25nPiAtIGE6Mzp7aTowO2k6MzA7aToyO2k6NTc7aTo0O2k6NTE7fTwvbGk+PGxpPjxzdHJvbmc+d29vX2V4Y2x1ZGVfdmlkZW88L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2ZlYXRfZW50cmllczwvc3Ryb25nPiAtIDM8L2xpPjxsaT48c3Ryb25nPndvb19mZWF0dXJlZF9jYXRlZ29yeTwvc3Ryb25nPiAtIEFuZHJvaWQ8L2xpPjxsaT48c3Ryb25nPndvb19mZWVkYnVybmVyX2lkPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fZmVlZGJ1cm5lcl91cmw8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19mcmFtZXdvcmtfdmVyc2lvbjwvc3Ryb25nPiAtIDUuNS4zPC9saT48bGk+PHN0cm9uZz53b29fZ29vZ2xlX2FuYWx5dGljczwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2hvbWU8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2hvbWVfdGh1bWJfaGVpZ2h0PC9zdHJvbmc+IC0gNTc8L2xpPjxsaT48c3Ryb25nPndvb19ob21lX3RodW1iX3dpZHRoPC9zdHJvbmc+IC0gMTAwPC9saT48bGk+PHN0cm9uZz53b29faW1hZ2Vfc2luZ2xlPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19sb2dvPC9zdHJvbmc+IC0gaHR0cDovL2FuZHJvaWQtem9vbmUuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEzLzA1L2xvZ29fYW5kcm9pZF96b29uZTMucG5nPC9saT48bGk+PHN0cm9uZz53b29fbWFudWFsPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL3N1cHBvcnQvdGhlbWUtZG9jdW1lbnRhdGlvbi9nYXpldHRlLWVkaXRpb24vPC9saT48bGk+PHN0cm9uZz53b29fb3B0aW9uczwvc3Ryb25nPiAtIGE6NTI6e3M6MTg6Indvb19hbHRfc3R5bGVzaGVldCI7czo5OiJncmVlbi5jc3MiO3M6ODoid29vX2xvZ28iO3M6NzU6Imh0dHA6Ly9hbmRyb2lkLXpvb25lLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxMy8wNS9sb2dvX2FuZHJvaWRfem9vbmUzLnBuZyI7czoxMzoid29vX3RleHR0aXRsZSI7czo1OiJmYWxzZSI7czoxODoid29vX2N1c3RvbV9mYXZpY29uIjtzOjA6IiI7czoyMDoid29vX2dvb2dsZV9hbmFseXRpY3MiO3M6MDoiIjtzOjE4OiJ3b29fZmVlZGJ1cm5lcl91cmwiO3M6MDoiIjtzOjE3OiJ3b29fZmVlZGJ1cm5lcl9pZCI7czowOiIiO3M6MTQ6Indvb19jdXN0b21fY3NzIjtzOjA6IiI7czoxNzoid29vX3Nob3dfY2Fyb3VzZWwiO3M6NDoidHJ1ZSI7czoyMToid29vX2ZlYXR1cmVkX2NhdGVnb3J5IjtzOjc6IkFuZHJvaWQiO3M6MTY6Indvb19mZWF0X2VudHJpZXMiO3M6MToiMyI7czoyNzoid29vX3NsaWRlcl9tYWdhemluZV9leGNsdWRlIjtzOjQ6InRydWUiO3M6MTY6Indvb19zbGlkZXJfc2ZhZGUiO3M6NToiZmFsc2UiO3M6MTY6Indvb19zbGlkZXJfY2ZhZGUiO3M6NToiZmFsc2UiO3M6MTY6Indvb19zbGlkZXJfc3BlZWQiO3M6MzoiMC42IjtzOjE4OiJ3b29fc2xpZGVyX3RpbWVvdXQiO3M6MToiNiI7czoyNDoid29vX3NsaWRlcl9jb250ZW50X3NwZWVkIjtzOjM6IjAuNiI7czoxOToid29vX2Nhcm91c2VsX2hlaWdodCI7czozOiIyOTIiO3M6ODoid29vX2hvbWUiO3M6NToiZmFsc2UiO3M6MTY6Indvb19ibG9nX2V4Y2VycHQiO3M6NDoidHJ1ZSI7czoxOToid29vX2FyY2hpdmVfZXhjZXJwdCI7czo0OiJ0cnVlIjtzOjEwOiJ3b29fYXV0aG9yIjtzOjQ6InRydWUiO3M6MTQ6Indvb19zaG93X3ZpZGVvIjtzOjQ6InRydWUiO3M6MTc6Indvb19leGNsdWRlX3ZpZGVvIjtzOjU6ImZhbHNlIjtzOjE4OiJ3b29fdmlkZW9fY2F0ZWdvcnkiO3M6NjoiVmlkZW9zIjtzOjE4OiJ3b29fd3B0aHVtYl9ub3RpY2UiO3M6MDoiIjtzOjIyOiJ3b29fcG9zdF9pbWFnZV9zdXBwb3J0IjtzOjQ6InRydWUiO3M6MTQ6Indvb19waXNfcmVzaXplIjtzOjQ6InRydWUiO3M6MTc6Indvb19waXNfaGFyZF9jcm9wIjtzOjQ6InRydWUiO3M6MTA6Indvb19yZXNpemUiO3M6NDoidHJ1ZSI7czoxMjoid29vX2F1dG9faW1nIjtzOjU6ImZhbHNlIjtzOjIwOiJ3b29faG9tZV90aHVtYl93aWR0aCI7czozOiIxMDAiO3M6MjE6Indvb19ob21lX3RodW1iX2hlaWdodCI7czoyOiI1NyI7czoxNToid29vX3RodW1iX3dpZHRoIjtzOjM6IjEwMCI7czoxNjoid29vX3RodW1iX2hlaWdodCI7czoyOiI1NyI7czoxNjoid29vX2ltYWdlX3NpbmdsZSI7czo1OiJmYWxzZSI7czoxNjoid29vX3NpbmdsZV93aWR0aCI7czozOiIyNTAiO3M6MTc6Indvb19zaW5nbGVfaGVpZ2h0IjtzOjM6IjE4MCI7czoxMzoid29vX3Jzc190aHVtYiI7czo1OiJmYWxzZSI7czoxODoid29vX2FkX3RvcF9kaXNhYmxlIjtzOjU6ImZhbHNlIjtzOjE4OiJ3b29fYWRfdG9wX2Fkc2Vuc2UiO3M6MzEzOiI8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLQ0KZ29vZ2xlX2FkX2NsaWVudCA9ICJjYS1wdWItMTM5NjAzNTE3OTk0ODI2OSI7DQovKiA0Njh4NjBhbmRyb2lkem9vbmUgKi8NCmdvb2dsZV9hZF9zbG90ID0gIjE5MzU4MDg2NzciOw0KZ29vZ2xlX2FkX3dpZHRoID0gNDY4Ow0KZ29vZ2xlX2FkX2hlaWdodCA9IDYwOw0KLy8tLT4NCjwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiDQpzcmM9Imh0dHA6Ly9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvc2hvd19hZHMuanMiPg0KPC9zY3JpcHQ+IjtzOjE2OiJ3b29fYWRfdG9wX2ltYWdlIjtzOjQwOiJodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzLzQ2OHg2MGEuanBnIjtzOjE0OiJ3b29fYWRfdG9wX3VybCI7czoyNDoiaHR0cDovL3d3dy53b290aGVtZXMuY29tIjtzOjE0OiJ3b29fYWRzX3JvdGF0ZSI7czo0OiJ0cnVlIjtzOjE0OiJ3b29fYWRfaW1hZ2VfMSI7czo0MToiaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy8xMjV4MTI1YS5qcGciO3M6MTI6Indvb19hZF91cmxfMSI7czoyNDoiaHR0cDovL3d3dy53b290aGVtZXMuY29tIjtzOjE0OiJ3b29fYWRfaW1hZ2VfMiI7czo0MToiaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy8xMjV4MTI1Yi5qcGciO3M6MTI6Indvb19hZF91cmxfMiI7czoyNDoiaHR0cDovL3d3dy53b290aGVtZXMuY29tIjtzOjE0OiJ3b29fYWRfaW1hZ2VfMyI7czo0MToiaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy8xMjV4MTI1Yy5qcGciO3M6MTI6Indvb19hZF91cmxfMyI7czoyNDoiaHR0cDovL3d3dy53b290aGVtZXMuY29tIjtzOjE0OiJ3b29fYWRfaW1hZ2VfNCI7czo0MToiaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy8xMjV4MTI1ZC5qcGciO3M6MTI6Indvb19hZF91cmxfNCI7czoyNDoiaHR0cDovL3d3dy53b290aGVtZXMuY29tIjt9PC9saT48bGk+PHN0cm9uZz53b29fcGlzX2hhcmRfY3JvcDwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19waXNfcmVzaXplPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX3Bvc3RfaW1hZ2Vfc3VwcG9ydDwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19yZXNpemU8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fcnNzX3RodW1iPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19zaG9ydG5hbWU8L3N0cm9uZz4gLSB3b288L2xpPjxsaT48c3Ryb25nPndvb19zaG93X2Nhcm91c2VsPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3dfdmlkZW88L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fc2luZ2xlX2hlaWdodDwvc3Ryb25nPiAtIDE4MDwvbGk+PGxpPjxzdHJvbmc+d29vX3NpbmdsZV93aWR0aDwvc3Ryb25nPiAtIDI1MDwvbGk+PGxpPjxzdHJvbmc+d29vX3NsaWRlcl9jZmFkZTwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fc2xpZGVyX2NvbnRlbnRfc3BlZWQ8L3N0cm9uZz4gLSAwLjY8L2xpPjxsaT48c3Ryb25nPndvb19zbGlkZXJfbWFnYXppbmVfZXhjbHVkZTwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19zbGlkZXJfc2ZhZGU8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX3NsaWRlcl9zcGVlZDwvc3Ryb25nPiAtIDAuNjwvbGk+PGxpPjxzdHJvbmc+d29vX3NsaWRlcl90aW1lb3V0PC9zdHJvbmc+IC0gNjwvbGk+PGxpPjxzdHJvbmc+d29vX3RhYnM8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX3RleHR0aXRsZTwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fdGhlbWVuYW1lPC9zdHJvbmc+IC0gR2F6ZXR0ZTwvbGk+PGxpPjxzdHJvbmc+d29vX3RodW1iX2hlaWdodDwvc3Ryb25nPiAtIDU3PC9saT48bGk+PHN0cm9uZz53b29fdGh1bWJfd2lkdGg8L3N0cm9uZz4gLSAxMDA8L2xpPjxsaT48c3Ryb25nPndvb192aWRlb19jYXRlZ29yeTwvc3Ryb25nPiAtIFZpZGVvczwvbGk+PGxpPjxzdHJvbmc+d29vX3dwdGh1bWJfbm90aWNlPC9zdHJvbmc+IC0gPC9saT48L3VsPg==