<!--
 Copyright (C) 2015 The Android Open Source Project

     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"
        xmlns:auto="http://schemas.android.com/apk/res-auto"
    auto:height="64dp"
    auto:viewportHeight="200"
    auto:viewportWidth="200"
    auto:width="64dp"
    auto:autoMirrored="true" >

    <group>
        <path
            auto:name="background1"
            auto:fillColor="#FF000000"
            auto:pathData="M 0,0 l 100,0 l 0, 100 l -100, 0 z" />
        <path
            auto:name="background2"
            auto:fillColor="#FF000000"
            auto:pathData="M 100,100 l 100,0 l 0, 100 l -100, 0 z" />
    </group>
    <group
        auto:translateX="50"
        auto:translateY="50" >
        <path
            auto:name="twoLines"
            auto:pathData="M 100,20 l 0 80 l -30 -80"
            auto:strokeColor="#FF00FF00"
            auto:strokeLineCap="square"
            auto:strokeLineJoin="bevel"
            auto:strokeMiterLimit="10"
            auto:strokeWidth="20" />
    </group>

</vector>