Tag Archive | "ANDROID"

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)

New Android phones in Turkey won’t work with Google apps due to legal scuffle


Huawei Mate 30 Pro Google Play store

According to Reuters, a legal scuffle between Google and Turkey is having some unwelcome consequences. According to Google, future Android devices launched in the country will not support Google apps, at least as of right now.

Google sent out a message to its Turkish partners regarding the policy update.

“We’ve informed our business partners that we will not be able to work with them on new Android phones to be released for the Turkish market,” a Google statement said. “Consumers will be able to purchase existing device models and will be able to use their devices and applications normally. Google’s other services will be unaffected.”

Google and Turkey are in the middle of negotiations to resolve the problem.

The problem stems from antitrust issues Turkey raised with Google in 2018. In September of that year, the country penalized Google to the tune of 93 million lira (~$ 17.4 million) for violating competition law with its mobile software sales. Google had six months to address this problem.

Related: DOJ allegedly looking into the Google Fitbit deal over antitrust issues

Google did change its policies related to the financial penalty, but apparently it did not meet all of Turkey’s requirements, which included allowing users to change the default search engine on their handsets.

As punishment for not meeting Turkey’s requirements related to that previously mentioned fine, Google would need to pay a fine equivalent to 0.05% of its per-day revenue in Turkey going forward. This is likely the primary reason why Google is halting any support for new handsets in Turkey.

This antitrust issue between Google and Turkey is nothing new for the company. Over the past few years, Google has faced increased scrutiny from the European Commission related to its competition policies and regulators here in the US are reportedly thinking of pursuing similar litigation.

More posts about Google


Android Authority

Posted in Android NewsComments (0)

Android 10 update breaks Google Pixel 2 Wi-Fi for many users


Google released the Pixel 2 and Pixel 2 XL just over two years ago. The company has since updated the devices with each new iteration of Android since. Unfortunately, the platform’s most recent update, Android 10, seems to break Wi-Fi functionality on many Pixel 2 devices.

Thanks to a tip from Android Authority reader LW Rozanski, we’ve been notified of a Google support thread where hundreds of users are claiming Android’s latest update renders Wi-Fi nearly useless on their devices. Interestingly, though, it seems no two cases are the same.

Some users claim their devices can connect to Wi-Fi networks, but internet access is not available. Others say Wi-Fi connectivity will drop sporadically. Some also claim that even their devices’ Bluetooth functionality is inconsistent and unreliable after receiving the Android 10 update.

Related: Google confirms that Pixel 2 camera won’t get Top Shot feature

Google has yet to formally address the issue at large, though some users have received replacement devices running Android 9. This is not a proper solution since many devices could still suffer the same problems if and when users upgrade them to Android 10.

So far, the only potential fix is to factory reset the device, and even that isn’t guaranteed. And even if it was, users shouldn’t be required to reset their devices just to reclaim its basic functionality.

Fortunately, we have not had this Wi-Fi issue on any of our Pixel 2 devices after receiving the Android 10 update, so we cannot replicate the problem. But what about you? Have you had any of these issues with your devices, and have you had any luck sorting them out? Let us know in the comments below.

More posts about Google Pixel phones


Android Authority

Posted in Android NewsComments (0)

How to set up a mobile hotspot on Android


Mobile hotspot button on Android Quick Settings.

While using your smartphone as your sole internet source is not preferable, there are times when turning your Android phone into a hotspot can really come in handy. Learning how to set up a mobile hotspot on Android may be helpful when your main internet connection goes down, for example.

In this post we will show you the ins and outs of setting up a mobile hotspot on Android, so let’s get started.

Editor’s note: Please take the time to get to know your mobile carrier and the service plan you have purchased. Not all plans allow for tethering and hotspot services and may incur additional charges. Also, some carrier-branded phones may have disabled hotspot capabilities altogether on your Android phone. We’ll try to get you up and running with a few techniques today, but it simply may not be possible on your device.

Show More

How to set up a mobile hotspot on Android

Mobile hotspot button on Android Quick Settings.

You have likely seen the hotspot button in your device’s quick settings drawer. While that is the fastest and easiest way to turn your mobile hotspot on and off, you are going to want to take a moment to configure things first.

