<!--
 Copyright (C) 2014 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"
        android:height="64dp"
        android:width="64dp"
        android:viewportHeight="400"
        android:viewportWidth="400" >

    <group
        android:name="FirstLevelGroup"
        android:alpha="0.9"
        android:translateX="100.0"
        android:translateY="0.0" >
        <path
            android:fillColor="#FFFF0000"
            android:pathData="@string/rectangle200" />

        <group
            android:name="SecondLevelGroup1"
            android:alpha="0.9"
            android:translateX="-100.0"
            android:translateY="50.0" >
            <path
                android:fillColor="#FF00FF00"
                android:pathData="@string/rectangle200" />

            <group
                android:name="ThridLevelGroup1"
                android:alpha="0.9"
                android:translateX="-100.0"
                android:translateY="50.0" >
                <path
                    android:fillColor="#FF0000FF"
                    android:pathData="@string/rectangle200" />
            </group>
            <group
                android:name="ThridLevelGroup2"
                android:alpha="0.8"
                android:translateX="100.0"
                android:translateY="50.0" >
                <path
                    android:fillColor="#FF000000"
                    android:pathData="@string/rectangle200" />
            </group>
        </group>
        <group
            android:name="SecondLevelGroup2"
            android:alpha="0.8"
            android:translateX="100.0"
            android:translateY="50.0" >
            <path
                android:fillColor="#FF0000FF"
                android:pathData="@string/rectangle200" />

            <group
                android:name="ThridLevelGroup3"
                android:alpha="0.9"
                android:translateX="-100.0"
                android:translateY="50.0" >
                <path
                    android:fillColor="#FFFF0000"
                    android:pathData="@string/rectangle200" />
            </group>
            <group
                android:name="ThridLevelGroup4"
                android:alpha="0.8"
                android:translateX="100.0"
                android:translateY="50.0" >
                <path
                    android:fillColor="#FF00FF00"
                    android:pathData="@string/rectangle200" />
            </group>
        </group>
    </group>

</vector>