<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright (c) 2016 Google Inc.

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="@dimen/glif_icon_size"
    android:height="@dimen/glif_icon_size"
    android:viewportHeight="48.0"
    android:viewportWidth="48.0">
    <path
        android:fillColor="#4285F4"
        android:pathData="M45.12,24.5c0,-1.56 -0.14,-3.06 -0.4,-4.5H24v8.51h11.84c-0.51,2.75 -2.06,5.08 -4.39,6.64v5.52h7.11c4.16,-3.83 6.56,-9.47 6.56,-16.17z" />
    <path
        android:fillColor="#34A853"
        android:pathData="M24,46c5.94,0 10.92,-1.97 14.56,-5.33l-7.11,-5.52c-1.97,1.32 -4.49,2.1 -7.45,2.1 -5.73,0 -10.58,-3.87 -12.31,-9.07H4.34v5.7C7.96,41.07 15.4,46 24,46z" />
    <path
        android:fillColor="#FBBC05"
        android:pathData="M11.69,28.18C11.25,26.86 11,25.45 11,24s0.25,-2.86 0.69,-4.18v-5.7H4.34C2.85,17.09 2,20.45 2,24c0,3.55 0.85,6.91 2.34,9.88l7.35,-5.7z" />
    <path
        android:fillColor="#EA4335"
        android:pathData="M24,10.75c3.23,0 6.13,1.11 8.41,3.29l6.31,-6.31C34.91,4.18 29.93,2 24,2 15.4,2 7.96,6.93 4.34,14.12l7.35,5.7c1.73,-5.2 6.58,-9.07 12.31,-9.07z" />
</vector>