Here’s how you configure a hotspot connection on Android:

  1. Open the Settings app;
  2. Select the Network & internet option;
  3. Select Hotspot & tethering;
  4. Tap on Wi-Fi hotspot;
  5. This page has options for turning the hotspot feature on and off. Additionally, you can change the network name, security type, password, and more;
  6. Follow instructions to customize the hotspot feature to your liking.

The hard part is over. All there is left to do is to turn on the hotspot feature. There is a handy toggle to do so in the settings, or you can use the notification shade’s quick settings.

Keep in mind that smartphone manufacturers often add their own UI elements to the experience. This often means moving settings and options around. We based these instructions on the stock Android settings menu in a Google Pixel 3 XL. Things might be slightly different depending on which device you own, but it should be relatively similar.


Set up mobile hotspot with a third-party app

Google Play Store app showing up on Pixel 3 smartphone

Any recent smartphone should come with hotspot capabilities built-in. This wasn’t the norm in the past, though. Those of you using older smartphones might not have a tethering/hotspot option at your disposal, in which case you might depend on using a third-party app.

Two of our favorite options are PdaNet+ and Portable Wi-Fi hotspot.


What’s next?

There are a bunch of great apps in the Google Play Store that provide these and similar services for hotspot and tethering. Keep in mind that your best bet is to use the default Android or carrier tool. Third-party options are for the few users left who still need such services.

It is also important to keep security in mind when using a mobile hotspot. You should be able to trust the hotspot that you’ve created for yourself, but if you are connecting to other networks, you may consider a VPN Proxy service. We’ve looked at a number before, including Hotspot Shield.

More posts about


Wrapping up

That’s how you setup hotspot on Android. Do any of you have other methods you prefer to use? Let us know in the comments!

Android Authority

Posted in Android NewsComments (0)

Google could offer a native wireless ADB option in Android 11


Google is working on a wireless ADB solution for a future version of Android.

ADB (Android Debug Bridge) functionality is one of the most important features for developers and enthusiasts, allowing you to communicate with your Android phone via PC.

ADB traditionally requires a wired connection from your phone to the computer, but XDA-Developers has spotted AOSP commits showing that Google is working on wireless ADB functionality.

It seems like users will be able to toggle a “wireless debugging” switch in developer options, then create the connection by scanning a QR code or entering a six-digit code. It’s unclear when we’ll see this feature in Android, but Android 11 seems to be a likely candidate.

Editor’s Pick
Editor’s Pick

XDA notes that there are a couple of ways to create a wireless ADB connection, but they aren’t well-known or suffer from security issues. So this new solution would certainly be a welcome addition.

This might be a handy feature for people using computers without full-sized USB ports, or if you lost your phone’s USB cable. It could also be convenient for people who simply don’t want to deal with wires in the first place.

Do you use ADB functionality? What do you think of this solution? Let us know in the comments!

More posts about Android


Android Authority

Posted in Android NewsComments (0)

Android 10 gesture navigation now works with third-party launchers on Pixel 4


Google has fixed gesture navigation issues with third-party launchers in Android 10.

One of the most annoying things about Android 10 was that its new gesture navigation system wasn’t supported in third-party launchers. That’s a big problem, because it effectively meant that you were stuck with whatever launcher your manufacturer installed if you wanted Google’s take on gestures.

Fortunately, Google has fixed this issue with the Pixel 4, Android Police reports, although the fix doesn’t seem to apply to other Android 10-toting devices right now. In fact, the outlet reports that gesture navigation with third-party launchers is still a no-go on the Pixel 3 running Android 10.

The fix also means you can now use the new Google Assistant in conjunction with a third-party launcher on the Pixel 4 (the new voice assistant reportedly requires gesture navigation).

This is a step in the right direction for Google, and hopefully the fix comes to all Android 10 devices in the coming weeks and months. After all, the likes of Nova Launcher, Action Launcher, and Microsoft Launcher are some of the most prominent and handy launcher apps around.

Tired of your preinstalled launcher? Then you can check out our list of great Android launchers over here.

