// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

CANVAS_DIMENSIONS, 80,
MOVE_TO, 65.87f, 52,
CUBIC_TO, 58.21f, 52, 52, 58.22f, 52, 65.89f,
R_CUBIC_TO, 0, 7.67f, 6.21f, 13.89f, 13.87f, 13.89f,
R_CUBIC_TO, 7.65f, 0, 13.87f, -6.22f, 13.87f, -13.89f,
R_CUBIC_TO, 0, -7.67f, -6.21f, -13.89f, -13.87f, -13.89f,
CLOSE,
NEW_PATH,
PATH_COLOR_ARGB, 0xFF, 0xFF, 0xFF, 0xFF,
MOVE_TO, 67, 72.09f,
R_H_LINE_TO, -3,
V_LINE_TO, 69,
R_H_LINE_TO, 3,
MOVE_TO, 67, 67,
R_H_LINE_TO, -3,
R_V_LINE_TO, -7,
R_H_LINE_TO, 3,
CLOSE

CANVAS_DIMENSIONS, 40,
MOVE_TO, 32.93f, 26,
CUBIC_TO, 29.11f, 26, 26, 29.11f, 26, 32.95f,
R_CUBIC_TO, 0, 3.83f, 3.11f, 6.95f, 6.93f, 6.95f,
R_CUBIC_TO, 3.83f, 0, 6.93f, -3.11f, 6.93f, -6.94f,
CUBIC_TO_SHORTHAND, 36.76f, 26, 32.93f, 26,
CLOSE,
NEW_PATH,
PATH_COLOR_ARGB, 0xFF, 0xFF, 0xFF, 0xFF,
MOVE_TO, 33.5f, 36.04f,
H_LINE_TO, 32,
V_LINE_TO, 34.5f,
R_H_LINE_TO, 1.5f,
MOVE_TO, 33.5f, 33.5f,
H_LINE_TO, 32,
V_LINE_TO, 30,
R_H_LINE_TO, 1.5f,
CLOSE