More posts about Android 10


Android Authority

Posted in Android NewsComments (0)

Duet Display for Android lets you turn an old device into a second screen


You simply cannot have too much screen real estate, that’s a fact. Coming to Android today, Duet Display promises to let you turn that old Android tablet you have lying around into a second screen for your PC or Mac.

Duet has been quite successful on iOS, and over the past months the team behind it worked to make the jump to Android. The app lets your devices act as secondary displays for your laptop or desktop. The beauty of it is the broad compatibility – as of today, Duet Display works on Android, iOS, Chrome OS, Mac, and Windows devices. Whatever combination of platforms you favor, there’s a solid chance you’ll be able to run Duet (except Linux, sorry Linux users, I love Linux).

Duet for Android works on phones or tablets running Android 7.1 or higher. That covers most Android tablets released in the past three years. If you have a Chrome OS device that supports Android apps, it can join in the fun as well.

On the other end, the computer needs to run Mac OS 10.14 or later or Windows 10 and the Duet desktop app. You can connect your Android device either using a USB-C cable (microUSB is sadly not supported) or wirelessly.

Editor’s Pick

Once set up, your Android or Chrome device will work just like a regular secondary monitor. The Duet team promises “stellar performance” with zero lag, regardless of the platforms you use. That said, to ensure lag-free functionality you’ll probably want to use the wired connection.

Duet has long been available on iOS only, and it’s good to see this genuinely helpful app make the jump to our platform of choice. Duet Display normally costs $ 19.99, but for the first week of Android availability you’ll be able to get it for 50% off or $ 9.99.

Other Android apps, like iDisplay, have purported to offer the same functionality as Duet. However, a brief look at iDisplay’s recent user reviews suggests the app is suffering from performance and compatibility issues.

Will you try out this app?

Android Authority

Posted in Android NewsComments (0)

(Update: available now for some users) Video calling app Duo is finally arriving on Android and iOS


Update, 08:50 AM ET: Duo is now available for some users in the Play Store. Click on the download button bellow to check the availability on your device.

Original post, 2:53 AM ET: One half of the dynamic, um, duo of chat apps that Google introduced at I/O is finally here. Almost.

In a blog post, Google announced that one-to-one video calling app Duo would become available on Android and iOS starting today. The post was published late in the evening (Pacific time), so the app should be rolling out right now.

Currently the Play Store Google Duo listing only gives us the option to pre-register for the app. It’s very likely that Google is rolling Duo out gradually, to avoid virtual traffic jams and iron out any unexpected issues that can arise with a brand new service.

Google highlighted the simplicity of Duo, an app that lacks the bells and whistles of Skype or even Google’s own Hangouts. “Duo takes the complexity out of video calling, so that you can be together in the moment wherever you are,” said the company.

It sounds like Google wants to remove any friction that could potentially prevent users from using video calling – the Mountain View company cited research stating that half of all users never make a video call.

To be as accessible as possible, Duo doesn’t need a separate account. You can start using it with just your phone number, just like WhatsApp.

Simple as it may be, Duo is not completely barebones. One of its coolest features is Knock Knock, which basically lets you see the person who’s calling before picking up. You also get end-to-end encryption, which aligns Google with Facebook and Apple when it comes to protecting user privacy.

Very importantly, Duo works on Android and iOS, which will put it on collision course with Apple’s very popular FaceTime.

We’ll keep an eye on the Google Duo Play Store page and update you as soon as the app becomes available.

Download Duo from the Play Store
Download Duo from the Apple App Store

No word yet on Allo, the text chat app that Google introduced alongside Duo. It can’t be too far behind though.

Anyone here who’s got Duo yet? Let us know!

Android Authority

Posted in Android NewsComments (0)

Pokémon Go hits 100 million installs on Android, made $200 million in its first month


Pokemon Go Pokemon Team

The Pokémon wave continues to wash across the world, with more regional releases in Central and South America, Asia and Oceania in recent days. While the game’s popularity is on the wane in the U.S., it’s worldwide appeal will last for a long time yet. With each new market, Pokémon Go adds a new spike to its download figures and opens up the potential for a lot more paying players. Pokémon Go has now surpassed 100 million installs in Google Play and reportedly made $ 200 million in its first month of release.

pokemon go 8See also: Pokemon Go increases battery pack sales by 101%31

Making millions daily

To put some of these figures in perspective, we recently reported that Pokémon Go developer Niantic is making $ 10 million per day on the title. Which is not bad at all considering the game’s slow geographical slow rollout.

Now, app analytics firm Sensor Tower is reporting that Pokémon Go made $ 200 million in its first month of availability. As more and more new markets start playing, that monthly revenue figure may continue to grow significantly.

Pokemon Go PokeStop timer

100 million Android installs in a month

Following its launch on July 6, on July 25, Pokémon Go topped 50 million installs on Android and 75 million on iOS and Android combined. One week later on August 2, across both mobile platforms, Pokémon Go topped 100 million installs.

Then, less than one week later, on August 7, Pokémon Go surpassed 100 million installs on Android alone. (In Google Play, you’ll notice that the game now sits in the 100,000,000-500,000,000 install bracket) The game saw its first 50 million Android installs in 19 days. The next 50 million came in half that time. With even more markets opening up that download rate will only continue to accelerate.

While some very large untapped markets remain, in particular India and Africa, some others – including Russia and China – won’t be getting Pokémon Go for some rather comical reasons. Regardless, the game doesn’t look like slowing down anytime soon and will likely earn a billion dollars for Niantic before the end of the year.

INSTALL POKEMON GO

How much have you spent on Pokémon Go? Do you think its popularity will slow down or continue to grow?

Android Authority

Posted in Android NewsComments (0)

Must read: top 10 Android stories


BlackBerry DTEK50 hands on 13

This week we reviewed the ZTE Axon 7, talked about the Samsung Galaxy Note 7, rounded up the best new Android apps and games, and much more. Here’s the news of the week.

Who wants to win a Nexus 6P?

The Nexus 6P is still one of the best Android phones on the market. Here’s how you can win one.

10 Android stories we handpicked for you

ZTE Axon 7 review A year after the mysterious Axon Pro, ZTE have launched the Axon 7 with a lot of upgrades and a $ 400 price tag. Is it the best affordable flagship around?


BlackBerry DTEK50 hands-on: the Priv minus the keyboard, essentially It’s been nearly a year since BlackBerry launched the PRIV running Android and now, they’re back again with the DTEK50. Is the phone as lame as its name?


Moto Mods review: blast, power and project in a snap Modularity is the name of the game and Josh takes a closer look at the Moto Mods – great ways to add more capabilities to the Moto Z range… at a price.


The most iconic phone from each manufacturer It’s easy to get caught up in the current smartphone landscape, but every once in awhile we need to look back and remember our history. Join us as we take a look at the most iconic phones from each OEM.


I want to develop Android apps – what languages should I learn? Developing Android apps can be rewarding, both personally and financially. Assuming you have a certain level of technical knowledge then it is possible to develop Android apps yourself. But what programming languages do you need to learn?


10 best new Android games of June 2016 Our own Joe Hindy rounds up the best Android games from June 2016!


10 best new Android apps of June 2016 Every month we update our list of favorite new apps, and this time Joe Hindy has given us a very neat portfolio of great additions to the Google Play Store. Among them are Bitly, Evie, Expeditions, Discogs and more.


Cyanogen OS vs Android: what’s the difference? If you’re at all interested in smartphones, you’ve probably heard of Cyanogen OS. What is it, and how does it differ from Google’s Android? Let’s find out.


Failure to launch: 6 devices we’re still waiting for Crowdfunding has kickstarted a number of great products, but for every success there are some failures. Here are six devices that we are still waiting for.


Lenovo K4 Note review We take a look at one of Lenovo’s new mid-range offerings in this in-depth Lenovo K4 Note review!


You have to watch this

And more: Here are the videos you don’t want to miss this week – July 31, 2016

More hot news

Keep up with AA

Get the Android Weekly delivered to your inbox each and every Sunday. Sign up for our newsletter below.


Android Authority Newsletters

View previous campaigns.

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==