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

import 'package:flutter/foundation.dart' show defaultTargetPlatform;
import 'package:flutter/widgets.dart';

// ignore_for_file: non_constant_identifier_names

/// A set of platform-adaptive Material Design icons.
///
/// Use [Icons.adaptive] to access a static instance of this class.
class PlatformAdaptiveIcons implements Icons {
  const PlatformAdaptiveIcons._();

  static bool _isCupertino() {
    switch (defaultTargetPlatform) {
      case TargetPlatform.android:
      case TargetPlatform.fuchsia:
      case TargetPlatform.linux:
      case TargetPlatform.windows:
        return false;
      case TargetPlatform.iOS:
      case TargetPlatform.macOS:
        return true;
    }
  }

  // Generated code: do not hand-edit.
  // See https://github.com/flutter/flutter/wiki/Updating-Material-Design-Fonts-&-Icons

  // BEGIN GENERATED PLATFORM ADAPTIVE ICONS

  /// Platform-adaptive icon for <i class="material-icons md-36">arrow_back</i> &#x2014; material icon named "arrow back" and <i class="material-icons md-36">arrow_back_ios</i> &#x2014; material icon named "arrow back ios".;
  IconData get arrow_back => !_isCupertino() ? Icons.arrow_back : Icons.arrow_back_ios;

  /// Platform-adaptive icon for <i class="material-icons-outlined md-36">arrow_back</i> &#x2014; material icon named "arrow back" (outlined) and <i class="material-icons-outlined md-36">arrow_back_ios</i> &#x2014; material icon named "arrow back ios" (outlined).;
  IconData get arrow_back_outlined => !_isCupertino() ? Icons.arrow_back_outlined : Icons.arrow_back_ios_outlined;

  /// Platform-adaptive icon for <i class="material-icons-round md-36">arrow_back</i> &#x2014; material icon named "arrow back" (round) and <i class="material-icons-round md-36">arrow_back_ios</i> &#x2014; material icon named "arrow back ios" (round).;
  IconData get arrow_back_rounded => !_isCupertino() ? Icons.arrow_back_rounded : Icons.arrow_back_ios_rounded;

  /// Platform-adaptive icon for <i class="material-icons-sharp md-36">arrow_back</i> &#x2014; material icon named "arrow back" (sharp) and <i class="material-icons-sharp md-36">arrow_back_ios</i> &#x2014; material icon named "arrow back ios" (sharp).;
  IconData get arrow_back_sharp => !_isCupertino() ? Icons.arrow_back_sharp : Icons.arrow_back_ios_sharp;

  /// Platform-adaptive icon for <i class="material-icons md-36">arrow_forward</i> &#x2014; material icon named "arrow forward" and <i class="material-icons md-36">arrow_forward_ios</i> &#x2014; material icon named "arrow forward ios".;
  IconData get arrow_forward => !_isCupertino() ? Icons.arrow_forward : Icons.arrow_forward_ios;

  /// Platform-adaptive icon for <i class="material-icons-outlined md-36">arrow_forward</i> &#x2014; material icon named "arrow forward" (outlined) and <i class="material-icons-outlined md-36">arrow_forward_ios</i> &#x2014; material icon named "arrow forward ios" (outlined).;
  IconData get arrow_forward_outlined => !_isCupertino() ? Icons.arrow_forward_outlined : Icons.arrow_forward_ios_outlined;

  /// Platform-adaptive icon for <i class="material-icons-round md-36">arrow_forward</i> &#x2014; material icon named "arrow forward" (round) and <i class="material-icons-round md-36">arrow_forward_ios</i> &#x2014; material icon named "arrow forward ios" (round).;
  IconData get arrow_forward_rounded => !_isCupertino() ? Icons.arrow_forward_rounded : Icons.arrow_forward_ios_rounded;

  /// Platform-adaptive icon for <i class="material-icons-sharp md-36">arrow_forward</i> &#x2014; material icon named "arrow forward" (sharp) and <i class="material-icons-sharp md-36">arrow_forward_ios</i> &#x2014; material icon named "arrow forward ios" (sharp).;
  IconData get arrow_forward_sharp => !_isCupertino() ? Icons.arrow_forward_sharp : Icons.arrow_forward_ios_sharp;

  /// Platform-adaptive icon for <i class="material-icons md-36">flip_camera_android</i> &#x2014; material icon named "flip camera android" and <i class="material-icons md-36">flip_camera_ios</i> &#x2014; material icon named "flip camera ios".;
  IconData get flip_camera => !_isCupertino() ? Icons.flip_camera_android : Icons.flip_camera_ios;

  /// Platform-adaptive icon for <i class="material-icons-outlined md-36">flip_camera_android</i> &#x2014; material icon named "flip camera android" (outlined) and <i class="material-icons-outlined md-36">flip_camera_ios</i> &#x2014; material icon named "flip camera ios" (outlined).;
  IconData get flip_camera_outlined => !_isCupertino() ? Icons.flip_camera_android_outlined : Icons.flip_camera_ios_outlined;

  /// Platform-adaptive icon for <i class="material-icons-round md-36">flip_camera_android</i> &#x2014; material icon named "flip camera android" (round) and <i class="material-icons-round md-36">flip_camera_ios</i> &#x2014; material icon named "flip camera ios" (round).;
  IconData get flip_camera_rounded => !_isCupertino() ? Icons.flip_camera_android_rounded : Icons.flip_camera_ios_rounded;

  /// Platform-adaptive icon for <i class="material-icons-sharp md-36">flip_camera_android</i> &#x2014; material icon named "flip camera android" (sharp) and <i class="material-icons-sharp md-36">flip_camera_ios</i> &#x2014; material icon named "flip camera ios" (sharp).;
  IconData get flip_camera_sharp => !_isCupertino() ? Icons.flip_camera_android_sharp : Icons.flip_camera_ios_sharp;

  /// Platform-adaptive icon for <i class="material-icons md-36">more_vert</i> &#x2014; material icon named "more vert" and <i class="material-icons md-36">more_horiz</i> &#x2014; material icon named "more horiz".;
  IconData get more => !_isCupertino() ? Icons.more_vert : Icons.more_horiz;

  /// Platform-adaptive icon for <i class="material-icons-outlined md-36">more_vert</i> &#x2014; material icon named "more vert" (outlined) and <i class="material-icons-outlined md-36">more_horiz</i> &#x2014; material icon named "more horiz" (outlined).;
  IconData get more_outlined => !_isCupertino() ? Icons.more_vert_outlined : Icons.more_horiz_outlined;

  /// Platform-adaptive icon for <i class="material-icons-round md-36">more_vert</i> &#x2014; material icon named "more vert" (round) and <i class="material-icons-round md-36">more_horiz</i> &#x2014; material icon named "more horiz" (round).;
  IconData get more_rounded => !_isCupertino() ? Icons.more_vert_rounded : Icons.more_horiz_rounded;

  /// Platform-adaptive icon for <i class="material-icons-sharp md-36">more_vert</i> &#x2014; material icon named "more vert" (sharp) and <i class="material-icons-sharp md-36">more_horiz</i> &#x2014; material icon named "more horiz" (sharp).;
  IconData get more_sharp => !_isCupertino() ? Icons.more_vert_sharp : Icons.more_horiz_sharp;

  /// Platform-adaptive icon for <i class="material-icons md-36">share</i> &#x2014; material icon named "share" and <i class="material-icons md-36">ios_share</i> &#x2014; material icon named "ios share".;
  IconData get share => !_isCupertino() ? Icons.share : Icons.ios_share;

  /// Platform-adaptive icon for <i class="material-icons-outlined md-36">share</i> &#x2014; material icon named "share" (outlined) and <i class="material-icons-outlined md-36">ios_share</i> &#x2014; material icon named "ios share" (outlined).;
  IconData get share_outlined => !_isCupertino() ? Icons.share_outlined : Icons.ios_share_outlined;

  /// Platform-adaptive icon for <i class="material-icons-round md-36">share</i> &#x2014; material icon named "share" (round) and <i class="material-icons-round md-36">ios_share</i> &#x2014; material icon named "ios share" (round).;
  IconData get share_rounded => !_isCupertino() ? Icons.share_rounded : Icons.ios_share_rounded;

  /// Platform-adaptive icon for <i class="material-icons-sharp md-36">share</i> &#x2014; material icon named "share" (sharp) and <i class="material-icons-sharp md-36">ios_share</i> &#x2014; material icon named "ios share" (sharp).;
  IconData get share_sharp => !_isCupertino() ? Icons.share_sharp : Icons.ios_share_sharp;
  // END GENERATED PLATFORM ADAPTIVE ICONS
}

/// Identifiers for the supported [Material Icons](https://material.io/resources/icons).
///
/// Use with the [Icon] class to show specific icons. Icons are identified by
/// their name as listed below, e.g. [Icons.airplanemode_on].
///
/// Search and find the perfect icon on the [Google Fonts](https://material.io/resources/icons) website.
///
/// To use this class, make sure you set `uses-material-design: true` in your
/// project's `pubspec.yaml` file in the `flutter` section. This ensures that
/// the Material Icons font is included in your application. This font is used to
/// display the icons. For example:
///
/// ```yaml
/// name: my_awesome_application
/// flutter:
///   uses-material-design: true
/// ```
///
/// {@tool snippet}
/// This example shows how to create a [Row] of [Icon]s in different colors and
/// sizes. The first [Icon] uses a [Icon.semanticLabel] to announce in accessibility
/// modes like TalkBack and VoiceOver.
///
/// ![The following code snippet would generate a row of icons consisting of a pink heart, a green musical note, and a blue umbrella, each progressively bigger than the last.](https://flutter.github.io/assets-for-api-docs/assets/widgets/icon.png)
///
/// ```dart
/// Row(
///   mainAxisAlignment: MainAxisAlignment.spaceAround,
///   children: const <Widget>[
///     Icon(
///       Icons.favorite,
///       color: Colors.pink,
///       size: 24.0,
///       semanticLabel: 'Text to announce in accessibility modes',
///     ),
///     Icon(
///       Icons.audiotrack,
///       color: Colors.green,
///       size: 30.0,
///     ),
///     Icon(
///       Icons.beach_access,
///       color: Colors.blue,
///       size: 36.0,
///     ),
///   ],
/// )
/// ```
/// {@end-tool}
///
/// See also:
///
///  * [Icon]
///  * [IconButton]
///  * <https://material.io/resources/icons>
class Icons {
  // This class is not meant to be instantiated or extended; this constructor
  // prevents instantiation and extension.
  Icons._();

  /// A set of platform-adaptive Material Design icons.
  ///
  /// Provides a convenient way to show a certain set of platform-appropriate
  /// icons on Apple platforms.
  ///
  /// Use with the [Icon] class to show specific icons.
  ///
  /// {@tool snippet}
  /// This example shows how to create a share icon that uses the material icon
  /// named "share" on non-Apple platforms, and the icon named "ios share" on
  /// Apple platforms.
  ///
  /// ```dart
  /// Icon(
  ///   Icons.adaptive.share,
  /// )
  /// ```
  /// {@end-tool}
  ///
  /// See also:
  ///
  ///  * [Icon]
  ///  * [IconButton]
  ///  * <https://design.google.com/icons/>
  static PlatformAdaptiveIcons get adaptive => const PlatformAdaptiveIcons._();

  // Generated code: do not hand-edit.
  // See https://github.com/flutter/flutter/wiki/Updating-Material-Design-Fonts-&-Icons
  // BEGIN GENERATED ICONS

  /// <i class="material-icons md-36">10k</i> &#x2014; material icon named "10k".
  static const IconData ten_k = IconData(0xe000, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">10k</i> &#x2014; material icon named "10k" (sharp).
  static const IconData ten_k_sharp = IconData(0xe700, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">10k</i> &#x2014; material icon named "10k" (round).
  static const IconData ten_k_rounded = IconData(0xf4df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">10k</i> &#x2014; material icon named "10k" (outlined).
  static const IconData ten_k_outlined = IconData(0xedf2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">10mp</i> &#x2014; material icon named "10mp".
  static const IconData ten_mp = IconData(0xe001, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">10mp</i> &#x2014; material icon named "10mp" (sharp).
  static const IconData ten_mp_sharp = IconData(0xe701, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">10mp</i> &#x2014; material icon named "10mp" (round).
  static const IconData ten_mp_rounded = IconData(0xf4e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">10mp</i> &#x2014; material icon named "10mp" (outlined).
  static const IconData ten_mp_outlined = IconData(0xedf3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">11mp</i> &#x2014; material icon named "11mp".
  static const IconData eleven_mp = IconData(0xe002, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">11mp</i> &#x2014; material icon named "11mp" (sharp).
  static const IconData eleven_mp_sharp = IconData(0xe702, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">11mp</i> &#x2014; material icon named "11mp" (round).
  static const IconData eleven_mp_rounded = IconData(0xf4e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">11mp</i> &#x2014; material icon named "11mp" (outlined).
  static const IconData eleven_mp_outlined = IconData(0xedf4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">123</i> &#x2014; material icon named "123".
  static const IconData onetwothree = IconData(0xf04b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">123</i> &#x2014; material icon named "123" (sharp).
  static const IconData onetwothree_sharp = IconData(0xf03c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">123</i> &#x2014; material icon named "123" (round).
  static const IconData onetwothree_rounded = IconData(0xe340, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">123</i> &#x2014; material icon named "123" (outlined).
  static const IconData onetwothree_outlined = IconData(0xf05b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">12mp</i> &#x2014; material icon named "12mp".
  static const IconData twelve_mp = IconData(0xe003, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">12mp</i> &#x2014; material icon named "12mp" (sharp).
  static const IconData twelve_mp_sharp = IconData(0xe703, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">12mp</i> &#x2014; material icon named "12mp" (round).
  static const IconData twelve_mp_rounded = IconData(0xf4e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">12mp</i> &#x2014; material icon named "12mp" (outlined).
  static const IconData twelve_mp_outlined = IconData(0xedf5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">13mp</i> &#x2014; material icon named "13mp".
  static const IconData thirteen_mp = IconData(0xe004, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">13mp</i> &#x2014; material icon named "13mp" (sharp).
  static const IconData thirteen_mp_sharp = IconData(0xe704, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">13mp</i> &#x2014; material icon named "13mp" (round).
  static const IconData thirteen_mp_rounded = IconData(0xf4e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">13mp</i> &#x2014; material icon named "13mp" (outlined).
  static const IconData thirteen_mp_outlined = IconData(0xedf6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">14mp</i> &#x2014; material icon named "14mp".
  static const IconData fourteen_mp = IconData(0xe005, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">14mp</i> &#x2014; material icon named "14mp" (sharp).
  static const IconData fourteen_mp_sharp = IconData(0xe705, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">14mp</i> &#x2014; material icon named "14mp" (round).
  static const IconData fourteen_mp_rounded = IconData(0xf4e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">14mp</i> &#x2014; material icon named "14mp" (outlined).
  static const IconData fourteen_mp_outlined = IconData(0xedf7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">15mp</i> &#x2014; material icon named "15mp".
  static const IconData fifteen_mp = IconData(0xe006, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">15mp</i> &#x2014; material icon named "15mp" (sharp).
  static const IconData fifteen_mp_sharp = IconData(0xe706, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">15mp</i> &#x2014; material icon named "15mp" (round).
  static const IconData fifteen_mp_rounded = IconData(0xf4e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">15mp</i> &#x2014; material icon named "15mp" (outlined).
  static const IconData fifteen_mp_outlined = IconData(0xedf8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">16mp</i> &#x2014; material icon named "16mp".
  static const IconData sixteen_mp = IconData(0xe007, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">16mp</i> &#x2014; material icon named "16mp" (sharp).
  static const IconData sixteen_mp_sharp = IconData(0xe707, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">16mp</i> &#x2014; material icon named "16mp" (round).
  static const IconData sixteen_mp_rounded = IconData(0xf4e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">16mp</i> &#x2014; material icon named "16mp" (outlined).
  static const IconData sixteen_mp_outlined = IconData(0xedf9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">17mp</i> &#x2014; material icon named "17mp".
  static const IconData seventeen_mp = IconData(0xe008, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">17mp</i> &#x2014; material icon named "17mp" (sharp).
  static const IconData seventeen_mp_sharp = IconData(0xe708, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">17mp</i> &#x2014; material icon named "17mp" (round).
  static const IconData seventeen_mp_rounded = IconData(0xf4e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">17mp</i> &#x2014; material icon named "17mp" (outlined).
  static const IconData seventeen_mp_outlined = IconData(0xedfa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">18_up_rating</i> &#x2014; material icon named "18 up rating".
  static const IconData eighteen_up_rating = IconData(0xf0784, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">18_up_rating</i> &#x2014; material icon named "18 up rating" (sharp).
  static const IconData eighteen_up_rating_sharp = IconData(0xf072c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">18_up_rating</i> &#x2014; material icon named "18 up rating" (round).
  static const IconData eighteen_up_rating_rounded = IconData(0xf07dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">18_up_rating</i> &#x2014; material icon named "18 up rating" (outlined).
  static const IconData eighteen_up_rating_outlined = IconData(0xf06d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">18mp</i> &#x2014; material icon named "18mp".
  static const IconData eighteen_mp = IconData(0xe009, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">18mp</i> &#x2014; material icon named "18mp" (sharp).
  static const IconData eighteen_mp_sharp = IconData(0xe709, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">18mp</i> &#x2014; material icon named "18mp" (round).
  static const IconData eighteen_mp_rounded = IconData(0xf4e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">18mp</i> &#x2014; material icon named "18mp" (outlined).
  static const IconData eighteen_mp_outlined = IconData(0xedfb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">19mp</i> &#x2014; material icon named "19mp".
  static const IconData nineteen_mp = IconData(0xe00a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">19mp</i> &#x2014; material icon named "19mp" (sharp).
  static const IconData nineteen_mp_sharp = IconData(0xe70a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">19mp</i> &#x2014; material icon named "19mp" (round).
  static const IconData nineteen_mp_rounded = IconData(0xf4e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">19mp</i> &#x2014; material icon named "19mp" (outlined).
  static const IconData nineteen_mp_outlined = IconData(0xedfc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">1k</i> &#x2014; material icon named "1k".
  static const IconData one_k = IconData(0xe00b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">1k</i> &#x2014; material icon named "1k" (sharp).
  static const IconData one_k_sharp = IconData(0xe70c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">1k</i> &#x2014; material icon named "1k" (round).
  static const IconData one_k_rounded = IconData(0xf4eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">1k</i> &#x2014; material icon named "1k" (outlined).
  static const IconData one_k_outlined = IconData(0xedfd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">1k_plus</i> &#x2014; material icon named "1k plus".
  static const IconData one_k_plus = IconData(0xe00c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">1k_plus</i> &#x2014; material icon named "1k plus" (sharp).
  static const IconData one_k_plus_sharp = IconData(0xe70b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">1k_plus</i> &#x2014; material icon named "1k plus" (round).
  static const IconData one_k_plus_rounded = IconData(0xf4ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">1k_plus</i> &#x2014; material icon named "1k plus" (outlined).
  static const IconData one_k_plus_outlined = IconData(0xedfe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">1x_mobiledata</i> &#x2014; material icon named "1x mobiledata".
  static const IconData one_x_mobiledata = IconData(0xe00d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">1x_mobiledata</i> &#x2014; material icon named "1x mobiledata" (sharp).
  static const IconData one_x_mobiledata_sharp = IconData(0xe70d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">1x_mobiledata</i> &#x2014; material icon named "1x mobiledata" (round).
  static const IconData one_x_mobiledata_rounded = IconData(0xf4ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">1x_mobiledata</i> &#x2014; material icon named "1x mobiledata" (outlined).
  static const IconData one_x_mobiledata_outlined = IconData(0xedff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">20mp</i> &#x2014; material icon named "20mp".
  static const IconData twenty_mp = IconData(0xe00e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">20mp</i> &#x2014; material icon named "20mp" (sharp).
  static const IconData twenty_mp_sharp = IconData(0xe70e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">20mp</i> &#x2014; material icon named "20mp" (round).
  static const IconData twenty_mp_rounded = IconData(0xf4ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">20mp</i> &#x2014; material icon named "20mp" (outlined).
  static const IconData twenty_mp_outlined = IconData(0xee00, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">21mp</i> &#x2014; material icon named "21mp".
  static const IconData twenty_one_mp = IconData(0xe00f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">21mp</i> &#x2014; material icon named "21mp" (sharp).
  static const IconData twenty_one_mp_sharp = IconData(0xe70f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">21mp</i> &#x2014; material icon named "21mp" (round).
  static const IconData twenty_one_mp_rounded = IconData(0xf4ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">21mp</i> &#x2014; material icon named "21mp" (outlined).
  static const IconData twenty_one_mp_outlined = IconData(0xee01, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">22mp</i> &#x2014; material icon named "22mp".
  static const IconData twenty_two_mp = IconData(0xe010, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">22mp</i> &#x2014; material icon named "22mp" (sharp).
  static const IconData twenty_two_mp_sharp = IconData(0xe710, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">22mp</i> &#x2014; material icon named "22mp" (round).
  static const IconData twenty_two_mp_rounded = IconData(0xf4ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">22mp</i> &#x2014; material icon named "22mp" (outlined).
  static const IconData twenty_two_mp_outlined = IconData(0xee02, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">23mp</i> &#x2014; material icon named "23mp".
  static const IconData twenty_three_mp = IconData(0xe011, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">23mp</i> &#x2014; material icon named "23mp" (sharp).
  static const IconData twenty_three_mp_sharp = IconData(0xe711, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">23mp</i> &#x2014; material icon named "23mp" (round).
  static const IconData twenty_three_mp_rounded = IconData(0xf4f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">23mp</i> &#x2014; material icon named "23mp" (outlined).
  static const IconData twenty_three_mp_outlined = IconData(0xee03, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">24mp</i> &#x2014; material icon named "24mp".
  static const IconData twenty_four_mp = IconData(0xe012, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">24mp</i> &#x2014; material icon named "24mp" (sharp).
  static const IconData twenty_four_mp_sharp = IconData(0xe712, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">24mp</i> &#x2014; material icon named "24mp" (round).
  static const IconData twenty_four_mp_rounded = IconData(0xf4f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">24mp</i> &#x2014; material icon named "24mp" (outlined).
  static const IconData twenty_four_mp_outlined = IconData(0xee04, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">2k</i> &#x2014; material icon named "2k".
  static const IconData two_k = IconData(0xe013, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">2k</i> &#x2014; material icon named "2k" (sharp).
  static const IconData two_k_sharp = IconData(0xe714, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">2k</i> &#x2014; material icon named "2k" (round).
  static const IconData two_k_rounded = IconData(0xf4f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">2k</i> &#x2014; material icon named "2k" (outlined).
  static const IconData two_k_outlined = IconData(0xee05, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">2k_plus</i> &#x2014; material icon named "2k plus".
  static const IconData two_k_plus = IconData(0xe014, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">2k_plus</i> &#x2014; material icon named "2k plus" (sharp).
  static const IconData two_k_plus_sharp = IconData(0xe713, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">2k_plus</i> &#x2014; material icon named "2k plus" (round).
  static const IconData two_k_plus_rounded = IconData(0xf4f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">2k_plus</i> &#x2014; material icon named "2k plus" (outlined).
  static const IconData two_k_plus_outlined = IconData(0xee06, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">2mp</i> &#x2014; material icon named "2mp".
  static const IconData two_mp = IconData(0xe015, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">2mp</i> &#x2014; material icon named "2mp" (sharp).
  static const IconData two_mp_sharp = IconData(0xe715, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">2mp</i> &#x2014; material icon named "2mp" (round).
  static const IconData two_mp_rounded = IconData(0xf4f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">2mp</i> &#x2014; material icon named "2mp" (outlined).
  static const IconData two_mp_outlined = IconData(0xee07, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">30fps</i> &#x2014; material icon named "30fps".
  static const IconData thirty_fps = IconData(0xe016, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">30fps</i> &#x2014; material icon named "30fps" (sharp).
  static const IconData thirty_fps_sharp = IconData(0xe717, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">30fps</i> &#x2014; material icon named "30fps" (round).
  static const IconData thirty_fps_rounded = IconData(0xf4f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">30fps</i> &#x2014; material icon named "30fps" (outlined).
  static const IconData thirty_fps_outlined = IconData(0xee08, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">30fps_select</i> &#x2014; material icon named "30fps select".
  static const IconData thirty_fps_select = IconData(0xe017, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">30fps_select</i> &#x2014; material icon named "30fps select" (sharp).
  static const IconData thirty_fps_select_sharp = IconData(0xe716, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">30fps_select</i> &#x2014; material icon named "30fps select" (round).
  static const IconData thirty_fps_select_rounded = IconData(0xf4f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">30fps_select</i> &#x2014; material icon named "30fps select" (outlined).
  static const IconData thirty_fps_select_outlined = IconData(0xee09, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">360</i> &#x2014; material icon named "360".
  static const IconData threesixty = IconData(0xe018, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">360</i> &#x2014; material icon named "360" (sharp).
  static const IconData threesixty_sharp = IconData(0xe718, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">360</i> &#x2014; material icon named "360" (round).
  static const IconData threesixty_rounded = IconData(0xf4f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">360</i> &#x2014; material icon named "360" (outlined).
  static const IconData threesixty_outlined = IconData(0xee0a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">3d_rotation</i> &#x2014; material icon named "3d rotation".
  static const IconData threed_rotation = IconData(0xe019, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">3d_rotation</i> &#x2014; material icon named "3d rotation" (sharp).
  static const IconData threed_rotation_sharp = IconData(0xe719, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">3d_rotation</i> &#x2014; material icon named "3d rotation" (round).
  static const IconData threed_rotation_rounded = IconData(0xf4f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">3d_rotation</i> &#x2014; material icon named "3d rotation" (outlined).
  static const IconData threed_rotation_outlined = IconData(0xee0b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">3g_mobiledata</i> &#x2014; material icon named "3g mobiledata".
  static const IconData three_g_mobiledata = IconData(0xe01a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">3g_mobiledata</i> &#x2014; material icon named "3g mobiledata" (sharp).
  static const IconData three_g_mobiledata_sharp = IconData(0xe71a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">3g_mobiledata</i> &#x2014; material icon named "3g mobiledata" (round).
  static const IconData three_g_mobiledata_rounded = IconData(0xf4f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">3g_mobiledata</i> &#x2014; material icon named "3g mobiledata" (outlined).
  static const IconData three_g_mobiledata_outlined = IconData(0xee0c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">3k</i> &#x2014; material icon named "3k".
  static const IconData three_k = IconData(0xe01b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">3k</i> &#x2014; material icon named "3k" (sharp).
  static const IconData three_k_sharp = IconData(0xe71c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">3k</i> &#x2014; material icon named "3k" (round).
  static const IconData three_k_rounded = IconData(0xf4fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">3k</i> &#x2014; material icon named "3k" (outlined).
  static const IconData three_k_outlined = IconData(0xee0d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">3k_plus</i> &#x2014; material icon named "3k plus".
  static const IconData three_k_plus = IconData(0xe01c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">3k_plus</i> &#x2014; material icon named "3k plus" (sharp).
  static const IconData three_k_plus_sharp = IconData(0xe71b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">3k_plus</i> &#x2014; material icon named "3k plus" (round).
  static const IconData three_k_plus_rounded = IconData(0xf4fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">3k_plus</i> &#x2014; material icon named "3k plus" (outlined).
  static const IconData three_k_plus_outlined = IconData(0xee0e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">3mp</i> &#x2014; material icon named "3mp".
  static const IconData three_mp = IconData(0xe01d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">3mp</i> &#x2014; material icon named "3mp" (sharp).
  static const IconData three_mp_sharp = IconData(0xe71d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">3mp</i> &#x2014; material icon named "3mp" (round).
  static const IconData three_mp_rounded = IconData(0xf4fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">3mp</i> &#x2014; material icon named "3mp" (outlined).
  static const IconData three_mp_outlined = IconData(0xee0f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">3p</i> &#x2014; material icon named "3p".
  static const IconData three_p = IconData(0xe01e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">3p</i> &#x2014; material icon named "3p" (sharp).
  static const IconData three_p_sharp = IconData(0xe71e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">3p</i> &#x2014; material icon named "3p" (round).
  static const IconData three_p_rounded = IconData(0xf4fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">3p</i> &#x2014; material icon named "3p" (outlined).
  static const IconData three_p_outlined = IconData(0xee10, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">4g_mobiledata</i> &#x2014; material icon named "4g mobiledata".
  static const IconData four_g_mobiledata = IconData(0xe01f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">4g_mobiledata</i> &#x2014; material icon named "4g mobiledata" (sharp).
  static const IconData four_g_mobiledata_sharp = IconData(0xe71f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">4g_mobiledata</i> &#x2014; material icon named "4g mobiledata" (round).
  static const IconData four_g_mobiledata_rounded = IconData(0xf4fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">4g_mobiledata</i> &#x2014; material icon named "4g mobiledata" (outlined).
  static const IconData four_g_mobiledata_outlined = IconData(0xee11, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">4g_plus_mobiledata</i> &#x2014; material icon named "4g plus mobiledata".
  static const IconData four_g_plus_mobiledata = IconData(0xe020, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">4g_plus_mobiledata</i> &#x2014; material icon named "4g plus mobiledata" (sharp).
  static const IconData four_g_plus_mobiledata_sharp = IconData(0xe720, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">4g_plus_mobiledata</i> &#x2014; material icon named "4g plus mobiledata" (round).
  static const IconData four_g_plus_mobiledata_rounded = IconData(0xf4ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">4g_plus_mobiledata</i> &#x2014; material icon named "4g plus mobiledata" (outlined).
  static const IconData four_g_plus_mobiledata_outlined = IconData(0xee12, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">4k</i> &#x2014; material icon named "4k".
  static const IconData four_k = IconData(0xe021, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">4k</i> &#x2014; material icon named "4k" (sharp).
  static const IconData four_k_sharp = IconData(0xe722, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">4k</i> &#x2014; material icon named "4k" (round).
  static const IconData four_k_rounded = IconData(0xf501, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">4k</i> &#x2014; material icon named "4k" (outlined).
  static const IconData four_k_outlined = IconData(0xee13, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">4k_plus</i> &#x2014; material icon named "4k plus".
  static const IconData four_k_plus = IconData(0xe022, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">4k_plus</i> &#x2014; material icon named "4k plus" (sharp).
  static const IconData four_k_plus_sharp = IconData(0xe721, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">4k_plus</i> &#x2014; material icon named "4k plus" (round).
  static const IconData four_k_plus_rounded = IconData(0xf500, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">4k_plus</i> &#x2014; material icon named "4k plus" (outlined).
  static const IconData four_k_plus_outlined = IconData(0xee14, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">4mp</i> &#x2014; material icon named "4mp".
  static const IconData four_mp = IconData(0xe023, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">4mp</i> &#x2014; material icon named "4mp" (sharp).
  static const IconData four_mp_sharp = IconData(0xe723, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">4mp</i> &#x2014; material icon named "4mp" (round).
  static const IconData four_mp_rounded = IconData(0xf502, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">4mp</i> &#x2014; material icon named "4mp" (outlined).
  static const IconData four_mp_outlined = IconData(0xee15, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">5g</i> &#x2014; material icon named "5g".
  static const IconData five_g = IconData(0xe024, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">5g</i> &#x2014; material icon named "5g" (sharp).
  static const IconData five_g_sharp = IconData(0xe724, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">5g</i> &#x2014; material icon named "5g" (round).
  static const IconData five_g_rounded = IconData(0xf503, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">5g</i> &#x2014; material icon named "5g" (outlined).
  static const IconData five_g_outlined = IconData(0xee16, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">5k</i> &#x2014; material icon named "5k".
  static const IconData five_k = IconData(0xe025, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">5k</i> &#x2014; material icon named "5k" (sharp).
  static const IconData five_k_sharp = IconData(0xe726, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">5k</i> &#x2014; material icon named "5k" (round).
  static const IconData five_k_rounded = IconData(0xf505, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">5k</i> &#x2014; material icon named "5k" (outlined).
  static const IconData five_k_outlined = IconData(0xee17, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">5k_plus</i> &#x2014; material icon named "5k plus".
  static const IconData five_k_plus = IconData(0xe026, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">5k_plus</i> &#x2014; material icon named "5k plus" (sharp).
  static const IconData five_k_plus_sharp = IconData(0xe725, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">5k_plus</i> &#x2014; material icon named "5k plus" (round).
  static const IconData five_k_plus_rounded = IconData(0xf504, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">5k_plus</i> &#x2014; material icon named "5k plus" (outlined).
  static const IconData five_k_plus_outlined = IconData(0xee18, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">5mp</i> &#x2014; material icon named "5mp".
  static const IconData five_mp = IconData(0xe027, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">5mp</i> &#x2014; material icon named "5mp" (sharp).
  static const IconData five_mp_sharp = IconData(0xe727, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">5mp</i> &#x2014; material icon named "5mp" (round).
  static const IconData five_mp_rounded = IconData(0xf506, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">5mp</i> &#x2014; material icon named "5mp" (outlined).
  static const IconData five_mp_outlined = IconData(0xee19, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">60fps</i> &#x2014; material icon named "60fps".
  static const IconData sixty_fps = IconData(0xe028, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">60fps</i> &#x2014; material icon named "60fps" (sharp).
  static const IconData sixty_fps_sharp = IconData(0xe729, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">60fps</i> &#x2014; material icon named "60fps" (round).
  static const IconData sixty_fps_rounded = IconData(0xf507, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">60fps</i> &#x2014; material icon named "60fps" (outlined).
  static const IconData sixty_fps_outlined = IconData(0xee1a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">60fps_select</i> &#x2014; material icon named "60fps select".
  static const IconData sixty_fps_select = IconData(0xe029, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">60fps_select</i> &#x2014; material icon named "60fps select" (sharp).
  static const IconData sixty_fps_select_sharp = IconData(0xe728, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">60fps_select</i> &#x2014; material icon named "60fps select" (round).
  static const IconData sixty_fps_select_rounded = IconData(0xf508, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">60fps_select</i> &#x2014; material icon named "60fps select" (outlined).
  static const IconData sixty_fps_select_outlined = IconData(0xee1b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">6_ft_apart</i> &#x2014; material icon named "6 ft apart".
  static const IconData six_ft_apart = IconData(0xe02a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">6_ft_apart</i> &#x2014; material icon named "6 ft apart" (sharp).
  static const IconData six_ft_apart_sharp = IconData(0xe72a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">6_ft_apart</i> &#x2014; material icon named "6 ft apart" (round).
  static const IconData six_ft_apart_rounded = IconData(0xf509, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">6_ft_apart</i> &#x2014; material icon named "6 ft apart" (outlined).
  static const IconData six_ft_apart_outlined = IconData(0xee1c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">6k</i> &#x2014; material icon named "6k".
  static const IconData six_k = IconData(0xe02b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">6k</i> &#x2014; material icon named "6k" (sharp).
  static const IconData six_k_sharp = IconData(0xe72c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">6k</i> &#x2014; material icon named "6k" (round).
  static const IconData six_k_rounded = IconData(0xf50b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">6k</i> &#x2014; material icon named "6k" (outlined).
  static const IconData six_k_outlined = IconData(0xee1d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">6k_plus</i> &#x2014; material icon named "6k plus".
  static const IconData six_k_plus = IconData(0xe02c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">6k_plus</i> &#x2014; material icon named "6k plus" (sharp).
  static const IconData six_k_plus_sharp = IconData(0xe72b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">6k_plus</i> &#x2014; material icon named "6k plus" (round).
  static const IconData six_k_plus_rounded = IconData(0xf50a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">6k_plus</i> &#x2014; material icon named "6k plus" (outlined).
  static const IconData six_k_plus_outlined = IconData(0xee1e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">6mp</i> &#x2014; material icon named "6mp".
  static const IconData six_mp = IconData(0xe02d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">6mp</i> &#x2014; material icon named "6mp" (sharp).
  static const IconData six_mp_sharp = IconData(0xe72d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">6mp</i> &#x2014; material icon named "6mp" (round).
  static const IconData six_mp_rounded = IconData(0xf50c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">6mp</i> &#x2014; material icon named "6mp" (outlined).
  static const IconData six_mp_outlined = IconData(0xee1f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">7k</i> &#x2014; material icon named "7k".
  static const IconData seven_k = IconData(0xe02e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">7k</i> &#x2014; material icon named "7k" (sharp).
  static const IconData seven_k_sharp = IconData(0xe72f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">7k</i> &#x2014; material icon named "7k" (round).
  static const IconData seven_k_rounded = IconData(0xf50e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">7k</i> &#x2014; material icon named "7k" (outlined).
  static const IconData seven_k_outlined = IconData(0xee20, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">7k_plus</i> &#x2014; material icon named "7k plus".
  static const IconData seven_k_plus = IconData(0xe02f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">7k_plus</i> &#x2014; material icon named "7k plus" (sharp).
  static const IconData seven_k_plus_sharp = IconData(0xe72e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">7k_plus</i> &#x2014; material icon named "7k plus" (round).
  static const IconData seven_k_plus_rounded = IconData(0xf50d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">7k_plus</i> &#x2014; material icon named "7k plus" (outlined).
  static const IconData seven_k_plus_outlined = IconData(0xee21, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">7mp</i> &#x2014; material icon named "7mp".
  static const IconData seven_mp = IconData(0xe030, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">7mp</i> &#x2014; material icon named "7mp" (sharp).
  static const IconData seven_mp_sharp = IconData(0xe730, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">7mp</i> &#x2014; material icon named "7mp" (round).
  static const IconData seven_mp_rounded = IconData(0xf50f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">7mp</i> &#x2014; material icon named "7mp" (outlined).
  static const IconData seven_mp_outlined = IconData(0xee22, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">8k</i> &#x2014; material icon named "8k".
  static const IconData eight_k = IconData(0xe031, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">8k</i> &#x2014; material icon named "8k" (sharp).
  static const IconData eight_k_sharp = IconData(0xe732, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">8k</i> &#x2014; material icon named "8k" (round).
  static const IconData eight_k_rounded = IconData(0xf511, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">8k</i> &#x2014; material icon named "8k" (outlined).
  static const IconData eight_k_outlined = IconData(0xee23, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">8k_plus</i> &#x2014; material icon named "8k plus".
  static const IconData eight_k_plus = IconData(0xe032, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">8k_plus</i> &#x2014; material icon named "8k plus" (sharp).
  static const IconData eight_k_plus_sharp = IconData(0xe731, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">8k_plus</i> &#x2014; material icon named "8k plus" (round).
  static const IconData eight_k_plus_rounded = IconData(0xf510, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">8k_plus</i> &#x2014; material icon named "8k plus" (outlined).
  static const IconData eight_k_plus_outlined = IconData(0xee24, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">8mp</i> &#x2014; material icon named "8mp".
  static const IconData eight_mp = IconData(0xe033, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">8mp</i> &#x2014; material icon named "8mp" (sharp).
  static const IconData eight_mp_sharp = IconData(0xe733, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">8mp</i> &#x2014; material icon named "8mp" (round).
  static const IconData eight_mp_rounded = IconData(0xf512, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">8mp</i> &#x2014; material icon named "8mp" (outlined).
  static const IconData eight_mp_outlined = IconData(0xee25, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">9k</i> &#x2014; material icon named "9k".
  static const IconData nine_k = IconData(0xe034, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">9k</i> &#x2014; material icon named "9k" (sharp).
  static const IconData nine_k_sharp = IconData(0xe735, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">9k</i> &#x2014; material icon named "9k" (round).
  static const IconData nine_k_rounded = IconData(0xf514, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">9k</i> &#x2014; material icon named "9k" (outlined).
  static const IconData nine_k_outlined = IconData(0xee26, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">9k_plus</i> &#x2014; material icon named "9k plus".
  static const IconData nine_k_plus = IconData(0xe035, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">9k_plus</i> &#x2014; material icon named "9k plus" (sharp).
  static const IconData nine_k_plus_sharp = IconData(0xe734, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">9k_plus</i> &#x2014; material icon named "9k plus" (round).
  static const IconData nine_k_plus_rounded = IconData(0xf513, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">9k_plus</i> &#x2014; material icon named "9k plus" (outlined).
  static const IconData nine_k_plus_outlined = IconData(0xee27, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">9mp</i> &#x2014; material icon named "9mp".
  static const IconData nine_mp = IconData(0xe036, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">9mp</i> &#x2014; material icon named "9mp" (sharp).
  static const IconData nine_mp_sharp = IconData(0xe736, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">9mp</i> &#x2014; material icon named "9mp" (round).
  static const IconData nine_mp_rounded = IconData(0xf515, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">9mp</i> &#x2014; material icon named "9mp" (outlined).
  static const IconData nine_mp_outlined = IconData(0xee28, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">abc</i> &#x2014; material icon named "abc".
  static const IconData abc = IconData(0xf04b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">abc</i> &#x2014; material icon named "abc" (sharp).
  static const IconData abc_sharp = IconData(0xf03c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">abc</i> &#x2014; material icon named "abc" (round).
  static const IconData abc_rounded = IconData(0xe4c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">abc</i> &#x2014; material icon named "abc" (outlined).
  static const IconData abc_outlined = IconData(0xf05b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">ac_unit</i> &#x2014; material icon named "ac unit".
  static const IconData ac_unit = IconData(0xe037, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">ac_unit</i> &#x2014; material icon named "ac unit" (sharp).
  static const IconData ac_unit_sharp = IconData(0xe737, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">ac_unit</i> &#x2014; material icon named "ac unit" (round).
  static const IconData ac_unit_rounded = IconData(0xf516, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">ac_unit</i> &#x2014; material icon named "ac unit" (outlined).
  static const IconData ac_unit_outlined = IconData(0xee29, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">access_alarm</i> &#x2014; material icon named "access alarm".
  static const IconData access_alarm = IconData(0xe038, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">access_alarm</i> &#x2014; material icon named "access alarm" (sharp).
  static const IconData access_alarm_sharp = IconData(0xe738, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">access_alarm</i> &#x2014; material icon named "access alarm" (round).
  static const IconData access_alarm_rounded = IconData(0xf517, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">access_alarm</i> &#x2014; material icon named "access alarm" (outlined).
  static const IconData access_alarm_outlined = IconData(0xee2a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">access_alarms</i> &#x2014; material icon named "access alarms".
  static const IconData access_alarms = IconData(0xe039, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">access_alarms</i> &#x2014; material icon named "access alarms" (sharp).
  static const IconData access_alarms_sharp = IconData(0xe739, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">access_alarms</i> &#x2014; material icon named "access alarms" (round).
  static const IconData access_alarms_rounded = IconData(0xf518, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">access_alarms</i> &#x2014; material icon named "access alarms" (outlined).
  static const IconData access_alarms_outlined = IconData(0xee2b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">access_time</i> &#x2014; material icon named "access time".
  static const IconData access_time = IconData(0xe03a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">access_time</i> &#x2014; material icon named "access time" (sharp).
  static const IconData access_time_sharp = IconData(0xe73b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">access_time</i> &#x2014; material icon named "access time" (round).
  static const IconData access_time_rounded = IconData(0xf51a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">access_time</i> &#x2014; material icon named "access time" (outlined).
  static const IconData access_time_outlined = IconData(0xee2d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">access_time_filled</i> &#x2014; material icon named "access time filled".
  static const IconData access_time_filled = IconData(0xe03b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">access_time_filled</i> &#x2014; material icon named "access time filled" (sharp).
  static const IconData access_time_filled_sharp = IconData(0xe73a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">access_time_filled</i> &#x2014; material icon named "access time filled" (round).
  static const IconData access_time_filled_rounded = IconData(0xf519, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">access_time_filled</i> &#x2014; material icon named "access time filled" (outlined).
  static const IconData access_time_filled_outlined = IconData(0xee2c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">accessibility</i> &#x2014; material icon named "accessibility".
  static const IconData accessibility = IconData(0xe03c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">accessibility</i> &#x2014; material icon named "accessibility" (sharp).
  static const IconData accessibility_sharp = IconData(0xe73d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">accessibility</i> &#x2014; material icon named "accessibility" (round).
  static const IconData accessibility_rounded = IconData(0xf51c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">accessibility</i> &#x2014; material icon named "accessibility" (outlined).
  static const IconData accessibility_outlined = IconData(0xee2f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">accessibility_new</i> &#x2014; material icon named "accessibility new".
  static const IconData accessibility_new = IconData(0xe03d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">accessibility_new</i> &#x2014; material icon named "accessibility new" (sharp).
  static const IconData accessibility_new_sharp = IconData(0xe73c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">accessibility_new</i> &#x2014; material icon named "accessibility new" (round).
  static const IconData accessibility_new_rounded = IconData(0xf51b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">accessibility_new</i> &#x2014; material icon named "accessibility new" (outlined).
  static const IconData accessibility_new_outlined = IconData(0xee2e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">accessible</i> &#x2014; material icon named "accessible".
  static const IconData accessible = IconData(0xe03e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">accessible</i> &#x2014; material icon named "accessible" (sharp).
  static const IconData accessible_sharp = IconData(0xe73f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">accessible</i> &#x2014; material icon named "accessible" (round).
  static const IconData accessible_rounded = IconData(0xf51e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">accessible</i> &#x2014; material icon named "accessible" (outlined).
  static const IconData accessible_outlined = IconData(0xee31, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">accessible_forward</i> &#x2014; material icon named "accessible forward".
  static const IconData accessible_forward = IconData(0xe03f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">accessible_forward</i> &#x2014; material icon named "accessible forward" (sharp).
  static const IconData accessible_forward_sharp = IconData(0xe73e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">accessible_forward</i> &#x2014; material icon named "accessible forward" (round).
  static const IconData accessible_forward_rounded = IconData(0xf51d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">accessible_forward</i> &#x2014; material icon named "accessible forward" (outlined).
  static const IconData accessible_forward_outlined = IconData(0xee30, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">account_balance</i> &#x2014; material icon named "account balance".
  static const IconData account_balance = IconData(0xe040, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">account_balance</i> &#x2014; material icon named "account balance" (sharp).
  static const IconData account_balance_sharp = IconData(0xe740, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">account_balance</i> &#x2014; material icon named "account balance" (round).
  static const IconData account_balance_rounded = IconData(0xf51f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">account_balance</i> &#x2014; material icon named "account balance" (outlined).
  static const IconData account_balance_outlined = IconData(0xee32, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">account_balance_wallet</i> &#x2014; material icon named "account balance wallet".
  static const IconData account_balance_wallet = IconData(0xe041, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">account_balance_wallet</i> &#x2014; material icon named "account balance wallet" (sharp).
  static const IconData account_balance_wallet_sharp = IconData(0xe741, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">account_balance_wallet</i> &#x2014; material icon named "account balance wallet" (round).
  static const IconData account_balance_wallet_rounded = IconData(0xf520, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">account_balance_wallet</i> &#x2014; material icon named "account balance wallet" (outlined).
  static const IconData account_balance_wallet_outlined = IconData(0xee33, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">account_box</i> &#x2014; material icon named "account box".
  static const IconData account_box = IconData(0xe042, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">account_box</i> &#x2014; material icon named "account box" (sharp).
  static const IconData account_box_sharp = IconData(0xe742, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">account_box</i> &#x2014; material icon named "account box" (round).
  static const IconData account_box_rounded = IconData(0xf521, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">account_box</i> &#x2014; material icon named "account box" (outlined).
  static const IconData account_box_outlined = IconData(0xee34, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">account_circle</i> &#x2014; material icon named "account circle".
  static const IconData account_circle = IconData(0xe043, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">account_circle</i> &#x2014; material icon named "account circle" (sharp).
  static const IconData account_circle_sharp = IconData(0xe743, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">account_circle</i> &#x2014; material icon named "account circle" (round).
  static const IconData account_circle_rounded = IconData(0xf522, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">account_circle</i> &#x2014; material icon named "account circle" (outlined).
  static const IconData account_circle_outlined = IconData(0xee35, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">account_tree</i> &#x2014; material icon named "account tree".
  static const IconData account_tree = IconData(0xe044, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">account_tree</i> &#x2014; material icon named "account tree" (sharp).
  static const IconData account_tree_sharp = IconData(0xe744, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">account_tree</i> &#x2014; material icon named "account tree" (round).
  static const IconData account_tree_rounded = IconData(0xf523, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">account_tree</i> &#x2014; material icon named "account tree" (outlined).
  static const IconData account_tree_outlined = IconData(0xee36, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">ad_units</i> &#x2014; material icon named "ad units".
  static const IconData ad_units = IconData(0xe045, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">ad_units</i> &#x2014; material icon named "ad units" (sharp).
  static const IconData ad_units_sharp = IconData(0xe745, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">ad_units</i> &#x2014; material icon named "ad units" (round).
  static const IconData ad_units_rounded = IconData(0xf524, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">ad_units</i> &#x2014; material icon named "ad units" (outlined).
  static const IconData ad_units_outlined = IconData(0xee37, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">adb</i> &#x2014; material icon named "adb".
  static const IconData adb = IconData(0xe046, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">adb</i> &#x2014; material icon named "adb" (sharp).
  static const IconData adb_sharp = IconData(0xe746, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">adb</i> &#x2014; material icon named "adb" (round).
  static const IconData adb_rounded = IconData(0xf525, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">adb</i> &#x2014; material icon named "adb" (outlined).
  static const IconData adb_outlined = IconData(0xee38, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add</i> &#x2014; material icon named "add".
  static const IconData add = IconData(0xe047, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add</i> &#x2014; material icon named "add" (sharp).
  static const IconData add_sharp = IconData(0xe758, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add</i> &#x2014; material icon named "add" (round).
  static const IconData add_rounded = IconData(0xf537, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add</i> &#x2014; material icon named "add" (outlined).
  static const IconData add_outlined = IconData(0xee47, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_a_photo</i> &#x2014; material icon named "add a photo".
  static const IconData add_a_photo = IconData(0xe048, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_a_photo</i> &#x2014; material icon named "add a photo" (sharp).
  static const IconData add_a_photo_sharp = IconData(0xe747, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_a_photo</i> &#x2014; material icon named "add a photo" (round).
  static const IconData add_a_photo_rounded = IconData(0xf526, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_a_photo</i> &#x2014; material icon named "add a photo" (outlined).
  static const IconData add_a_photo_outlined = IconData(0xee39, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_alarm</i> &#x2014; material icon named "add alarm".
  static const IconData add_alarm = IconData(0xe049, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_alarm</i> &#x2014; material icon named "add alarm" (sharp).
  static const IconData add_alarm_sharp = IconData(0xe748, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_alarm</i> &#x2014; material icon named "add alarm" (round).
  static const IconData add_alarm_rounded = IconData(0xf527, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_alarm</i> &#x2014; material icon named "add alarm" (outlined).
  static const IconData add_alarm_outlined = IconData(0xee3a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_alert</i> &#x2014; material icon named "add alert".
  static const IconData add_alert = IconData(0xe04a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_alert</i> &#x2014; material icon named "add alert" (sharp).
  static const IconData add_alert_sharp = IconData(0xe749, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_alert</i> &#x2014; material icon named "add alert" (round).
  static const IconData add_alert_rounded = IconData(0xf528, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_alert</i> &#x2014; material icon named "add alert" (outlined).
  static const IconData add_alert_outlined = IconData(0xee3b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_box</i> &#x2014; material icon named "add box".
  static const IconData add_box = IconData(0xe04b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_box</i> &#x2014; material icon named "add box" (sharp).
  static const IconData add_box_sharp = IconData(0xe74a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_box</i> &#x2014; material icon named "add box" (round).
  static const IconData add_box_rounded = IconData(0xf529, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_box</i> &#x2014; material icon named "add box" (outlined).
  static const IconData add_box_outlined = IconData(0xee3c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_business</i> &#x2014; material icon named "add business".
  static const IconData add_business = IconData(0xe04c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_business</i> &#x2014; material icon named "add business" (sharp).
  static const IconData add_business_sharp = IconData(0xe74b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_business</i> &#x2014; material icon named "add business" (round).
  static const IconData add_business_rounded = IconData(0xf52a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_business</i> &#x2014; material icon named "add business" (outlined).
  static const IconData add_business_outlined = IconData(0xee3d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_call</i> &#x2014; material icon named "add call".
  static const IconData add_call = IconData(0xe04d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_card</i> &#x2014; material icon named "add card".
  static const IconData add_card = IconData(0xf04b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_card</i> &#x2014; material icon named "add card" (sharp).
  static const IconData add_card_sharp = IconData(0xf03c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_card</i> &#x2014; material icon named "add card" (round).
  static const IconData add_card_rounded = IconData(0xf02d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_card</i> &#x2014; material icon named "add card" (outlined).
  static const IconData add_card_outlined = IconData(0xf05b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_chart</i> &#x2014; material icon named "add chart".
  static const IconData add_chart = IconData(0xe04e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_chart</i> &#x2014; material icon named "add chart" (sharp).
  static const IconData add_chart_sharp = IconData(0xe74c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_chart</i> &#x2014; material icon named "add chart" (round).
  static const IconData add_chart_rounded = IconData(0xf52b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_chart</i> &#x2014; material icon named "add chart" (outlined).
  static const IconData add_chart_outlined = IconData(0xee3e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_circle</i> &#x2014; material icon named "add circle".
  static const IconData add_circle = IconData(0xe04f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_circle</i> &#x2014; material icon named "add circle" (sharp).
  static const IconData add_circle_sharp = IconData(0xe74e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_circle</i> &#x2014; material icon named "add circle" (round).
  static const IconData add_circle_rounded = IconData(0xf52d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_circle</i> &#x2014; material icon named "add circle" (outlined).
  static const IconData add_circle_outlined = IconData(0xee40, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_circle_outline</i> &#x2014; material icon named "add circle outline".
  static const IconData add_circle_outline = IconData(0xe050, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_circle_outline</i> &#x2014; material icon named "add circle outline" (sharp).
  static const IconData add_circle_outline_sharp = IconData(0xe74d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_circle_outline</i> &#x2014; material icon named "add circle outline" (round).
  static const IconData add_circle_outline_rounded = IconData(0xf52c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_circle_outline</i> &#x2014; material icon named "add circle outline" (outlined).
  static const IconData add_circle_outline_outlined = IconData(0xee3f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_comment</i> &#x2014; material icon named "add comment".
  static const IconData add_comment = IconData(0xe051, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_comment</i> &#x2014; material icon named "add comment" (sharp).
  static const IconData add_comment_sharp = IconData(0xe74f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_comment</i> &#x2014; material icon named "add comment" (round).
  static const IconData add_comment_rounded = IconData(0xf52e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_comment</i> &#x2014; material icon named "add comment" (outlined).
  static const IconData add_comment_outlined = IconData(0xee41, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_home</i> &#x2014; material icon named "add home".
  static const IconData add_home = IconData(0xf0785, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_home</i> &#x2014; material icon named "add home" (sharp).
  static const IconData add_home_sharp = IconData(0xf072d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_home</i> &#x2014; material icon named "add home" (round).
  static const IconData add_home_rounded = IconData(0xf07dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_home</i> &#x2014; material icon named "add home" (outlined).
  static const IconData add_home_outlined = IconData(0xf06d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_home_work</i> &#x2014; material icon named "add home work".
  static const IconData add_home_work = IconData(0xf0786, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_home_work</i> &#x2014; material icon named "add home work" (sharp).
  static const IconData add_home_work_sharp = IconData(0xf072e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_home_work</i> &#x2014; material icon named "add home work" (round).
  static const IconData add_home_work_rounded = IconData(0xf07de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_home_work</i> &#x2014; material icon named "add home work" (outlined).
  static const IconData add_home_work_outlined = IconData(0xf06d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_ic_call</i> &#x2014; material icon named "add ic call".
  static const IconData add_ic_call = IconData(0xe052, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_ic_call</i> &#x2014; material icon named "add ic call" (sharp).
  static const IconData add_ic_call_sharp = IconData(0xe750, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_ic_call</i> &#x2014; material icon named "add ic call" (round).
  static const IconData add_ic_call_rounded = IconData(0xf52f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_ic_call</i> &#x2014; material icon named "add ic call" (outlined).
  static const IconData add_ic_call_outlined = IconData(0xee42, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_link</i> &#x2014; material icon named "add link".
  static const IconData add_link = IconData(0xe053, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_link</i> &#x2014; material icon named "add link" (sharp).
  static const IconData add_link_sharp = IconData(0xe751, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_link</i> &#x2014; material icon named "add link" (round).
  static const IconData add_link_rounded = IconData(0xf530, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_link</i> &#x2014; material icon named "add link" (outlined).
  static const IconData add_link_outlined = IconData(0xee43, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_location</i> &#x2014; material icon named "add location".
  static const IconData add_location = IconData(0xe054, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_location</i> &#x2014; material icon named "add location" (sharp).
  static const IconData add_location_sharp = IconData(0xe753, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_location</i> &#x2014; material icon named "add location" (round).
  static const IconData add_location_rounded = IconData(0xf532, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_location</i> &#x2014; material icon named "add location" (outlined).
  static const IconData add_location_outlined = IconData(0xee45, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_location_alt</i> &#x2014; material icon named "add location alt".
  static const IconData add_location_alt = IconData(0xe055, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_location_alt</i> &#x2014; material icon named "add location alt" (sharp).
  static const IconData add_location_alt_sharp = IconData(0xe752, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_location_alt</i> &#x2014; material icon named "add location alt" (round).
  static const IconData add_location_alt_rounded = IconData(0xf531, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_location_alt</i> &#x2014; material icon named "add location alt" (outlined).
  static const IconData add_location_alt_outlined = IconData(0xee44, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_moderator</i> &#x2014; material icon named "add moderator".
  static const IconData add_moderator = IconData(0xe056, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_moderator</i> &#x2014; material icon named "add moderator" (sharp).
  static const IconData add_moderator_sharp = IconData(0xe754, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_moderator</i> &#x2014; material icon named "add moderator" (round).
  static const IconData add_moderator_rounded = IconData(0xf533, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_moderator</i> &#x2014; material icon named "add moderator" (outlined).
  static const IconData add_moderator_outlined = IconData(0xee46, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_photo_alternate</i> &#x2014; material icon named "add photo alternate".
  static const IconData add_photo_alternate = IconData(0xe057, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_photo_alternate</i> &#x2014; material icon named "add photo alternate" (sharp).
  static const IconData add_photo_alternate_sharp = IconData(0xe755, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_photo_alternate</i> &#x2014; material icon named "add photo alternate" (round).
  static const IconData add_photo_alternate_rounded = IconData(0xf534, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_photo_alternate</i> &#x2014; material icon named "add photo alternate" (outlined).
  static const IconData add_photo_alternate_outlined = IconData(0xee48, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_reaction</i> &#x2014; material icon named "add reaction".
  static const IconData add_reaction = IconData(0xe058, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_reaction</i> &#x2014; material icon named "add reaction" (sharp).
  static const IconData add_reaction_sharp = IconData(0xe756, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_reaction</i> &#x2014; material icon named "add reaction" (round).
  static const IconData add_reaction_rounded = IconData(0xf535, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_reaction</i> &#x2014; material icon named "add reaction" (outlined).
  static const IconData add_reaction_outlined = IconData(0xee49, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_road</i> &#x2014; material icon named "add road".
  static const IconData add_road = IconData(0xe059, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_road</i> &#x2014; material icon named "add road" (sharp).
  static const IconData add_road_sharp = IconData(0xe757, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_road</i> &#x2014; material icon named "add road" (round).
  static const IconData add_road_rounded = IconData(0xf536, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_road</i> &#x2014; material icon named "add road" (outlined).
  static const IconData add_road_outlined = IconData(0xee4a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_shopping_cart</i> &#x2014; material icon named "add shopping cart".
  static const IconData add_shopping_cart = IconData(0xe05a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_shopping_cart</i> &#x2014; material icon named "add shopping cart" (sharp).
  static const IconData add_shopping_cart_sharp = IconData(0xe759, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_shopping_cart</i> &#x2014; material icon named "add shopping cart" (round).
  static const IconData add_shopping_cart_rounded = IconData(0xf538, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_shopping_cart</i> &#x2014; material icon named "add shopping cart" (outlined).
  static const IconData add_shopping_cart_outlined = IconData(0xee4b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_task</i> &#x2014; material icon named "add task".
  static const IconData add_task = IconData(0xe05b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_task</i> &#x2014; material icon named "add task" (sharp).
  static const IconData add_task_sharp = IconData(0xe75a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_task</i> &#x2014; material icon named "add task" (round).
  static const IconData add_task_rounded = IconData(0xf539, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_task</i> &#x2014; material icon named "add task" (outlined).
  static const IconData add_task_outlined = IconData(0xee4c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_to_drive</i> &#x2014; material icon named "add to drive".
  static const IconData add_to_drive = IconData(0xe05c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_to_drive</i> &#x2014; material icon named "add to drive" (sharp).
  static const IconData add_to_drive_sharp = IconData(0xe75b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_to_drive</i> &#x2014; material icon named "add to drive" (round).
  static const IconData add_to_drive_rounded = IconData(0xf53a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_to_drive</i> &#x2014; material icon named "add to drive" (outlined).
  static const IconData add_to_drive_outlined = IconData(0xee4d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_to_home_screen</i> &#x2014; material icon named "add to home screen".
  static const IconData add_to_home_screen = IconData(0xe05d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_to_home_screen</i> &#x2014; material icon named "add to home screen" (sharp).
  static const IconData add_to_home_screen_sharp = IconData(0xe75c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_to_home_screen</i> &#x2014; material icon named "add to home screen" (round).
  static const IconData add_to_home_screen_rounded = IconData(0xf53b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_to_home_screen</i> &#x2014; material icon named "add to home screen" (outlined).
  static const IconData add_to_home_screen_outlined = IconData(0xee4e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_to_photos</i> &#x2014; material icon named "add to photos".
  static const IconData add_to_photos = IconData(0xe05e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_to_photos</i> &#x2014; material icon named "add to photos" (sharp).
  static const IconData add_to_photos_sharp = IconData(0xe75d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_to_photos</i> &#x2014; material icon named "add to photos" (round).
  static const IconData add_to_photos_rounded = IconData(0xf53c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_to_photos</i> &#x2014; material icon named "add to photos" (outlined).
  static const IconData add_to_photos_outlined = IconData(0xee4f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">add_to_queue</i> &#x2014; material icon named "add to queue".
  static const IconData add_to_queue = IconData(0xe05f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">add_to_queue</i> &#x2014; material icon named "add to queue" (sharp).
  static const IconData add_to_queue_sharp = IconData(0xe75e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">add_to_queue</i> &#x2014; material icon named "add to queue" (round).
  static const IconData add_to_queue_rounded = IconData(0xf53d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">add_to_queue</i> &#x2014; material icon named "add to queue" (outlined).
  static const IconData add_to_queue_outlined = IconData(0xee50, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">addchart</i> &#x2014; material icon named "addchart".
  static const IconData addchart = IconData(0xe060, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">addchart</i> &#x2014; material icon named "addchart" (sharp).
  static const IconData addchart_sharp = IconData(0xe75f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">addchart</i> &#x2014; material icon named "addchart" (round).
  static const IconData addchart_rounded = IconData(0xf53e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">addchart</i> &#x2014; material icon named "addchart" (outlined).
  static const IconData addchart_outlined = IconData(0xee51, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">adf_scanner</i> &#x2014; material icon named "adf scanner".
  static const IconData adf_scanner = IconData(0xf04b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">adf_scanner</i> &#x2014; material icon named "adf scanner" (sharp).
  static const IconData adf_scanner_sharp = IconData(0xf03c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">adf_scanner</i> &#x2014; material icon named "adf scanner" (round).
  static const IconData adf_scanner_rounded = IconData(0xf02d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">adf_scanner</i> &#x2014; material icon named "adf scanner" (outlined).
  static const IconData adf_scanner_outlined = IconData(0xf05b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">adjust</i> &#x2014; material icon named "adjust".
  static const IconData adjust = IconData(0xe061, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">adjust</i> &#x2014; material icon named "adjust" (sharp).
  static const IconData adjust_sharp = IconData(0xe760, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">adjust</i> &#x2014; material icon named "adjust" (round).
  static const IconData adjust_rounded = IconData(0xf53f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">adjust</i> &#x2014; material icon named "adjust" (outlined).
  static const IconData adjust_outlined = IconData(0xee52, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">admin_panel_settings</i> &#x2014; material icon named "admin panel settings".
  static const IconData admin_panel_settings = IconData(0xe062, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">admin_panel_settings</i> &#x2014; material icon named "admin panel settings" (sharp).
  static const IconData admin_panel_settings_sharp = IconData(0xe761, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">admin_panel_settings</i> &#x2014; material icon named "admin panel settings" (round).
  static const IconData admin_panel_settings_rounded = IconData(0xf540, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">admin_panel_settings</i> &#x2014; material icon named "admin panel settings" (outlined).
  static const IconData admin_panel_settings_outlined = IconData(0xee53, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">adobe</i> &#x2014; material icon named "adobe".
  static const IconData adobe = IconData(0xf04b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">adobe</i> &#x2014; material icon named "adobe" (sharp).
  static const IconData adobe_sharp = IconData(0xf03c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">adobe</i> &#x2014; material icon named "adobe" (round).
  static const IconData adobe_rounded = IconData(0xf02d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">adobe</i> &#x2014; material icon named "adobe" (outlined).
  static const IconData adobe_outlined = IconData(0xf05b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">ads_click</i> &#x2014; material icon named "ads click".
  static const IconData ads_click = IconData(0xf04ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">ads_click</i> &#x2014; material icon named "ads click" (sharp).
  static const IconData ads_click_sharp = IconData(0xf03c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">ads_click</i> &#x2014; material icon named "ads click" (round).
  static const IconData ads_click_rounded = IconData(0xf02d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">ads_click</i> &#x2014; material icon named "ads click" (outlined).
  static const IconData ads_click_outlined = IconData(0xf05b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">agriculture</i> &#x2014; material icon named "agriculture".
  static const IconData agriculture = IconData(0xe063, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">agriculture</i> &#x2014; material icon named "agriculture" (sharp).
  static const IconData agriculture_sharp = IconData(0xe762, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">agriculture</i> &#x2014; material icon named "agriculture" (round).
  static const IconData agriculture_rounded = IconData(0xf541, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">agriculture</i> &#x2014; material icon named "agriculture" (outlined).
  static const IconData agriculture_outlined = IconData(0xee54, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">air</i> &#x2014; material icon named "air".
  static const IconData air = IconData(0xe064, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">air</i> &#x2014; material icon named "air" (sharp).
  static const IconData air_sharp = IconData(0xe763, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">air</i> &#x2014; material icon named "air" (round).
  static const IconData air_rounded = IconData(0xf542, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">air</i> &#x2014; material icon named "air" (outlined).
  static const IconData air_outlined = IconData(0xee55, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airline_seat_flat</i> &#x2014; material icon named "airline seat flat".
  static const IconData airline_seat_flat = IconData(0xe065, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airline_seat_flat</i> &#x2014; material icon named "airline seat flat" (sharp).
  static const IconData airline_seat_flat_sharp = IconData(0xe765, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airline_seat_flat</i> &#x2014; material icon named "airline seat flat" (round).
  static const IconData airline_seat_flat_rounded = IconData(0xf544, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airline_seat_flat</i> &#x2014; material icon named "airline seat flat" (outlined).
  static const IconData airline_seat_flat_outlined = IconData(0xee57, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airline_seat_flat_angled</i> &#x2014; material icon named "airline seat flat angled".
  static const IconData airline_seat_flat_angled = IconData(0xe066, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airline_seat_flat_angled</i> &#x2014; material icon named "airline seat flat angled" (sharp).
  static const IconData airline_seat_flat_angled_sharp = IconData(0xe764, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airline_seat_flat_angled</i> &#x2014; material icon named "airline seat flat angled" (round).
  static const IconData airline_seat_flat_angled_rounded = IconData(0xf543, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airline_seat_flat_angled</i> &#x2014; material icon named "airline seat flat angled" (outlined).
  static const IconData airline_seat_flat_angled_outlined = IconData(0xee56, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airline_seat_individual_suite</i> &#x2014; material icon named "airline seat individual suite".
  static const IconData airline_seat_individual_suite = IconData(0xe067, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airline_seat_individual_suite</i> &#x2014; material icon named "airline seat individual suite" (sharp).
  static const IconData airline_seat_individual_suite_sharp = IconData(0xe766, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airline_seat_individual_suite</i> &#x2014; material icon named "airline seat individual suite" (round).
  static const IconData airline_seat_individual_suite_rounded = IconData(0xf545, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airline_seat_individual_suite</i> &#x2014; material icon named "airline seat individual suite" (outlined).
  static const IconData airline_seat_individual_suite_outlined = IconData(0xee58, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airline_seat_legroom_extra</i> &#x2014; material icon named "airline seat legroom extra".
  static const IconData airline_seat_legroom_extra = IconData(0xe068, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airline_seat_legroom_extra</i> &#x2014; material icon named "airline seat legroom extra" (sharp).
  static const IconData airline_seat_legroom_extra_sharp = IconData(0xe767, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airline_seat_legroom_extra</i> &#x2014; material icon named "airline seat legroom extra" (round).
  static const IconData airline_seat_legroom_extra_rounded = IconData(0xf546, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airline_seat_legroom_extra</i> &#x2014; material icon named "airline seat legroom extra" (outlined).
  static const IconData airline_seat_legroom_extra_outlined = IconData(0xee59, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airline_seat_legroom_normal</i> &#x2014; material icon named "airline seat legroom normal".
  static const IconData airline_seat_legroom_normal = IconData(0xe069, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airline_seat_legroom_normal</i> &#x2014; material icon named "airline seat legroom normal" (sharp).
  static const IconData airline_seat_legroom_normal_sharp = IconData(0xe768, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airline_seat_legroom_normal</i> &#x2014; material icon named "airline seat legroom normal" (round).
  static const IconData airline_seat_legroom_normal_rounded = IconData(0xf547, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airline_seat_legroom_normal</i> &#x2014; material icon named "airline seat legroom normal" (outlined).
  static const IconData airline_seat_legroom_normal_outlined = IconData(0xee5a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airline_seat_legroom_reduced</i> &#x2014; material icon named "airline seat legroom reduced".
  static const IconData airline_seat_legroom_reduced = IconData(0xe06a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airline_seat_legroom_reduced</i> &#x2014; material icon named "airline seat legroom reduced" (sharp).
  static const IconData airline_seat_legroom_reduced_sharp = IconData(0xe769, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airline_seat_legroom_reduced</i> &#x2014; material icon named "airline seat legroom reduced" (round).
  static const IconData airline_seat_legroom_reduced_rounded = IconData(0xf548, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airline_seat_legroom_reduced</i> &#x2014; material icon named "airline seat legroom reduced" (outlined).
  static const IconData airline_seat_legroom_reduced_outlined = IconData(0xee5b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airline_seat_recline_extra</i> &#x2014; material icon named "airline seat recline extra".
  static const IconData airline_seat_recline_extra = IconData(0xe06b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airline_seat_recline_extra</i> &#x2014; material icon named "airline seat recline extra" (sharp).
  static const IconData airline_seat_recline_extra_sharp = IconData(0xe76a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airline_seat_recline_extra</i> &#x2014; material icon named "airline seat recline extra" (round).
  static const IconData airline_seat_recline_extra_rounded = IconData(0xf549, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airline_seat_recline_extra</i> &#x2014; material icon named "airline seat recline extra" (outlined).
  static const IconData airline_seat_recline_extra_outlined = IconData(0xee5c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airline_seat_recline_normal</i> &#x2014; material icon named "airline seat recline normal".
  static const IconData airline_seat_recline_normal = IconData(0xe06c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airline_seat_recline_normal</i> &#x2014; material icon named "airline seat recline normal" (sharp).
  static const IconData airline_seat_recline_normal_sharp = IconData(0xe76b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airline_seat_recline_normal</i> &#x2014; material icon named "airline seat recline normal" (round).
  static const IconData airline_seat_recline_normal_rounded = IconData(0xf54a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airline_seat_recline_normal</i> &#x2014; material icon named "airline seat recline normal" (outlined).
  static const IconData airline_seat_recline_normal_outlined = IconData(0xee5d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airline_stops</i> &#x2014; material icon named "airline stops".
  static const IconData airline_stops = IconData(0xf04bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airline_stops</i> &#x2014; material icon named "airline stops" (sharp).
  static const IconData airline_stops_sharp = IconData(0xf03c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airline_stops</i> &#x2014; material icon named "airline stops" (round).
  static const IconData airline_stops_rounded = IconData(0xf02d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airline_stops</i> &#x2014; material icon named "airline stops" (outlined).
  static const IconData airline_stops_outlined = IconData(0xf05b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airlines</i> &#x2014; material icon named "airlines".
  static const IconData airlines = IconData(0xf04bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airlines</i> &#x2014; material icon named "airlines" (sharp).
  static const IconData airlines_sharp = IconData(0xf03c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airlines</i> &#x2014; material icon named "airlines" (round).
  static const IconData airlines_rounded = IconData(0xf02d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airlines</i> &#x2014; material icon named "airlines" (outlined).
  static const IconData airlines_outlined = IconData(0xf05b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airplane_ticket</i> &#x2014; material icon named "airplane ticket".
  static const IconData airplane_ticket = IconData(0xe06d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airplane_ticket</i> &#x2014; material icon named "airplane ticket" (sharp).
  static const IconData airplane_ticket_sharp = IconData(0xe76c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airplane_ticket</i> &#x2014; material icon named "airplane ticket" (round).
  static const IconData airplane_ticket_rounded = IconData(0xf54b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airplane_ticket</i> &#x2014; material icon named "airplane ticket" (outlined).
  static const IconData airplane_ticket_outlined = IconData(0xee5e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airplanemode_active</i> &#x2014; material icon named "airplanemode active".
  static const IconData airplanemode_active = IconData(0xe06e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airplanemode_active</i> &#x2014; material icon named "airplanemode active" (sharp).
  static const IconData airplanemode_active_sharp = IconData(0xe76d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airplanemode_active</i> &#x2014; material icon named "airplanemode active" (round).
  static const IconData airplanemode_active_rounded = IconData(0xf54c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airplanemode_active</i> &#x2014; material icon named "airplanemode active" (outlined).
  static const IconData airplanemode_active_outlined = IconData(0xee5f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airplanemode_inactive</i> &#x2014; material icon named "airplanemode inactive".
  static const IconData airplanemode_inactive = IconData(0xe06f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airplanemode_inactive</i> &#x2014; material icon named "airplanemode inactive" (sharp).
  static const IconData airplanemode_inactive_sharp = IconData(0xe76e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airplanemode_inactive</i> &#x2014; material icon named "airplanemode inactive" (round).
  static const IconData airplanemode_inactive_rounded = IconData(0xf54d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airplanemode_inactive</i> &#x2014; material icon named "airplanemode inactive" (outlined).
  static const IconData airplanemode_inactive_outlined = IconData(0xee60, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airplanemode_off</i> &#x2014; material icon named "airplanemode off".
  static const IconData airplanemode_off = IconData(0xe06f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airplanemode_off</i> &#x2014; material icon named "airplanemode off" (sharp).
  static const IconData airplanemode_off_sharp = IconData(0xe76e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airplanemode_off</i> &#x2014; material icon named "airplanemode off" (round).
  static const IconData airplanemode_off_rounded = IconData(0xf54d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airplanemode_off</i> &#x2014; material icon named "airplanemode off" (outlined).
  static const IconData airplanemode_off_outlined = IconData(0xee60, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airplanemode_on</i> &#x2014; material icon named "airplanemode on".
  static const IconData airplanemode_on = IconData(0xe06e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airplanemode_on</i> &#x2014; material icon named "airplanemode on" (sharp).
  static const IconData airplanemode_on_sharp = IconData(0xe76d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airplanemode_on</i> &#x2014; material icon named "airplanemode on" (round).
  static const IconData airplanemode_on_rounded = IconData(0xf54c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airplanemode_on</i> &#x2014; material icon named "airplanemode on" (outlined).
  static const IconData airplanemode_on_outlined = IconData(0xee5f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airplay</i> &#x2014; material icon named "airplay".
  static const IconData airplay = IconData(0xe070, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airplay</i> &#x2014; material icon named "airplay" (sharp).
  static const IconData airplay_sharp = IconData(0xe76f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airplay</i> &#x2014; material icon named "airplay" (round).
  static const IconData airplay_rounded = IconData(0xf54e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airplay</i> &#x2014; material icon named "airplay" (outlined).
  static const IconData airplay_outlined = IconData(0xee61, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">airport_shuttle</i> &#x2014; material icon named "airport shuttle".
  static const IconData airport_shuttle = IconData(0xe071, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">airport_shuttle</i> &#x2014; material icon named "airport shuttle" (sharp).
  static const IconData airport_shuttle_sharp = IconData(0xe770, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">airport_shuttle</i> &#x2014; material icon named "airport shuttle" (round).
  static const IconData airport_shuttle_rounded = IconData(0xf54f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">airport_shuttle</i> &#x2014; material icon named "airport shuttle" (outlined).
  static const IconData airport_shuttle_outlined = IconData(0xee62, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">alarm</i> &#x2014; material icon named "alarm".
  static const IconData alarm = IconData(0xe072, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">alarm</i> &#x2014; material icon named "alarm" (sharp).
  static const IconData alarm_sharp = IconData(0xe774, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">alarm</i> &#x2014; material icon named "alarm" (round).
  static const IconData alarm_rounded = IconData(0xf553, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">alarm</i> &#x2014; material icon named "alarm" (outlined).
  static const IconData alarm_outlined = IconData(0xee66, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">alarm_add</i> &#x2014; material icon named "alarm add".
  static const IconData alarm_add = IconData(0xe073, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">alarm_add</i> &#x2014; material icon named "alarm add" (sharp).
  static const IconData alarm_add_sharp = IconData(0xe771, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">alarm_add</i> &#x2014; material icon named "alarm add" (round).
  static const IconData alarm_add_rounded = IconData(0xf550, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">alarm_add</i> &#x2014; material icon named "alarm add" (outlined).
  static const IconData alarm_add_outlined = IconData(0xee63, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">alarm_off</i> &#x2014; material icon named "alarm off".
  static const IconData alarm_off = IconData(0xe074, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">alarm_off</i> &#x2014; material icon named "alarm off" (sharp).
  static const IconData alarm_off_sharp = IconData(0xe772, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">alarm_off</i> &#x2014; material icon named "alarm off" (round).
  static const IconData alarm_off_rounded = IconData(0xf551, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">alarm_off</i> &#x2014; material icon named "alarm off" (outlined).
  static const IconData alarm_off_outlined = IconData(0xee64, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">alarm_on</i> &#x2014; material icon named "alarm on".
  static const IconData alarm_on = IconData(0xe075, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">alarm_on</i> &#x2014; material icon named "alarm on" (sharp).
  static const IconData alarm_on_sharp = IconData(0xe773, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">alarm_on</i> &#x2014; material icon named "alarm on" (round).
  static const IconData alarm_on_rounded = IconData(0xf552, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">alarm_on</i> &#x2014; material icon named "alarm on" (outlined).
  static const IconData alarm_on_outlined = IconData(0xee65, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">album</i> &#x2014; material icon named "album".
  static const IconData album = IconData(0xe076, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">album</i> &#x2014; material icon named "album" (sharp).
  static const IconData album_sharp = IconData(0xe775, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">album</i> &#x2014; material icon named "album" (round).
  static const IconData album_rounded = IconData(0xf554, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">album</i> &#x2014; material icon named "album" (outlined).
  static const IconData album_outlined = IconData(0xee67, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">align_horizontal_center</i> &#x2014; material icon named "align horizontal center".
  static const IconData align_horizontal_center = IconData(0xe077, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">align_horizontal_center</i> &#x2014; material icon named "align horizontal center" (sharp).
  static const IconData align_horizontal_center_sharp = IconData(0xe776, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">align_horizontal_center</i> &#x2014; material icon named "align horizontal center" (round).
  static const IconData align_horizontal_center_rounded = IconData(0xf555, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">align_horizontal_center</i> &#x2014; material icon named "align horizontal center" (outlined).
  static const IconData align_horizontal_center_outlined = IconData(0xee68, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">align_horizontal_left</i> &#x2014; material icon named "align horizontal left".
  static const IconData align_horizontal_left = IconData(0xe078, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">align_horizontal_left</i> &#x2014; material icon named "align horizontal left" (sharp).
  static const IconData align_horizontal_left_sharp = IconData(0xe777, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">align_horizontal_left</i> &#x2014; material icon named "align horizontal left" (round).
  static const IconData align_horizontal_left_rounded = IconData(0xf556, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">align_horizontal_left</i> &#x2014; material icon named "align horizontal left" (outlined).
  static const IconData align_horizontal_left_outlined = IconData(0xee69, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">align_horizontal_right</i> &#x2014; material icon named "align horizontal right".
  static const IconData align_horizontal_right = IconData(0xe079, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">align_horizontal_right</i> &#x2014; material icon named "align horizontal right" (sharp).
  static const IconData align_horizontal_right_sharp = IconData(0xe778, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">align_horizontal_right</i> &#x2014; material icon named "align horizontal right" (round).
  static const IconData align_horizontal_right_rounded = IconData(0xf557, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">align_horizontal_right</i> &#x2014; material icon named "align horizontal right" (outlined).
  static const IconData align_horizontal_right_outlined = IconData(0xee6a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">align_vertical_bottom</i> &#x2014; material icon named "align vertical bottom".
  static const IconData align_vertical_bottom = IconData(0xe07a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">align_vertical_bottom</i> &#x2014; material icon named "align vertical bottom" (sharp).
  static const IconData align_vertical_bottom_sharp = IconData(0xe779, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">align_vertical_bottom</i> &#x2014; material icon named "align vertical bottom" (round).
  static const IconData align_vertical_bottom_rounded = IconData(0xf558, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">align_vertical_bottom</i> &#x2014; material icon named "align vertical bottom" (outlined).
  static const IconData align_vertical_bottom_outlined = IconData(0xee6b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">align_vertical_center</i> &#x2014; material icon named "align vertical center".
  static const IconData align_vertical_center = IconData(0xe07b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">align_vertical_center</i> &#x2014; material icon named "align vertical center" (sharp).
  static const IconData align_vertical_center_sharp = IconData(0xe77a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">align_vertical_center</i> &#x2014; material icon named "align vertical center" (round).
  static const IconData align_vertical_center_rounded = IconData(0xf559, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">align_vertical_center</i> &#x2014; material icon named "align vertical center" (outlined).
  static const IconData align_vertical_center_outlined = IconData(0xee6c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">align_vertical_top</i> &#x2014; material icon named "align vertical top".
  static const IconData align_vertical_top = IconData(0xe07c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">align_vertical_top</i> &#x2014; material icon named "align vertical top" (sharp).
  static const IconData align_vertical_top_sharp = IconData(0xe77b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">align_vertical_top</i> &#x2014; material icon named "align vertical top" (round).
  static const IconData align_vertical_top_rounded = IconData(0xf55a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">align_vertical_top</i> &#x2014; material icon named "align vertical top" (outlined).
  static const IconData align_vertical_top_outlined = IconData(0xee6d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">all_inbox</i> &#x2014; material icon named "all inbox".
  static const IconData all_inbox = IconData(0xe07d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">all_inbox</i> &#x2014; material icon named "all inbox" (sharp).
  static const IconData all_inbox_sharp = IconData(0xe77c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">all_inbox</i> &#x2014; material icon named "all inbox" (round).
  static const IconData all_inbox_rounded = IconData(0xf55b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">all_inbox</i> &#x2014; material icon named "all inbox" (outlined).
  static const IconData all_inbox_outlined = IconData(0xee6e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">all_inclusive</i> &#x2014; material icon named "all inclusive".
  static const IconData all_inclusive = IconData(0xe07e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">all_inclusive</i> &#x2014; material icon named "all inclusive" (sharp).
  static const IconData all_inclusive_sharp = IconData(0xe77d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">all_inclusive</i> &#x2014; material icon named "all inclusive" (round).
  static const IconData all_inclusive_rounded = IconData(0xf55c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">all_inclusive</i> &#x2014; material icon named "all inclusive" (outlined).
  static const IconData all_inclusive_outlined = IconData(0xee6f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">all_out</i> &#x2014; material icon named "all out".
  static const IconData all_out = IconData(0xe07f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">all_out</i> &#x2014; material icon named "all out" (sharp).
  static const IconData all_out_sharp = IconData(0xe77e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">all_out</i> &#x2014; material icon named "all out" (round).
  static const IconData all_out_rounded = IconData(0xf55d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">all_out</i> &#x2014; material icon named "all out" (outlined).
  static const IconData all_out_outlined = IconData(0xee70, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">alt_route</i> &#x2014; material icon named "alt route".
  static const IconData alt_route = IconData(0xe080, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">alt_route</i> &#x2014; material icon named "alt route" (sharp).
  static const IconData alt_route_sharp = IconData(0xe77f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">alt_route</i> &#x2014; material icon named "alt route" (round).
  static const IconData alt_route_rounded = IconData(0xf55e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">alt_route</i> &#x2014; material icon named "alt route" (outlined).
  static const IconData alt_route_outlined = IconData(0xee71, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">alternate_email</i> &#x2014; material icon named "alternate email".
  static const IconData alternate_email = IconData(0xe081, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">alternate_email</i> &#x2014; material icon named "alternate email" (sharp).
  static const IconData alternate_email_sharp = IconData(0xe780, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">alternate_email</i> &#x2014; material icon named "alternate email" (round).
  static const IconData alternate_email_rounded = IconData(0xf55f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">alternate_email</i> &#x2014; material icon named "alternate email" (outlined).
  static const IconData alternate_email_outlined = IconData(0xee72, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">amp_stories</i> &#x2014; material icon named "amp stories".
  static const IconData amp_stories = IconData(0xe082, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">amp_stories</i> &#x2014; material icon named "amp stories" (sharp).
  static const IconData amp_stories_sharp = IconData(0xe781, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">amp_stories</i> &#x2014; material icon named "amp stories" (round).
  static const IconData amp_stories_rounded = IconData(0xf560, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">amp_stories</i> &#x2014; material icon named "amp stories" (outlined).
  static const IconData amp_stories_outlined = IconData(0xee73, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">analytics</i> &#x2014; material icon named "analytics".
  static const IconData analytics = IconData(0xe083, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">analytics</i> &#x2014; material icon named "analytics" (sharp).
  static const IconData analytics_sharp = IconData(0xe782, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">analytics</i> &#x2014; material icon named "analytics" (round).
  static const IconData analytics_rounded = IconData(0xf561, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">analytics</i> &#x2014; material icon named "analytics" (outlined).
  static const IconData analytics_outlined = IconData(0xee74, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">anchor</i> &#x2014; material icon named "anchor".
  static const IconData anchor = IconData(0xe084, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">anchor</i> &#x2014; material icon named "anchor" (sharp).
  static const IconData anchor_sharp = IconData(0xe783, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">anchor</i> &#x2014; material icon named "anchor" (round).
  static const IconData anchor_rounded = IconData(0xf562, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">anchor</i> &#x2014; material icon named "anchor" (outlined).
  static const IconData anchor_outlined = IconData(0xee75, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">android</i> &#x2014; material icon named "android".
  static const IconData android = IconData(0xe085, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">android</i> &#x2014; material icon named "android" (sharp).
  static const IconData android_sharp = IconData(0xe784, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">android</i> &#x2014; material icon named "android" (round).
  static const IconData android_rounded = IconData(0xf563, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">android</i> &#x2014; material icon named "android" (outlined).
  static const IconData android_outlined = IconData(0xee76, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">animation</i> &#x2014; material icon named "animation".
  static const IconData animation = IconData(0xe086, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">animation</i> &#x2014; material icon named "animation" (sharp).
  static const IconData animation_sharp = IconData(0xe785, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">animation</i> &#x2014; material icon named "animation" (round).
  static const IconData animation_rounded = IconData(0xf564, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">animation</i> &#x2014; material icon named "animation" (outlined).
  static const IconData animation_outlined = IconData(0xee77, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">announcement</i> &#x2014; material icon named "announcement".
  static const IconData announcement = IconData(0xe087, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">announcement</i> &#x2014; material icon named "announcement" (sharp).
  static const IconData announcement_sharp = IconData(0xe786, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">announcement</i> &#x2014; material icon named "announcement" (round).
  static const IconData announcement_rounded = IconData(0xf565, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">announcement</i> &#x2014; material icon named "announcement" (outlined).
  static const IconData announcement_outlined = IconData(0xee78, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">aod</i> &#x2014; material icon named "aod".
  static const IconData aod = IconData(0xe088, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">aod</i> &#x2014; material icon named "aod" (sharp).
  static const IconData aod_sharp = IconData(0xe787, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">aod</i> &#x2014; material icon named "aod" (round).
  static const IconData aod_rounded = IconData(0xf566, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">aod</i> &#x2014; material icon named "aod" (outlined).
  static const IconData aod_outlined = IconData(0xee79, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">apartment</i> &#x2014; material icon named "apartment".
  static const IconData apartment = IconData(0xe089, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">apartment</i> &#x2014; material icon named "apartment" (sharp).
  static const IconData apartment_sharp = IconData(0xe788, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">apartment</i> &#x2014; material icon named "apartment" (round).
  static const IconData apartment_rounded = IconData(0xf567, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">apartment</i> &#x2014; material icon named "apartment" (outlined).
  static const IconData apartment_outlined = IconData(0xee7a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">api</i> &#x2014; material icon named "api".
  static const IconData api = IconData(0xe08a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">api</i> &#x2014; material icon named "api" (sharp).
  static const IconData api_sharp = IconData(0xe789, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">api</i> &#x2014; material icon named "api" (round).
  static const IconData api_rounded = IconData(0xf568, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">api</i> &#x2014; material icon named "api" (outlined).
  static const IconData api_outlined = IconData(0xee7b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">app_blocking</i> &#x2014; material icon named "app blocking".
  static const IconData app_blocking = IconData(0xe08b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">app_blocking</i> &#x2014; material icon named "app blocking" (sharp).
  static const IconData app_blocking_sharp = IconData(0xe78a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">app_blocking</i> &#x2014; material icon named "app blocking" (round).
  static const IconData app_blocking_rounded = IconData(0xf569, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">app_blocking</i> &#x2014; material icon named "app blocking" (outlined).
  static const IconData app_blocking_outlined = IconData(0xee7c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">app_registration</i> &#x2014; material icon named "app registration".
  static const IconData app_registration = IconData(0xe08c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">app_registration</i> &#x2014; material icon named "app registration" (sharp).
  static const IconData app_registration_sharp = IconData(0xe78b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">app_registration</i> &#x2014; material icon named "app registration" (round).
  static const IconData app_registration_rounded = IconData(0xf56a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">app_registration</i> &#x2014; material icon named "app registration" (outlined).
  static const IconData app_registration_outlined = IconData(0xee7d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">app_settings_alt</i> &#x2014; material icon named "app settings alt".
  static const IconData app_settings_alt = IconData(0xe08d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">app_settings_alt</i> &#x2014; material icon named "app settings alt" (sharp).
  static const IconData app_settings_alt_sharp = IconData(0xe78c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">app_settings_alt</i> &#x2014; material icon named "app settings alt" (round).
  static const IconData app_settings_alt_rounded = IconData(0xf56b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">app_settings_alt</i> &#x2014; material icon named "app settings alt" (outlined).
  static const IconData app_settings_alt_outlined = IconData(0xee7e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">app_shortcut</i> &#x2014; material icon named "app shortcut".
  static const IconData app_shortcut = IconData(0xf04bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">app_shortcut</i> &#x2014; material icon named "app shortcut" (sharp).
  static const IconData app_shortcut_sharp = IconData(0xf03ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">app_shortcut</i> &#x2014; material icon named "app shortcut" (round).
  static const IconData app_shortcut_rounded = IconData(0xf02d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">app_shortcut</i> &#x2014; material icon named "app shortcut" (outlined).
  static const IconData app_shortcut_outlined = IconData(0xf05b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">apple</i> &#x2014; material icon named "apple".
  static const IconData apple = IconData(0xf04be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">apple</i> &#x2014; material icon named "apple" (sharp).
  static const IconData apple_sharp = IconData(0xf03cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">apple</i> &#x2014; material icon named "apple" (round).
  static const IconData apple_rounded = IconData(0xf02d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">apple</i> &#x2014; material icon named "apple" (outlined).
  static const IconData apple_outlined = IconData(0xf05b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">approval</i> &#x2014; material icon named "approval".
  static const IconData approval = IconData(0xe08e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">approval</i> &#x2014; material icon named "approval" (sharp).
  static const IconData approval_sharp = IconData(0xe78d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">approval</i> &#x2014; material icon named "approval" (round).
  static const IconData approval_rounded = IconData(0xf56c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">approval</i> &#x2014; material icon named "approval" (outlined).
  static const IconData approval_outlined = IconData(0xee7f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">apps</i> &#x2014; material icon named "apps".
  static const IconData apps = IconData(0xe08f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">apps</i> &#x2014; material icon named "apps" (sharp).
  static const IconData apps_sharp = IconData(0xe78e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">apps</i> &#x2014; material icon named "apps" (round).
  static const IconData apps_rounded = IconData(0xf56d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">apps</i> &#x2014; material icon named "apps" (outlined).
  static const IconData apps_outlined = IconData(0xee80, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">apps_outage</i> &#x2014; material icon named "apps outage".
  static const IconData apps_outage = IconData(0xf04bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">apps_outage</i> &#x2014; material icon named "apps outage" (sharp).
  static const IconData apps_outage_sharp = IconData(0xf03cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">apps_outage</i> &#x2014; material icon named "apps outage" (round).
  static const IconData apps_outage_rounded = IconData(0xf02d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">apps_outage</i> &#x2014; material icon named "apps outage" (outlined).
  static const IconData apps_outage_outlined = IconData(0xf05ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">architecture</i> &#x2014; material icon named "architecture".
  static const IconData architecture = IconData(0xe090, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">architecture</i> &#x2014; material icon named "architecture" (sharp).
  static const IconData architecture_sharp = IconData(0xe78f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">architecture</i> &#x2014; material icon named "architecture" (round).
  static const IconData architecture_rounded = IconData(0xf56e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">architecture</i> &#x2014; material icon named "architecture" (outlined).
  static const IconData architecture_outlined = IconData(0xee81, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">archive</i> &#x2014; material icon named "archive".
  static const IconData archive = IconData(0xe091, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">archive</i> &#x2014; material icon named "archive" (sharp).
  static const IconData archive_sharp = IconData(0xe790, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">archive</i> &#x2014; material icon named "archive" (round).
  static const IconData archive_rounded = IconData(0xf56f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">archive</i> &#x2014; material icon named "archive" (outlined).
  static const IconData archive_outlined = IconData(0xee82, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">area_chart</i> &#x2014; material icon named "area chart".
  static const IconData area_chart = IconData(0xf04c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">area_chart</i> &#x2014; material icon named "area chart" (sharp).
  static const IconData area_chart_sharp = IconData(0xf03cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">area_chart</i> &#x2014; material icon named "area chart" (round).
  static const IconData area_chart_rounded = IconData(0xf02da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">area_chart</i> &#x2014; material icon named "area chart" (outlined).
  static const IconData area_chart_outlined = IconData(0xf05bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">arrow_back</i> &#x2014; material icon named "arrow back".
  static const IconData arrow_back = IconData(0xe092, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">arrow_back</i> &#x2014; material icon named "arrow back" (sharp).
  static const IconData arrow_back_sharp = IconData(0xe793, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">arrow_back</i> &#x2014; material icon named "arrow back" (round).
  static const IconData arrow_back_rounded = IconData(0xf572, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">arrow_back</i> &#x2014; material icon named "arrow back" (outlined).
  static const IconData arrow_back_outlined = IconData(0xee85, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">arrow_back_ios</i> &#x2014; material icon named "arrow back ios".
  static const IconData arrow_back_ios = IconData(0xe093, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">arrow_back_ios</i> &#x2014; material icon named "arrow back ios" (sharp).
  static const IconData arrow_back_ios_sharp = IconData(0xe792, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">arrow_back_ios</i> &#x2014; material icon named "arrow back ios" (round).
  static const IconData arrow_back_ios_rounded = IconData(0xf571, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">arrow_back_ios</i> &#x2014; material icon named "arrow back ios" (outlined).
  static const IconData arrow_back_ios_outlined = IconData(0xee84, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">arrow_back_ios_new</i> &#x2014; material icon named "arrow back ios new".
  static const IconData arrow_back_ios_new = IconData(0xe094, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">arrow_back_ios_new</i> &#x2014; material icon named "arrow back ios new" (sharp).
  static const IconData arrow_back_ios_new_sharp = IconData(0xe791, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">arrow_back_ios_new</i> &#x2014; material icon named "arrow back ios new" (round).
  static const IconData arrow_back_ios_new_rounded = IconData(0xf570, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">arrow_back_ios_new</i> &#x2014; material icon named "arrow back ios new" (outlined).
  static const IconData arrow_back_ios_new_outlined = IconData(0xee83, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">arrow_circle_down</i> &#x2014; material icon named "arrow circle down".
  static const IconData arrow_circle_down = IconData(0xe095, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">arrow_circle_down</i> &#x2014; material icon named "arrow circle down" (sharp).
  static const IconData arrow_circle_down_sharp = IconData(0xe794, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">arrow_circle_down</i> &#x2014; material icon named "arrow circle down" (round).
  static const IconData arrow_circle_down_rounded = IconData(0xf573, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">arrow_circle_down</i> &#x2014; material icon named "arrow circle down" (outlined).
  static const IconData arrow_circle_down_outlined = IconData(0xee86, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">arrow_circle_left</i> &#x2014; material icon named "arrow circle left".
  static const IconData arrow_circle_left = IconData(0xf04c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">arrow_circle_left</i> &#x2014; material icon named "arrow circle left" (sharp).
  static const IconData arrow_circle_left_sharp = IconData(0xf03ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">arrow_circle_left</i> &#x2014; material icon named "arrow circle left" (round).
  static const IconData arrow_circle_left_rounded = IconData(0xf02db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">arrow_circle_left</i> &#x2014; material icon named "arrow circle left" (outlined).
  static const IconData arrow_circle_left_outlined = IconData(0xf05bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">arrow_circle_right</i> &#x2014; material icon named "arrow circle right".
  static const IconData arrow_circle_right = IconData(0xf04c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">arrow_circle_right</i> &#x2014; material icon named "arrow circle right" (sharp).
  static const IconData arrow_circle_right_sharp = IconData(0xf03cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">arrow_circle_right</i> &#x2014; material icon named "arrow circle right" (round).
  static const IconData arrow_circle_right_rounded = IconData(0xf02dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">arrow_circle_right</i> &#x2014; material icon named "arrow circle right" (outlined).
  static const IconData arrow_circle_right_outlined = IconData(0xf05bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">arrow_circle_up</i> &#x2014; material icon named "arrow circle up".
  static const IconData arrow_circle_up = IconData(0xe096, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">arrow_circle_up</i> &#x2014; material icon named "arrow circle up" (sharp).
  static const IconData arrow_circle_up_sharp = IconData(0xe795, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">arrow_circle_up</i> &#x2014; material icon named "arrow circle up" (round).
  static const IconData arrow_circle_up_rounded = IconData(0xf574, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">arrow_circle_up</i> &#x2014; material icon named "arrow circle up" (outlined).
  static const IconData arrow_circle_up_outlined = IconData(0xee87, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">arrow_downward</i> &#x2014; material icon named "arrow downward".
  static const IconData arrow_downward = IconData(0xe097, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">arrow_downward</i> &#x2014; material icon named "arrow downward" (sharp).
  static const IconData arrow_downward_sharp = IconData(0xe796, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">arrow_downward</i> &#x2014; material icon named "arrow downward" (round).
  static const IconData arrow_downward_rounded = IconData(0xf575, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">arrow_downward</i> &#x2014; material icon named "arrow downward" (outlined).
  static const IconData arrow_downward_outlined = IconData(0xee88, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">arrow_drop_down</i> &#x2014; material icon named "arrow drop down".
  static const IconData arrow_drop_down = IconData(0xe098, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">arrow_drop_down</i> &#x2014; material icon named "arrow drop down" (sharp).
  static const IconData arrow_drop_down_sharp = IconData(0xe798, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">arrow_drop_down</i> &#x2014; material icon named "arrow drop down" (round).
  static const IconData arrow_drop_down_rounded = IconData(0xf577, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">arrow_drop_down</i> &#x2014; material icon named "arrow drop down" (outlined).
  static const IconData arrow_drop_down_outlined = IconData(0xee8a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">arrow_drop_down_circle</i> &#x2014; material icon named "arrow drop down circle".
  static const IconData arrow_drop_down_circle = IconData(0xe099, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">arrow_drop_down_circle</i> &#x2014; material icon named "arrow drop down circle" (sharp).
  static const IconData arrow_drop_down_circle_sharp = IconData(0xe797, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">arrow_drop_down_circle</i> &#x2014; material icon named "arrow drop down circle" (round).
  static const IconData arrow_drop_down_circle_rounded = IconData(0xf576, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">arrow_drop_down_circle</i> &#x2014; material icon named "arrow drop down circle" (outlined).
  static const IconData arrow_drop_down_circle_outlined = IconData(0xee89, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">arrow_drop_up</i> &#x2014; material icon named "arrow drop up".
  static const IconData arrow_drop_up = IconData(0xe09a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">arrow_drop_up</i> &#x2014; material icon named "arrow drop up" (sharp).
  static const IconData arrow_drop_up_sharp = IconData(0xe799, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">arrow_drop_up</i> &#x2014; material icon named "arrow drop up" (round).
  static const IconData arrow_drop_up_rounded = IconData(0xf578, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">arrow_drop_up</i> &#x2014; material icon named "arrow drop up" (outlined).
  static const IconData arrow_drop_up_outlined = IconData(0xee8b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">arrow_forward</i> &#x2014; material icon named "arrow forward".
  static const IconData arrow_forward = IconData(0xe09b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">arrow_forward</i> &#x2014; material icon named "arrow forward" (sharp).
  static const IconData arrow_forward_sharp = IconData(0xe79b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">arrow_forward</i> &#x2014; material icon named "arrow forward" (round).
  static const IconData arrow_forward_rounded = IconData(0xf57a, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">arrow_forward</i> &#x2014; material icon named "arrow forward" (outlined).
  static const IconData arrow_forward_outlined = IconData(0xee8d, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">arrow_forward_ios</i> &#x2014; material icon named "arrow forward ios".
  static const IconData arrow_forward_ios = IconData(0xe09c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">arrow_forward_ios</i> &#x2014; material icon named "arrow forward ios" (sharp).
  static const IconData arrow_forward_ios_sharp = IconData(0xe79a, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">arrow_forward_ios</i> &#x2014; material icon named "arrow forward ios" (round).
  static const IconData arrow_forward_ios_rounded = IconData(0xf579, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">arrow_forward_ios</i> &#x2014; material icon named "arrow forward ios" (outlined).
  static const IconData arrow_forward_ios_outlined = IconData(0xee8c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">arrow_left</i> &#x2014; material icon named "arrow left".
  static const IconData arrow_left = IconData(0xe09d, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">arrow_left</i> &#x2014; material icon named "arrow left" (sharp).
  static const IconData arrow_left_sharp = IconData(0xe79c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">arrow_left</i> &#x2014; material icon named "arrow left" (round).
  static const IconData arrow_left_rounded = IconData(0xf57b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">arrow_left</i> &#x2014; material icon named "arrow left" (outlined).
  static const IconData arrow_left_outlined = IconData(0xee8e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">arrow_right</i> &#x2014; material icon named "arrow right".
  static const IconData arrow_right = IconData(0xe09e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">arrow_right</i> &#x2014; material icon named "arrow right" (sharp).
  static const IconData arrow_right_sharp = IconData(0xe79e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">arrow_right</i> &#x2014; material icon named "arrow right" (round).
  static const IconData arrow_right_rounded = IconData(0xf57d, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">arrow_right</i> &#x2014; material icon named "arrow right" (outlined).
  static const IconData arrow_right_outlined = IconData(0xee90, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">arrow_right_alt</i> &#x2014; material icon named "arrow right alt".
  static const IconData arrow_right_alt = IconData(0xe09f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">arrow_right_alt</i> &#x2014; material icon named "arrow right alt" (sharp).
  static const IconData arrow_right_alt_sharp = IconData(0xe79d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">arrow_right_alt</i> &#x2014; material icon named "arrow right alt" (round).
  static const IconData arrow_right_alt_rounded = IconData(0xf57c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">arrow_right_alt</i> &#x2014; material icon named "arrow right alt" (outlined).
  static const IconData arrow_right_alt_outlined = IconData(0xee8f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">arrow_upward</i> &#x2014; material icon named "arrow upward".
  static const IconData arrow_upward = IconData(0xe0a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">arrow_upward</i> &#x2014; material icon named "arrow upward" (sharp).
  static const IconData arrow_upward_sharp = IconData(0xe79f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">arrow_upward</i> &#x2014; material icon named "arrow upward" (round).
  static const IconData arrow_upward_rounded = IconData(0xf57e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">arrow_upward</i> &#x2014; material icon named "arrow upward" (outlined).
  static const IconData arrow_upward_outlined = IconData(0xee91, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">art_track</i> &#x2014; material icon named "art track".
  static const IconData art_track = IconData(0xe0a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">art_track</i> &#x2014; material icon named "art track" (sharp).
  static const IconData art_track_sharp = IconData(0xe7a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">art_track</i> &#x2014; material icon named "art track" (round).
  static const IconData art_track_rounded = IconData(0xf57f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">art_track</i> &#x2014; material icon named "art track" (outlined).
  static const IconData art_track_outlined = IconData(0xee92, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">article</i> &#x2014; material icon named "article".
  static const IconData article = IconData(0xe0a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">article</i> &#x2014; material icon named "article" (sharp).
  static const IconData article_sharp = IconData(0xe7a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">article</i> &#x2014; material icon named "article" (round).
  static const IconData article_rounded = IconData(0xf580, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">article</i> &#x2014; material icon named "article" (outlined).
  static const IconData article_outlined = IconData(0xee93, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">aspect_ratio</i> &#x2014; material icon named "aspect ratio".
  static const IconData aspect_ratio = IconData(0xe0a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">aspect_ratio</i> &#x2014; material icon named "aspect ratio" (sharp).
  static const IconData aspect_ratio_sharp = IconData(0xe7a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">aspect_ratio</i> &#x2014; material icon named "aspect ratio" (round).
  static const IconData aspect_ratio_rounded = IconData(0xf581, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">aspect_ratio</i> &#x2014; material icon named "aspect ratio" (outlined).
  static const IconData aspect_ratio_outlined = IconData(0xee94, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">assessment</i> &#x2014; material icon named "assessment".
  static const IconData assessment = IconData(0xe0a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">assessment</i> &#x2014; material icon named "assessment" (sharp).
  static const IconData assessment_sharp = IconData(0xe7a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">assessment</i> &#x2014; material icon named "assessment" (round).
  static const IconData assessment_rounded = IconData(0xf582, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">assessment</i> &#x2014; material icon named "assessment" (outlined).
  static const IconData assessment_outlined = IconData(0xee95, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">assignment</i> &#x2014; material icon named "assignment".
  static const IconData assignment = IconData(0xe0a5, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">assignment</i> &#x2014; material icon named "assignment" (sharp).
  static const IconData assignment_sharp = IconData(0xe7a8, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">assignment</i> &#x2014; material icon named "assignment" (round).
  static const IconData assignment_rounded = IconData(0xf587, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">assignment</i> &#x2014; material icon named "assignment" (outlined).
  static const IconData assignment_outlined = IconData(0xee98, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">assignment_ind</i> &#x2014; material icon named "assignment ind".
  static const IconData assignment_ind = IconData(0xe0a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">assignment_ind</i> &#x2014; material icon named "assignment ind" (sharp).
  static const IconData assignment_ind_sharp = IconData(0xe7a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">assignment_ind</i> &#x2014; material icon named "assignment ind" (round).
  static const IconData assignment_ind_rounded = IconData(0xf583, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">assignment_ind</i> &#x2014; material icon named "assignment ind" (outlined).
  static const IconData assignment_ind_outlined = IconData(0xee96, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">assignment_late</i> &#x2014; material icon named "assignment late".
  static const IconData assignment_late = IconData(0xe0a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">assignment_late</i> &#x2014; material icon named "assignment late" (sharp).
  static const IconData assignment_late_sharp = IconData(0xe7a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">assignment_late</i> &#x2014; material icon named "assignment late" (round).
  static const IconData assignment_late_rounded = IconData(0xf584, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">assignment_late</i> &#x2014; material icon named "assignment late" (outlined).
  static const IconData assignment_late_outlined = IconData(0xee97, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">assignment_return</i> &#x2014; material icon named "assignment return".
  static const IconData assignment_return = IconData(0xe0a8, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">assignment_return</i> &#x2014; material icon named "assignment return" (sharp).
  static const IconData assignment_return_sharp = IconData(0xe7a6, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">assignment_return</i> &#x2014; material icon named "assignment return" (round).
  static const IconData assignment_return_rounded = IconData(0xf585, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">assignment_return</i> &#x2014; material icon named "assignment return" (outlined).
  static const IconData assignment_return_outlined = IconData(0xee99, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">assignment_returned</i> &#x2014; material icon named "assignment returned".
  static const IconData assignment_returned = IconData(0xe0a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">assignment_returned</i> &#x2014; material icon named "assignment returned" (sharp).
  static const IconData assignment_returned_sharp = IconData(0xe7a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">assignment_returned</i> &#x2014; material icon named "assignment returned" (round).
  static const IconData assignment_returned_rounded = IconData(0xf586, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">assignment_returned</i> &#x2014; material icon named "assignment returned" (outlined).
  static const IconData assignment_returned_outlined = IconData(0xee9a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">assignment_turned_in</i> &#x2014; material icon named "assignment turned in".
  static const IconData assignment_turned_in = IconData(0xe0aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">assignment_turned_in</i> &#x2014; material icon named "assignment turned in" (sharp).
  static const IconData assignment_turned_in_sharp = IconData(0xe7a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">assignment_turned_in</i> &#x2014; material icon named "assignment turned in" (round).
  static const IconData assignment_turned_in_rounded = IconData(0xf588, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">assignment_turned_in</i> &#x2014; material icon named "assignment turned in" (outlined).
  static const IconData assignment_turned_in_outlined = IconData(0xee9b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">assistant</i> &#x2014; material icon named "assistant".
  static const IconData assistant = IconData(0xe0ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">assistant</i> &#x2014; material icon named "assistant" (sharp).
  static const IconData assistant_sharp = IconData(0xe7ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">assistant</i> &#x2014; material icon named "assistant" (round).
  static const IconData assistant_rounded = IconData(0xf58b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">assistant</i> &#x2014; material icon named "assistant" (outlined).
  static const IconData assistant_outlined = IconData(0xee9d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">assistant_direction</i> &#x2014; material icon named "assistant direction".
  static const IconData assistant_direction = IconData(0xe0ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">assistant_direction</i> &#x2014; material icon named "assistant direction" (sharp).
  static const IconData assistant_direction_sharp = IconData(0xe7aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">assistant_direction</i> &#x2014; material icon named "assistant direction" (round).
  static const IconData assistant_direction_rounded = IconData(0xf589, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">assistant_direction</i> &#x2014; material icon named "assistant direction" (outlined).
  static const IconData assistant_direction_outlined = IconData(0xee9c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">assistant_navigation</i> &#x2014; material icon named "assistant navigation".
  static const IconData assistant_navigation = IconData(0xe0ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">assistant_photo</i> &#x2014; material icon named "assistant photo".
  static const IconData assistant_photo = IconData(0xe0ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">assistant_photo</i> &#x2014; material icon named "assistant photo" (sharp).
  static const IconData assistant_photo_sharp = IconData(0xe7ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">assistant_photo</i> &#x2014; material icon named "assistant photo" (round).
  static const IconData assistant_photo_rounded = IconData(0xf58a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">assistant_photo</i> &#x2014; material icon named "assistant photo" (outlined).
  static const IconData assistant_photo_outlined = IconData(0xee9e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">assured_workload</i> &#x2014; material icon named "assured workload".
  static const IconData assured_workload = IconData(0xf04c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">assured_workload</i> &#x2014; material icon named "assured workload" (sharp).
  static const IconData assured_workload_sharp = IconData(0xf03d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">assured_workload</i> &#x2014; material icon named "assured workload" (round).
  static const IconData assured_workload_rounded = IconData(0xf02dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">assured_workload</i> &#x2014; material icon named "assured workload" (outlined).
  static const IconData assured_workload_outlined = IconData(0xf05be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">atm</i> &#x2014; material icon named "atm".
  static const IconData atm = IconData(0xe0af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">atm</i> &#x2014; material icon named "atm" (sharp).
  static const IconData atm_sharp = IconData(0xe7ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">atm</i> &#x2014; material icon named "atm" (round).
  static const IconData atm_rounded = IconData(0xf58c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">atm</i> &#x2014; material icon named "atm" (outlined).
  static const IconData atm_outlined = IconData(0xee9f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">attach_email</i> &#x2014; material icon named "attach email".
  static const IconData attach_email = IconData(0xe0b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">attach_email</i> &#x2014; material icon named "attach email" (sharp).
  static const IconData attach_email_sharp = IconData(0xe7ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">attach_email</i> &#x2014; material icon named "attach email" (round).
  static const IconData attach_email_rounded = IconData(0xf58d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">attach_email</i> &#x2014; material icon named "attach email" (outlined).
  static const IconData attach_email_outlined = IconData(0xeea0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">attach_file</i> &#x2014; material icon named "attach file".
  static const IconData attach_file = IconData(0xe0b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">attach_file</i> &#x2014; material icon named "attach file" (sharp).
  static const IconData attach_file_sharp = IconData(0xe7af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">attach_file</i> &#x2014; material icon named "attach file" (round).
  static const IconData attach_file_rounded = IconData(0xf58e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">attach_file</i> &#x2014; material icon named "attach file" (outlined).
  static const IconData attach_file_outlined = IconData(0xeea1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">attach_money</i> &#x2014; material icon named "attach money".
  static const IconData attach_money = IconData(0xe0b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">attach_money</i> &#x2014; material icon named "attach money" (sharp).
  static const IconData attach_money_sharp = IconData(0xe7b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">attach_money</i> &#x2014; material icon named "attach money" (round).
  static const IconData attach_money_rounded = IconData(0xf58f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">attach_money</i> &#x2014; material icon named "attach money" (outlined).
  static const IconData attach_money_outlined = IconData(0xeea2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">attachment</i> &#x2014; material icon named "attachment".
  static const IconData attachment = IconData(0xe0b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">attachment</i> &#x2014; material icon named "attachment" (sharp).
  static const IconData attachment_sharp = IconData(0xe7b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">attachment</i> &#x2014; material icon named "attachment" (round).
  static const IconData attachment_rounded = IconData(0xf590, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">attachment</i> &#x2014; material icon named "attachment" (outlined).
  static const IconData attachment_outlined = IconData(0xeea3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">attractions</i> &#x2014; material icon named "attractions".
  static const IconData attractions = IconData(0xe0b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">attractions</i> &#x2014; material icon named "attractions" (sharp).
  static const IconData attractions_sharp = IconData(0xe7b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">attractions</i> &#x2014; material icon named "attractions" (round).
  static const IconData attractions_rounded = IconData(0xf591, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">attractions</i> &#x2014; material icon named "attractions" (outlined).
  static const IconData attractions_outlined = IconData(0xeea4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">attribution</i> &#x2014; material icon named "attribution".
  static const IconData attribution = IconData(0xe0b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">attribution</i> &#x2014; material icon named "attribution" (sharp).
  static const IconData attribution_sharp = IconData(0xe7b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">attribution</i> &#x2014; material icon named "attribution" (round).
  static const IconData attribution_rounded = IconData(0xf592, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">attribution</i> &#x2014; material icon named "attribution" (outlined).
  static const IconData attribution_outlined = IconData(0xeea5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">audio_file</i> &#x2014; material icon named "audio file".
  static const IconData audio_file = IconData(0xf04c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">audio_file</i> &#x2014; material icon named "audio file" (sharp).
  static const IconData audio_file_sharp = IconData(0xf03d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">audio_file</i> &#x2014; material icon named "audio file" (round).
  static const IconData audio_file_rounded = IconData(0xf02de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">audio_file</i> &#x2014; material icon named "audio file" (outlined).
  static const IconData audio_file_outlined = IconData(0xf05bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">audiotrack</i> &#x2014; material icon named "audiotrack".
  static const IconData audiotrack = IconData(0xe0b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">audiotrack</i> &#x2014; material icon named "audiotrack" (sharp).
  static const IconData audiotrack_sharp = IconData(0xe7b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">audiotrack</i> &#x2014; material icon named "audiotrack" (round).
  static const IconData audiotrack_rounded = IconData(0xf593, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">audiotrack</i> &#x2014; material icon named "audiotrack" (outlined).
  static const IconData audiotrack_outlined = IconData(0xeea6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">auto_awesome</i> &#x2014; material icon named "auto awesome".
  static const IconData auto_awesome = IconData(0xe0b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">auto_awesome</i> &#x2014; material icon named "auto awesome" (sharp).
  static const IconData auto_awesome_sharp = IconData(0xe7b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">auto_awesome</i> &#x2014; material icon named "auto awesome" (round).
  static const IconData auto_awesome_rounded = IconData(0xf596, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">auto_awesome</i> &#x2014; material icon named "auto awesome" (outlined).
  static const IconData auto_awesome_outlined = IconData(0xeea9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">auto_awesome_mosaic</i> &#x2014; material icon named "auto awesome mosaic".
  static const IconData auto_awesome_mosaic = IconData(0xe0b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">auto_awesome_mosaic</i> &#x2014; material icon named "auto awesome mosaic" (sharp).
  static const IconData auto_awesome_mosaic_sharp = IconData(0xe7b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">auto_awesome_mosaic</i> &#x2014; material icon named "auto awesome mosaic" (round).
  static const IconData auto_awesome_mosaic_rounded = IconData(0xf594, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">auto_awesome_mosaic</i> &#x2014; material icon named "auto awesome mosaic" (outlined).
  static const IconData auto_awesome_mosaic_outlined = IconData(0xeea7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">auto_awesome_motion</i> &#x2014; material icon named "auto awesome motion".
  static const IconData auto_awesome_motion = IconData(0xe0b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">auto_awesome_motion</i> &#x2014; material icon named "auto awesome motion" (sharp).
  static const IconData auto_awesome_motion_sharp = IconData(0xe7b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">auto_awesome_motion</i> &#x2014; material icon named "auto awesome motion" (round).
  static const IconData auto_awesome_motion_rounded = IconData(0xf595, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">auto_awesome_motion</i> &#x2014; material icon named "auto awesome motion" (outlined).
  static const IconData auto_awesome_motion_outlined = IconData(0xeea8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">auto_delete</i> &#x2014; material icon named "auto delete".
  static const IconData auto_delete = IconData(0xe0ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">auto_delete</i> &#x2014; material icon named "auto delete" (sharp).
  static const IconData auto_delete_sharp = IconData(0xe7b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">auto_delete</i> &#x2014; material icon named "auto delete" (round).
  static const IconData auto_delete_rounded = IconData(0xf597, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">auto_delete</i> &#x2014; material icon named "auto delete" (outlined).
  static const IconData auto_delete_outlined = IconData(0xeeaa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">auto_fix_high</i> &#x2014; material icon named "auto fix high".
  static const IconData auto_fix_high = IconData(0xe0bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">auto_fix_high</i> &#x2014; material icon named "auto fix high" (sharp).
  static const IconData auto_fix_high_sharp = IconData(0xe7b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">auto_fix_high</i> &#x2014; material icon named "auto fix high" (round).
  static const IconData auto_fix_high_rounded = IconData(0xf598, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">auto_fix_high</i> &#x2014; material icon named "auto fix high" (outlined).
  static const IconData auto_fix_high_outlined = IconData(0xeeab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">auto_fix_normal</i> &#x2014; material icon named "auto fix normal".
  static const IconData auto_fix_normal = IconData(0xe0bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">auto_fix_normal</i> &#x2014; material icon named "auto fix normal" (sharp).
  static const IconData auto_fix_normal_sharp = IconData(0xe7ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">auto_fix_normal</i> &#x2014; material icon named "auto fix normal" (round).
  static const IconData auto_fix_normal_rounded = IconData(0xf599, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">auto_fix_normal</i> &#x2014; material icon named "auto fix normal" (outlined).
  static const IconData auto_fix_normal_outlined = IconData(0xeeac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">auto_fix_off</i> &#x2014; material icon named "auto fix off".
  static const IconData auto_fix_off = IconData(0xe0bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">auto_fix_off</i> &#x2014; material icon named "auto fix off" (sharp).
  static const IconData auto_fix_off_sharp = IconData(0xe7bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">auto_fix_off</i> &#x2014; material icon named "auto fix off" (round).
  static const IconData auto_fix_off_rounded = IconData(0xf59a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">auto_fix_off</i> &#x2014; material icon named "auto fix off" (outlined).
  static const IconData auto_fix_off_outlined = IconData(0xeead, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">auto_graph</i> &#x2014; material icon named "auto graph".
  static const IconData auto_graph = IconData(0xe0be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">auto_graph</i> &#x2014; material icon named "auto graph" (sharp).
  static const IconData auto_graph_sharp = IconData(0xe7bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">auto_graph</i> &#x2014; material icon named "auto graph" (round).
  static const IconData auto_graph_rounded = IconData(0xf59b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">auto_graph</i> &#x2014; material icon named "auto graph" (outlined).
  static const IconData auto_graph_outlined = IconData(0xeeae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">auto_mode</i> &#x2014; material icon named "auto mode".
  static const IconData auto_mode = IconData(0xf0787, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">auto_mode</i> &#x2014; material icon named "auto mode" (sharp).
  static const IconData auto_mode_sharp = IconData(0xf072f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">auto_mode</i> &#x2014; material icon named "auto mode" (round).
  static const IconData auto_mode_rounded = IconData(0xf07df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">auto_mode</i> &#x2014; material icon named "auto mode" (outlined).
  static const IconData auto_mode_outlined = IconData(0xf06d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">auto_stories</i> &#x2014; material icon named "auto stories".
  static const IconData auto_stories = IconData(0xe0bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">auto_stories</i> &#x2014; material icon named "auto stories" (sharp).
  static const IconData auto_stories_sharp = IconData(0xe7bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">auto_stories</i> &#x2014; material icon named "auto stories" (round).
  static const IconData auto_stories_rounded = IconData(0xf59c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">auto_stories</i> &#x2014; material icon named "auto stories" (outlined).
  static const IconData auto_stories_outlined = IconData(0xeeaf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">autofps_select</i> &#x2014; material icon named "autofps select".
  static const IconData autofps_select = IconData(0xe0c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">autofps_select</i> &#x2014; material icon named "autofps select" (sharp).
  static const IconData autofps_select_sharp = IconData(0xe7be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">autofps_select</i> &#x2014; material icon named "autofps select" (round).
  static const IconData autofps_select_rounded = IconData(0xf59d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">autofps_select</i> &#x2014; material icon named "autofps select" (outlined).
  static const IconData autofps_select_outlined = IconData(0xeeb0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">autorenew</i> &#x2014; material icon named "autorenew".
  static const IconData autorenew = IconData(0xe0c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">autorenew</i> &#x2014; material icon named "autorenew" (sharp).
  static const IconData autorenew_sharp = IconData(0xe7bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">autorenew</i> &#x2014; material icon named "autorenew" (round).
  static const IconData autorenew_rounded = IconData(0xf59e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">autorenew</i> &#x2014; material icon named "autorenew" (outlined).
  static const IconData autorenew_outlined = IconData(0xeeb1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">av_timer</i> &#x2014; material icon named "av timer".
  static const IconData av_timer = IconData(0xe0c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">av_timer</i> &#x2014; material icon named "av timer" (sharp).
  static const IconData av_timer_sharp = IconData(0xe7c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">av_timer</i> &#x2014; material icon named "av timer" (round).
  static const IconData av_timer_rounded = IconData(0xf59f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">av_timer</i> &#x2014; material icon named "av timer" (outlined).
  static const IconData av_timer_outlined = IconData(0xeeb2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">baby_changing_station</i> &#x2014; material icon named "baby changing station".
  static const IconData baby_changing_station = IconData(0xe0c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">baby_changing_station</i> &#x2014; material icon named "baby changing station" (sharp).
  static const IconData baby_changing_station_sharp = IconData(0xe7c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">baby_changing_station</i> &#x2014; material icon named "baby changing station" (round).
  static const IconData baby_changing_station_rounded = IconData(0xf5a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">baby_changing_station</i> &#x2014; material icon named "baby changing station" (outlined).
  static const IconData baby_changing_station_outlined = IconData(0xeeb3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">back_hand</i> &#x2014; material icon named "back hand".
  static const IconData back_hand = IconData(0xf04c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">back_hand</i> &#x2014; material icon named "back hand" (sharp).
  static const IconData back_hand_sharp = IconData(0xf03d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">back_hand</i> &#x2014; material icon named "back hand" (round).
  static const IconData back_hand_rounded = IconData(0xf02df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">back_hand</i> &#x2014; material icon named "back hand" (outlined).
  static const IconData back_hand_outlined = IconData(0xf05c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">backpack</i> &#x2014; material icon named "backpack".
  static const IconData backpack = IconData(0xe0c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">backpack</i> &#x2014; material icon named "backpack" (sharp).
  static const IconData backpack_sharp = IconData(0xe7c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">backpack</i> &#x2014; material icon named "backpack" (round).
  static const IconData backpack_rounded = IconData(0xf5a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">backpack</i> &#x2014; material icon named "backpack" (outlined).
  static const IconData backpack_outlined = IconData(0xeeb4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">backspace</i> &#x2014; material icon named "backspace".
  static const IconData backspace = IconData(0xe0c5, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">backspace</i> &#x2014; material icon named "backspace" (sharp).
  static const IconData backspace_sharp = IconData(0xe7c3, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">backspace</i> &#x2014; material icon named "backspace" (round).
  static const IconData backspace_rounded = IconData(0xf5a2, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">backspace</i> &#x2014; material icon named "backspace" (outlined).
  static const IconData backspace_outlined = IconData(0xeeb5, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">backup</i> &#x2014; material icon named "backup".
  static const IconData backup = IconData(0xe0c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">backup</i> &#x2014; material icon named "backup" (sharp).
  static const IconData backup_sharp = IconData(0xe7c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">backup</i> &#x2014; material icon named "backup" (round).
  static const IconData backup_rounded = IconData(0xf5a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">backup</i> &#x2014; material icon named "backup" (outlined).
  static const IconData backup_outlined = IconData(0xeeb6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">backup_table</i> &#x2014; material icon named "backup table".
  static const IconData backup_table = IconData(0xe0c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">backup_table</i> &#x2014; material icon named "backup table" (sharp).
  static const IconData backup_table_sharp = IconData(0xe7c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">backup_table</i> &#x2014; material icon named "backup table" (round).
  static const IconData backup_table_rounded = IconData(0xf5a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">backup_table</i> &#x2014; material icon named "backup table" (outlined).
  static const IconData backup_table_outlined = IconData(0xeeb7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">badge</i> &#x2014; material icon named "badge".
  static const IconData badge = IconData(0xe0c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">badge</i> &#x2014; material icon named "badge" (sharp).
  static const IconData badge_sharp = IconData(0xe7c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">badge</i> &#x2014; material icon named "badge" (round).
  static const IconData badge_rounded = IconData(0xf5a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">badge</i> &#x2014; material icon named "badge" (outlined).
  static const IconData badge_outlined = IconData(0xeeb8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bakery_dining</i> &#x2014; material icon named "bakery dining".
  static const IconData bakery_dining = IconData(0xe0c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bakery_dining</i> &#x2014; material icon named "bakery dining" (sharp).
  static const IconData bakery_dining_sharp = IconData(0xe7c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bakery_dining</i> &#x2014; material icon named "bakery dining" (round).
  static const IconData bakery_dining_rounded = IconData(0xf5a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bakery_dining</i> &#x2014; material icon named "bakery dining" (outlined).
  static const IconData bakery_dining_outlined = IconData(0xeeb9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">balance</i> &#x2014; material icon named "balance".
  static const IconData balance = IconData(0xf04c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">balance</i> &#x2014; material icon named "balance" (sharp).
  static const IconData balance_sharp = IconData(0xf03d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">balance</i> &#x2014; material icon named "balance" (round).
  static const IconData balance_rounded = IconData(0xf02e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">balance</i> &#x2014; material icon named "balance" (outlined).
  static const IconData balance_outlined = IconData(0xf05c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">balcony</i> &#x2014; material icon named "balcony".
  static const IconData balcony = IconData(0xe0ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">balcony</i> &#x2014; material icon named "balcony" (sharp).
  static const IconData balcony_sharp = IconData(0xe7c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">balcony</i> &#x2014; material icon named "balcony" (round).
  static const IconData balcony_rounded = IconData(0xf5a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">balcony</i> &#x2014; material icon named "balcony" (outlined).
  static const IconData balcony_outlined = IconData(0xeeba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">ballot</i> &#x2014; material icon named "ballot".
  static const IconData ballot = IconData(0xe0cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">ballot</i> &#x2014; material icon named "ballot" (sharp).
  static const IconData ballot_sharp = IconData(0xe7c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">ballot</i> &#x2014; material icon named "ballot" (round).
  static const IconData ballot_rounded = IconData(0xf5a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">ballot</i> &#x2014; material icon named "ballot" (outlined).
  static const IconData ballot_outlined = IconData(0xeebb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bar_chart</i> &#x2014; material icon named "bar chart".
  static const IconData bar_chart = IconData(0xe0cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bar_chart</i> &#x2014; material icon named "bar chart" (sharp).
  static const IconData bar_chart_sharp = IconData(0xe7ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bar_chart</i> &#x2014; material icon named "bar chart" (round).
  static const IconData bar_chart_rounded = IconData(0xf5a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bar_chart</i> &#x2014; material icon named "bar chart" (outlined).
  static const IconData bar_chart_outlined = IconData(0xeebc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">batch_prediction</i> &#x2014; material icon named "batch prediction".
  static const IconData batch_prediction = IconData(0xe0cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">batch_prediction</i> &#x2014; material icon named "batch prediction" (sharp).
  static const IconData batch_prediction_sharp = IconData(0xe7cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">batch_prediction</i> &#x2014; material icon named "batch prediction" (round).
  static const IconData batch_prediction_rounded = IconData(0xf5aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">batch_prediction</i> &#x2014; material icon named "batch prediction" (outlined).
  static const IconData batch_prediction_outlined = IconData(0xeebd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bathroom</i> &#x2014; material icon named "bathroom".
  static const IconData bathroom = IconData(0xe0ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bathroom</i> &#x2014; material icon named "bathroom" (sharp).
  static const IconData bathroom_sharp = IconData(0xe7cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bathroom</i> &#x2014; material icon named "bathroom" (round).
  static const IconData bathroom_rounded = IconData(0xf5ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bathroom</i> &#x2014; material icon named "bathroom" (outlined).
  static const IconData bathroom_outlined = IconData(0xeebe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bathtub</i> &#x2014; material icon named "bathtub".
  static const IconData bathtub = IconData(0xe0cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bathtub</i> &#x2014; material icon named "bathtub" (sharp).
  static const IconData bathtub_sharp = IconData(0xe7cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bathtub</i> &#x2014; material icon named "bathtub" (round).
  static const IconData bathtub_rounded = IconData(0xf5ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bathtub</i> &#x2014; material icon named "bathtub" (outlined).
  static const IconData bathtub_outlined = IconData(0xeebf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">battery_0_bar</i> &#x2014; material icon named "battery 0 bar".
  static const IconData battery_0_bar = IconData(0xf0788, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">battery_0_bar</i> &#x2014; material icon named "battery 0 bar" (sharp).
  static const IconData battery_0_bar_sharp = IconData(0xf0730, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">battery_0_bar</i> &#x2014; material icon named "battery 0 bar" (round).
  static const IconData battery_0_bar_rounded = IconData(0xf07e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">battery_0_bar</i> &#x2014; material icon named "battery 0 bar" (outlined).
  static const IconData battery_0_bar_outlined = IconData(0xf06d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">battery_1_bar</i> &#x2014; material icon named "battery 1 bar".
  static const IconData battery_1_bar = IconData(0xf0789, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">battery_1_bar</i> &#x2014; material icon named "battery 1 bar" (sharp).
  static const IconData battery_1_bar_sharp = IconData(0xf0731, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">battery_1_bar</i> &#x2014; material icon named "battery 1 bar" (round).
  static const IconData battery_1_bar_rounded = IconData(0xf07e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">battery_1_bar</i> &#x2014; material icon named "battery 1 bar" (outlined).
  static const IconData battery_1_bar_outlined = IconData(0xf06d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">battery_2_bar</i> &#x2014; material icon named "battery 2 bar".
  static const IconData battery_2_bar = IconData(0xf078a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">battery_2_bar</i> &#x2014; material icon named "battery 2 bar" (sharp).
  static const IconData battery_2_bar_sharp = IconData(0xf0732, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">battery_2_bar</i> &#x2014; material icon named "battery 2 bar" (round).
  static const IconData battery_2_bar_rounded = IconData(0xf07e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">battery_2_bar</i> &#x2014; material icon named "battery 2 bar" (outlined).
  static const IconData battery_2_bar_outlined = IconData(0xf06da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">battery_3_bar</i> &#x2014; material icon named "battery 3 bar".
  static const IconData battery_3_bar = IconData(0xf078b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">battery_3_bar</i> &#x2014; material icon named "battery 3 bar" (sharp).
  static const IconData battery_3_bar_sharp = IconData(0xf0733, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">battery_3_bar</i> &#x2014; material icon named "battery 3 bar" (round).
  static const IconData battery_3_bar_rounded = IconData(0xf07e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">battery_3_bar</i> &#x2014; material icon named "battery 3 bar" (outlined).
  static const IconData battery_3_bar_outlined = IconData(0xf06db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">battery_4_bar</i> &#x2014; material icon named "battery 4 bar".
  static const IconData battery_4_bar = IconData(0xf078c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">battery_4_bar</i> &#x2014; material icon named "battery 4 bar" (sharp).
  static const IconData battery_4_bar_sharp = IconData(0xf0734, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">battery_4_bar</i> &#x2014; material icon named "battery 4 bar" (round).
  static const IconData battery_4_bar_rounded = IconData(0xf07e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">battery_4_bar</i> &#x2014; material icon named "battery 4 bar" (outlined).
  static const IconData battery_4_bar_outlined = IconData(0xf06dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">battery_5_bar</i> &#x2014; material icon named "battery 5 bar".
  static const IconData battery_5_bar = IconData(0xf078d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">battery_5_bar</i> &#x2014; material icon named "battery 5 bar" (sharp).
  static const IconData battery_5_bar_sharp = IconData(0xf0735, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">battery_5_bar</i> &#x2014; material icon named "battery 5 bar" (round).
  static const IconData battery_5_bar_rounded = IconData(0xf07e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">battery_5_bar</i> &#x2014; material icon named "battery 5 bar" (outlined).
  static const IconData battery_5_bar_outlined = IconData(0xf06dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">battery_6_bar</i> &#x2014; material icon named "battery 6 bar".
  static const IconData battery_6_bar = IconData(0xf078e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">battery_6_bar</i> &#x2014; material icon named "battery 6 bar" (sharp).
  static const IconData battery_6_bar_sharp = IconData(0xf0736, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">battery_6_bar</i> &#x2014; material icon named "battery 6 bar" (round).
  static const IconData battery_6_bar_rounded = IconData(0xf07e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">battery_6_bar</i> &#x2014; material icon named "battery 6 bar" (outlined).
  static const IconData battery_6_bar_outlined = IconData(0xf06de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">battery_alert</i> &#x2014; material icon named "battery alert".
  static const IconData battery_alert = IconData(0xe0d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">battery_alert</i> &#x2014; material icon named "battery alert" (sharp).
  static const IconData battery_alert_sharp = IconData(0xe7ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">battery_alert</i> &#x2014; material icon named "battery alert" (round).
  static const IconData battery_alert_rounded = IconData(0xf5ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">battery_alert</i> &#x2014; material icon named "battery alert" (outlined).
  static const IconData battery_alert_outlined = IconData(0xeec0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">battery_charging_full</i> &#x2014; material icon named "battery charging full".
  static const IconData battery_charging_full = IconData(0xe0d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">battery_charging_full</i> &#x2014; material icon named "battery charging full" (sharp).
  static const IconData battery_charging_full_sharp = IconData(0xe7cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">battery_charging_full</i> &#x2014; material icon named "battery charging full" (round).
  static const IconData battery_charging_full_rounded = IconData(0xf5ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">battery_charging_full</i> &#x2014; material icon named "battery charging full" (outlined).
  static const IconData battery_charging_full_outlined = IconData(0xeec1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">battery_full</i> &#x2014; material icon named "battery full".
  static const IconData battery_full = IconData(0xe0d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">battery_full</i> &#x2014; material icon named "battery full" (sharp).
  static const IconData battery_full_sharp = IconData(0xe7d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">battery_full</i> &#x2014; material icon named "battery full" (round).
  static const IconData battery_full_rounded = IconData(0xf5af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">battery_full</i> &#x2014; material icon named "battery full" (outlined).
  static const IconData battery_full_outlined = IconData(0xeec2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">battery_saver</i> &#x2014; material icon named "battery saver".
  static const IconData battery_saver = IconData(0xe0d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">battery_saver</i> &#x2014; material icon named "battery saver" (sharp).
  static const IconData battery_saver_sharp = IconData(0xe7d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">battery_saver</i> &#x2014; material icon named "battery saver" (round).
  static const IconData battery_saver_rounded = IconData(0xf5b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">battery_saver</i> &#x2014; material icon named "battery saver" (outlined).
  static const IconData battery_saver_outlined = IconData(0xeec3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">battery_std</i> &#x2014; material icon named "battery std".
  static const IconData battery_std = IconData(0xe0d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">battery_std</i> &#x2014; material icon named "battery std" (sharp).
  static const IconData battery_std_sharp = IconData(0xe7d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">battery_std</i> &#x2014; material icon named "battery std" (round).
  static const IconData battery_std_rounded = IconData(0xf5b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">battery_std</i> &#x2014; material icon named "battery std" (outlined).
  static const IconData battery_std_outlined = IconData(0xeec4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">battery_unknown</i> &#x2014; material icon named "battery unknown".
  static const IconData battery_unknown = IconData(0xe0d5, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">battery_unknown</i> &#x2014; material icon named "battery unknown" (sharp).
  static const IconData battery_unknown_sharp = IconData(0xe7d3, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">battery_unknown</i> &#x2014; material icon named "battery unknown" (round).
  static const IconData battery_unknown_rounded = IconData(0xf5b2, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">battery_unknown</i> &#x2014; material icon named "battery unknown" (outlined).
  static const IconData battery_unknown_outlined = IconData(0xeec5, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">beach_access</i> &#x2014; material icon named "beach access".
  static const IconData beach_access = IconData(0xe0d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">beach_access</i> &#x2014; material icon named "beach access" (sharp).
  static const IconData beach_access_sharp = IconData(0xe7d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">beach_access</i> &#x2014; material icon named "beach access" (round).
  static const IconData beach_access_rounded = IconData(0xf5b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">beach_access</i> &#x2014; material icon named "beach access" (outlined).
  static const IconData beach_access_outlined = IconData(0xeec6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bed</i> &#x2014; material icon named "bed".
  static const IconData bed = IconData(0xe0d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bed</i> &#x2014; material icon named "bed" (sharp).
  static const IconData bed_sharp = IconData(0xe7d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bed</i> &#x2014; material icon named "bed" (round).
  static const IconData bed_rounded = IconData(0xf5b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bed</i> &#x2014; material icon named "bed" (outlined).
  static const IconData bed_outlined = IconData(0xeec7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bedroom_baby</i> &#x2014; material icon named "bedroom baby".
  static const IconData bedroom_baby = IconData(0xe0d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bedroom_baby</i> &#x2014; material icon named "bedroom baby" (sharp).
  static const IconData bedroom_baby_sharp = IconData(0xe7d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bedroom_baby</i> &#x2014; material icon named "bedroom baby" (round).
  static const IconData bedroom_baby_rounded = IconData(0xf5b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bedroom_baby</i> &#x2014; material icon named "bedroom baby" (outlined).
  static const IconData bedroom_baby_outlined = IconData(0xeec8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bedroom_child</i> &#x2014; material icon named "bedroom child".
  static const IconData bedroom_child = IconData(0xe0d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bedroom_child</i> &#x2014; material icon named "bedroom child" (sharp).
  static const IconData bedroom_child_sharp = IconData(0xe7d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bedroom_child</i> &#x2014; material icon named "bedroom child" (round).
  static const IconData bedroom_child_rounded = IconData(0xf5b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bedroom_child</i> &#x2014; material icon named "bedroom child" (outlined).
  static const IconData bedroom_child_outlined = IconData(0xeec9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bedroom_parent</i> &#x2014; material icon named "bedroom parent".
  static const IconData bedroom_parent = IconData(0xe0da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bedroom_parent</i> &#x2014; material icon named "bedroom parent" (sharp).
  static const IconData bedroom_parent_sharp = IconData(0xe7d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bedroom_parent</i> &#x2014; material icon named "bedroom parent" (round).
  static const IconData bedroom_parent_rounded = IconData(0xf5b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bedroom_parent</i> &#x2014; material icon named "bedroom parent" (outlined).
  static const IconData bedroom_parent_outlined = IconData(0xeeca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bedtime</i> &#x2014; material icon named "bedtime".
  static const IconData bedtime = IconData(0xe0db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bedtime</i> &#x2014; material icon named "bedtime" (sharp).
  static const IconData bedtime_sharp = IconData(0xe7d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bedtime</i> &#x2014; material icon named "bedtime" (round).
  static const IconData bedtime_rounded = IconData(0xf5b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bedtime</i> &#x2014; material icon named "bedtime" (outlined).
  static const IconData bedtime_outlined = IconData(0xeecb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bedtime_off</i> &#x2014; material icon named "bedtime off".
  static const IconData bedtime_off = IconData(0xf04c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bedtime_off</i> &#x2014; material icon named "bedtime off" (sharp).
  static const IconData bedtime_off_sharp = IconData(0xf03d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bedtime_off</i> &#x2014; material icon named "bedtime off" (round).
  static const IconData bedtime_off_rounded = IconData(0xf02e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bedtime_off</i> &#x2014; material icon named "bedtime off" (outlined).
  static const IconData bedtime_off_outlined = IconData(0xf05c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">beenhere</i> &#x2014; material icon named "beenhere".
  static const IconData beenhere = IconData(0xe0dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">beenhere</i> &#x2014; material icon named "beenhere" (sharp).
  static const IconData beenhere_sharp = IconData(0xe7da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">beenhere</i> &#x2014; material icon named "beenhere" (round).
  static const IconData beenhere_rounded = IconData(0xf5b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">beenhere</i> &#x2014; material icon named "beenhere" (outlined).
  static const IconData beenhere_outlined = IconData(0xeecc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bento</i> &#x2014; material icon named "bento".
  static const IconData bento = IconData(0xe0dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bento</i> &#x2014; material icon named "bento" (sharp).
  static const IconData bento_sharp = IconData(0xe7db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bento</i> &#x2014; material icon named "bento" (round).
  static const IconData bento_rounded = IconData(0xf5ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bento</i> &#x2014; material icon named "bento" (outlined).
  static const IconData bento_outlined = IconData(0xeecd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bike_scooter</i> &#x2014; material icon named "bike scooter".
  static const IconData bike_scooter = IconData(0xe0de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bike_scooter</i> &#x2014; material icon named "bike scooter" (sharp).
  static const IconData bike_scooter_sharp = IconData(0xe7dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bike_scooter</i> &#x2014; material icon named "bike scooter" (round).
  static const IconData bike_scooter_rounded = IconData(0xf5bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bike_scooter</i> &#x2014; material icon named "bike scooter" (outlined).
  static const IconData bike_scooter_outlined = IconData(0xeece, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">biotech</i> &#x2014; material icon named "biotech".
  static const IconData biotech = IconData(0xe0df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">biotech</i> &#x2014; material icon named "biotech" (sharp).
  static const IconData biotech_sharp = IconData(0xe7dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">biotech</i> &#x2014; material icon named "biotech" (round).
  static const IconData biotech_rounded = IconData(0xf5bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">biotech</i> &#x2014; material icon named "biotech" (outlined).
  static const IconData biotech_outlined = IconData(0xeecf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">blender</i> &#x2014; material icon named "blender".
  static const IconData blender = IconData(0xe0e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">blender</i> &#x2014; material icon named "blender" (sharp).
  static const IconData blender_sharp = IconData(0xe7de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">blender</i> &#x2014; material icon named "blender" (round).
  static const IconData blender_rounded = IconData(0xf5bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">blender</i> &#x2014; material icon named "blender" (outlined).
  static const IconData blender_outlined = IconData(0xeed0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">blinds</i> &#x2014; material icon named "blinds".
  static const IconData blinds = IconData(0xf078f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">blinds</i> &#x2014; material icon named "blinds" (sharp).
  static const IconData blinds_sharp = IconData(0xf0738, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">blinds</i> &#x2014; material icon named "blinds" (round).
  static const IconData blinds_rounded = IconData(0xf07e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">blinds</i> &#x2014; material icon named "blinds" (outlined).
  static const IconData blinds_outlined = IconData(0xf06e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">blinds_closed</i> &#x2014; material icon named "blinds closed".
  static const IconData blinds_closed = IconData(0xf0790, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">blinds_closed</i> &#x2014; material icon named "blinds closed" (sharp).
  static const IconData blinds_closed_sharp = IconData(0xf0737, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">blinds_closed</i> &#x2014; material icon named "blinds closed" (round).
  static const IconData blinds_closed_rounded = IconData(0xf07e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">blinds_closed</i> &#x2014; material icon named "blinds closed" (outlined).
  static const IconData blinds_closed_outlined = IconData(0xf06df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">block</i> &#x2014; material icon named "block".
  static const IconData block = IconData(0xe0e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">block</i> &#x2014; material icon named "block" (sharp).
  static const IconData block_sharp = IconData(0xe7df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">block</i> &#x2014; material icon named "block" (round).
  static const IconData block_rounded = IconData(0xf5be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">block</i> &#x2014; material icon named "block" (outlined).
  static const IconData block_outlined = IconData(0xeed1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">block_flipped</i> &#x2014; material icon named "block flipped".
  static const IconData block_flipped = IconData(0xe0e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bloodtype</i> &#x2014; material icon named "bloodtype".
  static const IconData bloodtype = IconData(0xe0e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bloodtype</i> &#x2014; material icon named "bloodtype" (sharp).
  static const IconData bloodtype_sharp = IconData(0xe7e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bloodtype</i> &#x2014; material icon named "bloodtype" (round).
  static const IconData bloodtype_rounded = IconData(0xf5bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bloodtype</i> &#x2014; material icon named "bloodtype" (outlined).
  static const IconData bloodtype_outlined = IconData(0xeed2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bluetooth</i> &#x2014; material icon named "bluetooth".
  static const IconData bluetooth = IconData(0xe0e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bluetooth</i> &#x2014; material icon named "bluetooth" (sharp).
  static const IconData bluetooth_sharp = IconData(0xe7e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bluetooth</i> &#x2014; material icon named "bluetooth" (round).
  static const IconData bluetooth_rounded = IconData(0xf5c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bluetooth</i> &#x2014; material icon named "bluetooth" (outlined).
  static const IconData bluetooth_outlined = IconData(0xeed7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bluetooth_audio</i> &#x2014; material icon named "bluetooth audio".
  static const IconData bluetooth_audio = IconData(0xe0e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bluetooth_audio</i> &#x2014; material icon named "bluetooth audio" (sharp).
  static const IconData bluetooth_audio_sharp = IconData(0xe7e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bluetooth_audio</i> &#x2014; material icon named "bluetooth audio" (round).
  static const IconData bluetooth_audio_rounded = IconData(0xf5c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bluetooth_audio</i> &#x2014; material icon named "bluetooth audio" (outlined).
  static const IconData bluetooth_audio_outlined = IconData(0xeed3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bluetooth_connected</i> &#x2014; material icon named "bluetooth connected".
  static const IconData bluetooth_connected = IconData(0xe0e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bluetooth_connected</i> &#x2014; material icon named "bluetooth connected" (sharp).
  static const IconData bluetooth_connected_sharp = IconData(0xe7e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bluetooth_connected</i> &#x2014; material icon named "bluetooth connected" (round).
  static const IconData bluetooth_connected_rounded = IconData(0xf5c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bluetooth_connected</i> &#x2014; material icon named "bluetooth connected" (outlined).
  static const IconData bluetooth_connected_outlined = IconData(0xeed4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bluetooth_disabled</i> &#x2014; material icon named "bluetooth disabled".
  static const IconData bluetooth_disabled = IconData(0xe0e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bluetooth_disabled</i> &#x2014; material icon named "bluetooth disabled" (sharp).
  static const IconData bluetooth_disabled_sharp = IconData(0xe7e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bluetooth_disabled</i> &#x2014; material icon named "bluetooth disabled" (round).
  static const IconData bluetooth_disabled_rounded = IconData(0xf5c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bluetooth_disabled</i> &#x2014; material icon named "bluetooth disabled" (outlined).
  static const IconData bluetooth_disabled_outlined = IconData(0xeed5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bluetooth_drive</i> &#x2014; material icon named "bluetooth drive".
  static const IconData bluetooth_drive = IconData(0xe0e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bluetooth_drive</i> &#x2014; material icon named "bluetooth drive" (sharp).
  static const IconData bluetooth_drive_sharp = IconData(0xe7e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bluetooth_drive</i> &#x2014; material icon named "bluetooth drive" (round).
  static const IconData bluetooth_drive_rounded = IconData(0xf5c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bluetooth_drive</i> &#x2014; material icon named "bluetooth drive" (outlined).
  static const IconData bluetooth_drive_outlined = IconData(0xeed6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bluetooth_searching</i> &#x2014; material icon named "bluetooth searching".
  static const IconData bluetooth_searching = IconData(0xe0e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bluetooth_searching</i> &#x2014; material icon named "bluetooth searching" (sharp).
  static const IconData bluetooth_searching_sharp = IconData(0xe7e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bluetooth_searching</i> &#x2014; material icon named "bluetooth searching" (round).
  static const IconData bluetooth_searching_rounded = IconData(0xf5c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bluetooth_searching</i> &#x2014; material icon named "bluetooth searching" (outlined).
  static const IconData bluetooth_searching_outlined = IconData(0xeed8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">blur_circular</i> &#x2014; material icon named "blur circular".
  static const IconData blur_circular = IconData(0xe0ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">blur_circular</i> &#x2014; material icon named "blur circular" (sharp).
  static const IconData blur_circular_sharp = IconData(0xe7e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">blur_circular</i> &#x2014; material icon named "blur circular" (round).
  static const IconData blur_circular_rounded = IconData(0xf5c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">blur_circular</i> &#x2014; material icon named "blur circular" (outlined).
  static const IconData blur_circular_outlined = IconData(0xeed9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">blur_linear</i> &#x2014; material icon named "blur linear".
  static const IconData blur_linear = IconData(0xe0eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">blur_linear</i> &#x2014; material icon named "blur linear" (sharp).
  static const IconData blur_linear_sharp = IconData(0xe7e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">blur_linear</i> &#x2014; material icon named "blur linear" (round).
  static const IconData blur_linear_rounded = IconData(0xf5c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">blur_linear</i> &#x2014; material icon named "blur linear" (outlined).
  static const IconData blur_linear_outlined = IconData(0xeeda, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">blur_off</i> &#x2014; material icon named "blur off".
  static const IconData blur_off = IconData(0xe0ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">blur_off</i> &#x2014; material icon named "blur off" (sharp).
  static const IconData blur_off_sharp = IconData(0xe7e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">blur_off</i> &#x2014; material icon named "blur off" (round).
  static const IconData blur_off_rounded = IconData(0xf5c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">blur_off</i> &#x2014; material icon named "blur off" (outlined).
  static const IconData blur_off_outlined = IconData(0xeedb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">blur_on</i> &#x2014; material icon named "blur on".
  static const IconData blur_on = IconData(0xe0ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">blur_on</i> &#x2014; material icon named "blur on" (sharp).
  static const IconData blur_on_sharp = IconData(0xe7ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">blur_on</i> &#x2014; material icon named "blur on" (round).
  static const IconData blur_on_rounded = IconData(0xf5c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">blur_on</i> &#x2014; material icon named "blur on" (outlined).
  static const IconData blur_on_outlined = IconData(0xeedc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bolt</i> &#x2014; material icon named "bolt".
  static const IconData bolt = IconData(0xe0ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bolt</i> &#x2014; material icon named "bolt" (sharp).
  static const IconData bolt_sharp = IconData(0xe7eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bolt</i> &#x2014; material icon named "bolt" (round).
  static const IconData bolt_rounded = IconData(0xf5ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bolt</i> &#x2014; material icon named "bolt" (outlined).
  static const IconData bolt_outlined = IconData(0xeedd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">book</i> &#x2014; material icon named "book".
  static const IconData book = IconData(0xe0ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">book</i> &#x2014; material icon named "book" (sharp).
  static const IconData book_sharp = IconData(0xe7ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">book</i> &#x2014; material icon named "book" (round).
  static const IconData book_rounded = IconData(0xf5cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">book</i> &#x2014; material icon named "book" (outlined).
  static const IconData book_outlined = IconData(0xeedf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">book_online</i> &#x2014; material icon named "book online".
  static const IconData book_online = IconData(0xe0f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">book_online</i> &#x2014; material icon named "book online" (sharp).
  static const IconData book_online_sharp = IconData(0xe7ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">book_online</i> &#x2014; material icon named "book online" (round).
  static const IconData book_online_rounded = IconData(0xf5cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">book_online</i> &#x2014; material icon named "book online" (outlined).
  static const IconData book_online_outlined = IconData(0xeede, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bookmark</i> &#x2014; material icon named "bookmark".
  static const IconData bookmark = IconData(0xe0f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bookmark</i> &#x2014; material icon named "bookmark" (sharp).
  static const IconData bookmark_sharp = IconData(0xe7f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bookmark</i> &#x2014; material icon named "bookmark" (round).
  static const IconData bookmark_rounded = IconData(0xf5d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bookmark</i> &#x2014; material icon named "bookmark" (outlined).
  static const IconData bookmark_outlined = IconData(0xeee3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bookmark_add</i> &#x2014; material icon named "bookmark add".
  static const IconData bookmark_add = IconData(0xe0f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bookmark_add</i> &#x2014; material icon named "bookmark add" (sharp).
  static const IconData bookmark_add_sharp = IconData(0xe7ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bookmark_add</i> &#x2014; material icon named "bookmark add" (round).
  static const IconData bookmark_add_rounded = IconData(0xf5cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bookmark_add</i> &#x2014; material icon named "bookmark add" (outlined).
  static const IconData bookmark_add_outlined = IconData(0xeee0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bookmark_added</i> &#x2014; material icon named "bookmark added".
  static const IconData bookmark_added = IconData(0xe0f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bookmark_added</i> &#x2014; material icon named "bookmark added" (sharp).
  static const IconData bookmark_added_sharp = IconData(0xe7ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bookmark_added</i> &#x2014; material icon named "bookmark added" (round).
  static const IconData bookmark_added_rounded = IconData(0xf5ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bookmark_added</i> &#x2014; material icon named "bookmark added" (outlined).
  static const IconData bookmark_added_outlined = IconData(0xeee1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bookmark_border</i> &#x2014; material icon named "bookmark border".
  static const IconData bookmark_border = IconData(0xe0f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bookmark_border</i> &#x2014; material icon named "bookmark border" (sharp).
  static const IconData bookmark_border_sharp = IconData(0xe7f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bookmark_border</i> &#x2014; material icon named "bookmark border" (round).
  static const IconData bookmark_border_rounded = IconData(0xf5cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bookmark_border</i> &#x2014; material icon named "bookmark border" (outlined).
  static const IconData bookmark_border_outlined = IconData(0xeee2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bookmark_outline</i> &#x2014; material icon named "bookmark outline".
  static const IconData bookmark_outline = IconData(0xe0f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bookmark_outline</i> &#x2014; material icon named "bookmark outline" (sharp).
  static const IconData bookmark_outline_sharp = IconData(0xe7f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bookmark_outline</i> &#x2014; material icon named "bookmark outline" (round).
  static const IconData bookmark_outline_rounded = IconData(0xf5cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bookmark_outline</i> &#x2014; material icon named "bookmark outline" (outlined).
  static const IconData bookmark_outline_outlined = IconData(0xeee2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bookmark_remove</i> &#x2014; material icon named "bookmark remove".
  static const IconData bookmark_remove = IconData(0xe0f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bookmark_remove</i> &#x2014; material icon named "bookmark remove" (sharp).
  static const IconData bookmark_remove_sharp = IconData(0xe7f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bookmark_remove</i> &#x2014; material icon named "bookmark remove" (round).
  static const IconData bookmark_remove_rounded = IconData(0xf5d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bookmark_remove</i> &#x2014; material icon named "bookmark remove" (outlined).
  static const IconData bookmark_remove_outlined = IconData(0xeee4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bookmarks</i> &#x2014; material icon named "bookmarks".
  static const IconData bookmarks = IconData(0xe0f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bookmarks</i> &#x2014; material icon named "bookmarks" (sharp).
  static const IconData bookmarks_sharp = IconData(0xe7f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bookmarks</i> &#x2014; material icon named "bookmarks" (round).
  static const IconData bookmarks_rounded = IconData(0xf5d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bookmarks</i> &#x2014; material icon named "bookmarks" (outlined).
  static const IconData bookmarks_outlined = IconData(0xeee5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">border_all</i> &#x2014; material icon named "border all".
  static const IconData border_all = IconData(0xe0f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">border_all</i> &#x2014; material icon named "border all" (sharp).
  static const IconData border_all_sharp = IconData(0xe7f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">border_all</i> &#x2014; material icon named "border all" (round).
  static const IconData border_all_rounded = IconData(0xf5d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">border_all</i> &#x2014; material icon named "border all" (outlined).
  static const IconData border_all_outlined = IconData(0xeee6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">border_bottom</i> &#x2014; material icon named "border bottom".
  static const IconData border_bottom = IconData(0xe0f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">border_bottom</i> &#x2014; material icon named "border bottom" (sharp).
  static const IconData border_bottom_sharp = IconData(0xe7f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">border_bottom</i> &#x2014; material icon named "border bottom" (round).
  static const IconData border_bottom_rounded = IconData(0xf5d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">border_bottom</i> &#x2014; material icon named "border bottom" (outlined).
  static const IconData border_bottom_outlined = IconData(0xeee7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">border_clear</i> &#x2014; material icon named "border clear".
  static const IconData border_clear = IconData(0xe0f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">border_clear</i> &#x2014; material icon named "border clear" (sharp).
  static const IconData border_clear_sharp = IconData(0xe7f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">border_clear</i> &#x2014; material icon named "border clear" (round).
  static const IconData border_clear_rounded = IconData(0xf5d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">border_clear</i> &#x2014; material icon named "border clear" (outlined).
  static const IconData border_clear_outlined = IconData(0xeee8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">border_color</i> &#x2014; material icon named "border color".
  static const IconData border_color = IconData(0xe0fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">border_color</i> &#x2014; material icon named "border color" (sharp).
  static const IconData border_color_sharp = IconData(0xe7f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">border_color</i> &#x2014; material icon named "border color" (round).
  static const IconData border_color_rounded = IconData(0xf5d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">border_color</i> &#x2014; material icon named "border color" (outlined).
  static const IconData border_color_outlined = IconData(0xeee9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">border_horizontal</i> &#x2014; material icon named "border horizontal".
  static const IconData border_horizontal = IconData(0xe0fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">border_horizontal</i> &#x2014; material icon named "border horizontal" (sharp).
  static const IconData border_horizontal_sharp = IconData(0xe7f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">border_horizontal</i> &#x2014; material icon named "border horizontal" (round).
  static const IconData border_horizontal_rounded = IconData(0xf5d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">border_horizontal</i> &#x2014; material icon named "border horizontal" (outlined).
  static const IconData border_horizontal_outlined = IconData(0xeeea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">border_inner</i> &#x2014; material icon named "border inner".
  static const IconData border_inner = IconData(0xe0fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">border_inner</i> &#x2014; material icon named "border inner" (sharp).
  static const IconData border_inner_sharp = IconData(0xe7f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">border_inner</i> &#x2014; material icon named "border inner" (round).
  static const IconData border_inner_rounded = IconData(0xf5d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">border_inner</i> &#x2014; material icon named "border inner" (outlined).
  static const IconData border_inner_outlined = IconData(0xeeeb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">border_left</i> &#x2014; material icon named "border left".
  static const IconData border_left = IconData(0xe0fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">border_left</i> &#x2014; material icon named "border left" (sharp).
  static const IconData border_left_sharp = IconData(0xe7fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">border_left</i> &#x2014; material icon named "border left" (round).
  static const IconData border_left_rounded = IconData(0xf5d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">border_left</i> &#x2014; material icon named "border left" (outlined).
  static const IconData border_left_outlined = IconData(0xeeec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">border_outer</i> &#x2014; material icon named "border outer".
  static const IconData border_outer = IconData(0xe0fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">border_outer</i> &#x2014; material icon named "border outer" (sharp).
  static const IconData border_outer_sharp = IconData(0xe7fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">border_outer</i> &#x2014; material icon named "border outer" (round).
  static const IconData border_outer_rounded = IconData(0xf5da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">border_outer</i> &#x2014; material icon named "border outer" (outlined).
  static const IconData border_outer_outlined = IconData(0xeeed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">border_right</i> &#x2014; material icon named "border right".
  static const IconData border_right = IconData(0xe0ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">border_right</i> &#x2014; material icon named "border right" (sharp).
  static const IconData border_right_sharp = IconData(0xe7fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">border_right</i> &#x2014; material icon named "border right" (round).
  static const IconData border_right_rounded = IconData(0xf5db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">border_right</i> &#x2014; material icon named "border right" (outlined).
  static const IconData border_right_outlined = IconData(0xeeee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">border_style</i> &#x2014; material icon named "border style".
  static const IconData border_style = IconData(0xe100, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">border_style</i> &#x2014; material icon named "border style" (sharp).
  static const IconData border_style_sharp = IconData(0xe7fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">border_style</i> &#x2014; material icon named "border style" (round).
  static const IconData border_style_rounded = IconData(0xf5dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">border_style</i> &#x2014; material icon named "border style" (outlined).
  static const IconData border_style_outlined = IconData(0xeeef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">border_top</i> &#x2014; material icon named "border top".
  static const IconData border_top = IconData(0xe101, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">border_top</i> &#x2014; material icon named "border top" (sharp).
  static const IconData border_top_sharp = IconData(0xe7fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">border_top</i> &#x2014; material icon named "border top" (round).
  static const IconData border_top_rounded = IconData(0xf5dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">border_top</i> &#x2014; material icon named "border top" (outlined).
  static const IconData border_top_outlined = IconData(0xeef0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">border_vertical</i> &#x2014; material icon named "border vertical".
  static const IconData border_vertical = IconData(0xe102, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">border_vertical</i> &#x2014; material icon named "border vertical" (sharp).
  static const IconData border_vertical_sharp = IconData(0xe7ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">border_vertical</i> &#x2014; material icon named "border vertical" (round).
  static const IconData border_vertical_rounded = IconData(0xf5de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">border_vertical</i> &#x2014; material icon named "border vertical" (outlined).
  static const IconData border_vertical_outlined = IconData(0xeef1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">boy</i> &#x2014; material icon named "boy".
  static const IconData boy = IconData(0xf04c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">boy</i> &#x2014; material icon named "boy" (sharp).
  static const IconData boy_sharp = IconData(0xf03d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">boy</i> &#x2014; material icon named "boy" (round).
  static const IconData boy_rounded = IconData(0xf02e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">boy</i> &#x2014; material icon named "boy" (outlined).
  static const IconData boy_outlined = IconData(0xf05c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">branding_watermark</i> &#x2014; material icon named "branding watermark".
  static const IconData branding_watermark = IconData(0xe103, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">branding_watermark</i> &#x2014; material icon named "branding watermark" (sharp).
  static const IconData branding_watermark_sharp = IconData(0xe800, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">branding_watermark</i> &#x2014; material icon named "branding watermark" (round).
  static const IconData branding_watermark_rounded = IconData(0xf5df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">branding_watermark</i> &#x2014; material icon named "branding watermark" (outlined).
  static const IconData branding_watermark_outlined = IconData(0xeef2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">breakfast_dining</i> &#x2014; material icon named "breakfast dining".
  static const IconData breakfast_dining = IconData(0xe104, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">breakfast_dining</i> &#x2014; material icon named "breakfast dining" (sharp).
  static const IconData breakfast_dining_sharp = IconData(0xe801, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">breakfast_dining</i> &#x2014; material icon named "breakfast dining" (round).
  static const IconData breakfast_dining_rounded = IconData(0xf5e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">breakfast_dining</i> &#x2014; material icon named "breakfast dining" (outlined).
  static const IconData breakfast_dining_outlined = IconData(0xeef3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">brightness_1</i> &#x2014; material icon named "brightness 1".
  static const IconData brightness_1 = IconData(0xe105, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">brightness_1</i> &#x2014; material icon named "brightness 1" (sharp).
  static const IconData brightness_1_sharp = IconData(0xe802, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">brightness_1</i> &#x2014; material icon named "brightness 1" (round).
  static const IconData brightness_1_rounded = IconData(0xf5e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">brightness_1</i> &#x2014; material icon named "brightness 1" (outlined).
  static const IconData brightness_1_outlined = IconData(0xeef4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">brightness_2</i> &#x2014; material icon named "brightness 2".
  static const IconData brightness_2 = IconData(0xe106, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">brightness_2</i> &#x2014; material icon named "brightness 2" (sharp).
  static const IconData brightness_2_sharp = IconData(0xe803, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">brightness_2</i> &#x2014; material icon named "brightness 2" (round).
  static const IconData brightness_2_rounded = IconData(0xf5e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">brightness_2</i> &#x2014; material icon named "brightness 2" (outlined).
  static const IconData brightness_2_outlined = IconData(0xeef5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">brightness_3</i> &#x2014; material icon named "brightness 3".
  static const IconData brightness_3 = IconData(0xe107, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">brightness_3</i> &#x2014; material icon named "brightness 3" (sharp).
  static const IconData brightness_3_sharp = IconData(0xe804, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">brightness_3</i> &#x2014; material icon named "brightness 3" (round).
  static const IconData brightness_3_rounded = IconData(0xf5e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">brightness_3</i> &#x2014; material icon named "brightness 3" (outlined).
  static const IconData brightness_3_outlined = IconData(0xeef6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">brightness_4</i> &#x2014; material icon named "brightness 4".
  static const IconData brightness_4 = IconData(0xe108, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">brightness_4</i> &#x2014; material icon named "brightness 4" (sharp).
  static const IconData brightness_4_sharp = IconData(0xe805, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">brightness_4</i> &#x2014; material icon named "brightness 4" (round).
  static const IconData brightness_4_rounded = IconData(0xf5e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">brightness_4</i> &#x2014; material icon named "brightness 4" (outlined).
  static const IconData brightness_4_outlined = IconData(0xeef7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">brightness_5</i> &#x2014; material icon named "brightness 5".
  static const IconData brightness_5 = IconData(0xe109, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">brightness_5</i> &#x2014; material icon named "brightness 5" (sharp).
  static const IconData brightness_5_sharp = IconData(0xe806, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">brightness_5</i> &#x2014; material icon named "brightness 5" (round).
  static const IconData brightness_5_rounded = IconData(0xf5e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">brightness_5</i> &#x2014; material icon named "brightness 5" (outlined).
  static const IconData brightness_5_outlined = IconData(0xeef8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">brightness_6</i> &#x2014; material icon named "brightness 6".
  static const IconData brightness_6 = IconData(0xe10a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">brightness_6</i> &#x2014; material icon named "brightness 6" (sharp).
  static const IconData brightness_6_sharp = IconData(0xe807, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">brightness_6</i> &#x2014; material icon named "brightness 6" (round).
  static const IconData brightness_6_rounded = IconData(0xf5e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">brightness_6</i> &#x2014; material icon named "brightness 6" (outlined).
  static const IconData brightness_6_outlined = IconData(0xeef9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">brightness_7</i> &#x2014; material icon named "brightness 7".
  static const IconData brightness_7 = IconData(0xe10b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">brightness_7</i> &#x2014; material icon named "brightness 7" (sharp).
  static const IconData brightness_7_sharp = IconData(0xe808, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">brightness_7</i> &#x2014; material icon named "brightness 7" (round).
  static const IconData brightness_7_rounded = IconData(0xf5e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">brightness_7</i> &#x2014; material icon named "brightness 7" (outlined).
  static const IconData brightness_7_outlined = IconData(0xeefa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">brightness_auto</i> &#x2014; material icon named "brightness auto".
  static const IconData brightness_auto = IconData(0xe10c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">brightness_auto</i> &#x2014; material icon named "brightness auto" (sharp).
  static const IconData brightness_auto_sharp = IconData(0xe809, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">brightness_auto</i> &#x2014; material icon named "brightness auto" (round).
  static const IconData brightness_auto_rounded = IconData(0xf5e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">brightness_auto</i> &#x2014; material icon named "brightness auto" (outlined).
  static const IconData brightness_auto_outlined = IconData(0xeefb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">brightness_high</i> &#x2014; material icon named "brightness high".
  static const IconData brightness_high = IconData(0xe10d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">brightness_high</i> &#x2014; material icon named "brightness high" (sharp).
  static const IconData brightness_high_sharp = IconData(0xe80a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">brightness_high</i> &#x2014; material icon named "brightness high" (round).
  static const IconData brightness_high_rounded = IconData(0xf5e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">brightness_high</i> &#x2014; material icon named "brightness high" (outlined).
  static const IconData brightness_high_outlined = IconData(0xeefc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">brightness_low</i> &#x2014; material icon named "brightness low".
  static const IconData brightness_low = IconData(0xe10e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">brightness_low</i> &#x2014; material icon named "brightness low" (sharp).
  static const IconData brightness_low_sharp = IconData(0xe80b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">brightness_low</i> &#x2014; material icon named "brightness low" (round).
  static const IconData brightness_low_rounded = IconData(0xf5ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">brightness_low</i> &#x2014; material icon named "brightness low" (outlined).
  static const IconData brightness_low_outlined = IconData(0xeefd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">brightness_medium</i> &#x2014; material icon named "brightness medium".
  static const IconData brightness_medium = IconData(0xe10f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">brightness_medium</i> &#x2014; material icon named "brightness medium" (sharp).
  static const IconData brightness_medium_sharp = IconData(0xe80c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">brightness_medium</i> &#x2014; material icon named "brightness medium" (round).
  static const IconData brightness_medium_rounded = IconData(0xf5eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">brightness_medium</i> &#x2014; material icon named "brightness medium" (outlined).
  static const IconData brightness_medium_outlined = IconData(0xeefe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">broadcast_on_home</i> &#x2014; material icon named "broadcast on home".
  static const IconData broadcast_on_home = IconData(0xf0791, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">broadcast_on_home</i> &#x2014; material icon named "broadcast on home" (sharp).
  static const IconData broadcast_on_home_sharp = IconData(0xf0739, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">broadcast_on_home</i> &#x2014; material icon named "broadcast on home" (round).
  static const IconData broadcast_on_home_rounded = IconData(0xf07e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">broadcast_on_home</i> &#x2014; material icon named "broadcast on home" (outlined).
  static const IconData broadcast_on_home_outlined = IconData(0xf06e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">broadcast_on_personal</i> &#x2014; material icon named "broadcast on personal".
  static const IconData broadcast_on_personal = IconData(0xf0792, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">broadcast_on_personal</i> &#x2014; material icon named "broadcast on personal" (sharp).
  static const IconData broadcast_on_personal_sharp = IconData(0xf073a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">broadcast_on_personal</i> &#x2014; material icon named "broadcast on personal" (round).
  static const IconData broadcast_on_personal_rounded = IconData(0xf07ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">broadcast_on_personal</i> &#x2014; material icon named "broadcast on personal" (outlined).
  static const IconData broadcast_on_personal_outlined = IconData(0xf06e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">broken_image</i> &#x2014; material icon named "broken image".
  static const IconData broken_image = IconData(0xe110, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">broken_image</i> &#x2014; material icon named "broken image" (sharp).
  static const IconData broken_image_sharp = IconData(0xe80d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">broken_image</i> &#x2014; material icon named "broken image" (round).
  static const IconData broken_image_rounded = IconData(0xf5ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">broken_image</i> &#x2014; material icon named "broken image" (outlined).
  static const IconData broken_image_outlined = IconData(0xeeff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">browse_gallery</i> &#x2014; material icon named "browse gallery".
  static const IconData browse_gallery = IconData(0xf06ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">browse_gallery</i> &#x2014; material icon named "browse gallery" (sharp).
  static const IconData browse_gallery_sharp = IconData(0xf06ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">browse_gallery</i> &#x2014; material icon named "browse gallery" (round).
  static const IconData browse_gallery_rounded = IconData(0xf06c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">browse_gallery</i> &#x2014; material icon named "browse gallery" (outlined).
  static const IconData browse_gallery_outlined = IconData(0xf03bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">browser_not_supported</i> &#x2014; material icon named "browser not supported".
  static const IconData browser_not_supported = IconData(0xe111, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">browser_not_supported</i> &#x2014; material icon named "browser not supported" (sharp).
  static const IconData browser_not_supported_sharp = IconData(0xe80e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">browser_not_supported</i> &#x2014; material icon named "browser not supported" (round).
  static const IconData browser_not_supported_rounded = IconData(0xf5ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">browser_not_supported</i> &#x2014; material icon named "browser not supported" (outlined).
  static const IconData browser_not_supported_outlined = IconData(0xef00, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">browser_updated</i> &#x2014; material icon named "browser updated".
  static const IconData browser_updated = IconData(0xf04c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">browser_updated</i> &#x2014; material icon named "browser updated" (sharp).
  static const IconData browser_updated_sharp = IconData(0xf03d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">browser_updated</i> &#x2014; material icon named "browser updated" (round).
  static const IconData browser_updated_rounded = IconData(0xf02e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">browser_updated</i> &#x2014; material icon named "browser updated" (outlined).
  static const IconData browser_updated_outlined = IconData(0xf05c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">brunch_dining</i> &#x2014; material icon named "brunch dining".
  static const IconData brunch_dining = IconData(0xe112, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">brunch_dining</i> &#x2014; material icon named "brunch dining" (sharp).
  static const IconData brunch_dining_sharp = IconData(0xe80f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">brunch_dining</i> &#x2014; material icon named "brunch dining" (round).
  static const IconData brunch_dining_rounded = IconData(0xf5ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">brunch_dining</i> &#x2014; material icon named "brunch dining" (outlined).
  static const IconData brunch_dining_outlined = IconData(0xef01, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">brush</i> &#x2014; material icon named "brush".
  static const IconData brush = IconData(0xe113, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">brush</i> &#x2014; material icon named "brush" (sharp).
  static const IconData brush_sharp = IconData(0xe810, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">brush</i> &#x2014; material icon named "brush" (round).
  static const IconData brush_rounded = IconData(0xf5ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">brush</i> &#x2014; material icon named "brush" (outlined).
  static const IconData brush_outlined = IconData(0xef02, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bubble_chart</i> &#x2014; material icon named "bubble chart".
  static const IconData bubble_chart = IconData(0xe114, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bubble_chart</i> &#x2014; material icon named "bubble chart" (sharp).
  static const IconData bubble_chart_sharp = IconData(0xe811, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bubble_chart</i> &#x2014; material icon named "bubble chart" (round).
  static const IconData bubble_chart_rounded = IconData(0xf5f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bubble_chart</i> &#x2014; material icon named "bubble chart" (outlined).
  static const IconData bubble_chart_outlined = IconData(0xef03, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bug_report</i> &#x2014; material icon named "bug report".
  static const IconData bug_report = IconData(0xe115, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bug_report</i> &#x2014; material icon named "bug report" (sharp).
  static const IconData bug_report_sharp = IconData(0xe812, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bug_report</i> &#x2014; material icon named "bug report" (round).
  static const IconData bug_report_rounded = IconData(0xf5f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bug_report</i> &#x2014; material icon named "bug report" (outlined).
  static const IconData bug_report_outlined = IconData(0xef04, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">build</i> &#x2014; material icon named "build".
  static const IconData build = IconData(0xe116, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">build</i> &#x2014; material icon named "build" (sharp).
  static const IconData build_sharp = IconData(0xe814, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">build</i> &#x2014; material icon named "build" (round).
  static const IconData build_rounded = IconData(0xf5f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">build</i> &#x2014; material icon named "build" (outlined).
  static const IconData build_outlined = IconData(0xef06, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">build_circle</i> &#x2014; material icon named "build circle".
  static const IconData build_circle = IconData(0xe117, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">build_circle</i> &#x2014; material icon named "build circle" (sharp).
  static const IconData build_circle_sharp = IconData(0xe813, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">build_circle</i> &#x2014; material icon named "build circle" (round).
  static const IconData build_circle_rounded = IconData(0xf5f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">build_circle</i> &#x2014; material icon named "build circle" (outlined).
  static const IconData build_circle_outlined = IconData(0xef05, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bungalow</i> &#x2014; material icon named "bungalow".
  static const IconData bungalow = IconData(0xe118, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bungalow</i> &#x2014; material icon named "bungalow" (sharp).
  static const IconData bungalow_sharp = IconData(0xe815, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bungalow</i> &#x2014; material icon named "bungalow" (round).
  static const IconData bungalow_rounded = IconData(0xf5f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bungalow</i> &#x2014; material icon named "bungalow" (outlined).
  static const IconData bungalow_outlined = IconData(0xef07, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">burst_mode</i> &#x2014; material icon named "burst mode".
  static const IconData burst_mode = IconData(0xe119, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">burst_mode</i> &#x2014; material icon named "burst mode" (sharp).
  static const IconData burst_mode_sharp = IconData(0xe816, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">burst_mode</i> &#x2014; material icon named "burst mode" (round).
  static const IconData burst_mode_rounded = IconData(0xf5f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">burst_mode</i> &#x2014; material icon named "burst mode" (outlined).
  static const IconData burst_mode_outlined = IconData(0xef08, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">bus_alert</i> &#x2014; material icon named "bus alert".
  static const IconData bus_alert = IconData(0xe11a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">bus_alert</i> &#x2014; material icon named "bus alert" (sharp).
  static const IconData bus_alert_sharp = IconData(0xe817, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">bus_alert</i> &#x2014; material icon named "bus alert" (round).
  static const IconData bus_alert_rounded = IconData(0xf5f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">bus_alert</i> &#x2014; material icon named "bus alert" (outlined).
  static const IconData bus_alert_outlined = IconData(0xef09, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">business</i> &#x2014; material icon named "business".
  static const IconData business = IconData(0xe11b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">business</i> &#x2014; material icon named "business" (sharp).
  static const IconData business_sharp = IconData(0xe819, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">business</i> &#x2014; material icon named "business" (round).
  static const IconData business_rounded = IconData(0xf5f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">business</i> &#x2014; material icon named "business" (outlined).
  static const IconData business_outlined = IconData(0xef0b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">business_center</i> &#x2014; material icon named "business center".
  static const IconData business_center = IconData(0xe11c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">business_center</i> &#x2014; material icon named "business center" (sharp).
  static const IconData business_center_sharp = IconData(0xe818, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">business_center</i> &#x2014; material icon named "business center" (round).
  static const IconData business_center_rounded = IconData(0xf5f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">business_center</i> &#x2014; material icon named "business center" (outlined).
  static const IconData business_center_outlined = IconData(0xef0a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cabin</i> &#x2014; material icon named "cabin".
  static const IconData cabin = IconData(0xe11d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cabin</i> &#x2014; material icon named "cabin" (sharp).
  static const IconData cabin_sharp = IconData(0xe81a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cabin</i> &#x2014; material icon named "cabin" (round).
  static const IconData cabin_rounded = IconData(0xf5f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cabin</i> &#x2014; material icon named "cabin" (outlined).
  static const IconData cabin_outlined = IconData(0xef0c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cable</i> &#x2014; material icon named "cable".
  static const IconData cable = IconData(0xe11e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cable</i> &#x2014; material icon named "cable" (sharp).
  static const IconData cable_sharp = IconData(0xe81b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cable</i> &#x2014; material icon named "cable" (round).
  static const IconData cable_rounded = IconData(0xf5fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cable</i> &#x2014; material icon named "cable" (outlined).
  static const IconData cable_outlined = IconData(0xef0d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cached</i> &#x2014; material icon named "cached".
  static const IconData cached = IconData(0xe11f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cached</i> &#x2014; material icon named "cached" (sharp).
  static const IconData cached_sharp = IconData(0xe81c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cached</i> &#x2014; material icon named "cached" (round).
  static const IconData cached_rounded = IconData(0xf5fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cached</i> &#x2014; material icon named "cached" (outlined).
  static const IconData cached_outlined = IconData(0xef0e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cake</i> &#x2014; material icon named "cake".
  static const IconData cake = IconData(0xe120, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cake</i> &#x2014; material icon named "cake" (sharp).
  static const IconData cake_sharp = IconData(0xe81d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cake</i> &#x2014; material icon named "cake" (round).
  static const IconData cake_rounded = IconData(0xf5fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cake</i> &#x2014; material icon named "cake" (outlined).
  static const IconData cake_outlined = IconData(0xef0f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">calculate</i> &#x2014; material icon named "calculate".
  static const IconData calculate = IconData(0xe121, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">calculate</i> &#x2014; material icon named "calculate" (sharp).
  static const IconData calculate_sharp = IconData(0xe81e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">calculate</i> &#x2014; material icon named "calculate" (round).
  static const IconData calculate_rounded = IconData(0xf5fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">calculate</i> &#x2014; material icon named "calculate" (outlined).
  static const IconData calculate_outlined = IconData(0xef10, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">calendar_month</i> &#x2014; material icon named "calendar month".
  static const IconData calendar_month = IconData(0xf06bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">calendar_month</i> &#x2014; material icon named "calendar month" (sharp).
  static const IconData calendar_month_sharp = IconData(0xf06ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">calendar_month</i> &#x2014; material icon named "calendar month" (round).
  static const IconData calendar_month_rounded = IconData(0xf06c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">calendar_month</i> &#x2014; material icon named "calendar month" (outlined).
  static const IconData calendar_month_outlined = IconData(0xf051f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">calendar_today</i> &#x2014; material icon named "calendar today".
  static const IconData calendar_today = IconData(0xe122, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">calendar_today</i> &#x2014; material icon named "calendar today" (sharp).
  static const IconData calendar_today_sharp = IconData(0xe81f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">calendar_today</i> &#x2014; material icon named "calendar today" (round).
  static const IconData calendar_today_rounded = IconData(0xf5fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">calendar_today</i> &#x2014; material icon named "calendar today" (outlined).
  static const IconData calendar_today_outlined = IconData(0xef11, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">calendar_view_day</i> &#x2014; material icon named "calendar view day".
  static const IconData calendar_view_day = IconData(0xe123, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">calendar_view_day</i> &#x2014; material icon named "calendar view day" (sharp).
  static const IconData calendar_view_day_sharp = IconData(0xe820, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">calendar_view_day</i> &#x2014; material icon named "calendar view day" (round).
  static const IconData calendar_view_day_rounded = IconData(0xf5ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">calendar_view_day</i> &#x2014; material icon named "calendar view day" (outlined).
  static const IconData calendar_view_day_outlined = IconData(0xef12, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">calendar_view_month</i> &#x2014; material icon named "calendar view month".
  static const IconData calendar_view_month = IconData(0xe124, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">calendar_view_month</i> &#x2014; material icon named "calendar view month" (sharp).
  static const IconData calendar_view_month_sharp = IconData(0xe821, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">calendar_view_month</i> &#x2014; material icon named "calendar view month" (round).
  static const IconData calendar_view_month_rounded = IconData(0xf600, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">calendar_view_month</i> &#x2014; material icon named "calendar view month" (outlined).
  static const IconData calendar_view_month_outlined = IconData(0xef13, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">calendar_view_week</i> &#x2014; material icon named "calendar view week".
  static const IconData calendar_view_week = IconData(0xe125, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">calendar_view_week</i> &#x2014; material icon named "calendar view week" (sharp).
  static const IconData calendar_view_week_sharp = IconData(0xe822, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">calendar_view_week</i> &#x2014; material icon named "calendar view week" (round).
  static const IconData calendar_view_week_rounded = IconData(0xf601, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">calendar_view_week</i> &#x2014; material icon named "calendar view week" (outlined).
  static const IconData calendar_view_week_outlined = IconData(0xef14, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">call</i> &#x2014; material icon named "call".
  static const IconData call = IconData(0xe126, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">call</i> &#x2014; material icon named "call" (sharp).
  static const IconData call_sharp = IconData(0xe829, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">call</i> &#x2014; material icon named "call" (round).
  static const IconData call_rounded = IconData(0xf608, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">call</i> &#x2014; material icon named "call" (outlined).
  static const IconData call_outlined = IconData(0xef1a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">call_end</i> &#x2014; material icon named "call end".
  static const IconData call_end = IconData(0xe127, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">call_end</i> &#x2014; material icon named "call end" (sharp).
  static const IconData call_end_sharp = IconData(0xe823, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">call_end</i> &#x2014; material icon named "call end" (round).
  static const IconData call_end_rounded = IconData(0xf602, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">call_end</i> &#x2014; material icon named "call end" (outlined).
  static const IconData call_end_outlined = IconData(0xef15, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">call_made</i> &#x2014; material icon named "call made".
  static const IconData call_made = IconData(0xe128, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">call_made</i> &#x2014; material icon named "call made" (sharp).
  static const IconData call_made_sharp = IconData(0xe824, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">call_made</i> &#x2014; material icon named "call made" (round).
  static const IconData call_made_rounded = IconData(0xf603, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">call_made</i> &#x2014; material icon named "call made" (outlined).
  static const IconData call_made_outlined = IconData(0xef16, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">call_merge</i> &#x2014; material icon named "call merge".
  static const IconData call_merge = IconData(0xe129, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">call_merge</i> &#x2014; material icon named "call merge" (sharp).
  static const IconData call_merge_sharp = IconData(0xe825, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">call_merge</i> &#x2014; material icon named "call merge" (round).
  static const IconData call_merge_rounded = IconData(0xf604, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">call_merge</i> &#x2014; material icon named "call merge" (outlined).
  static const IconData call_merge_outlined = IconData(0xef17, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">call_missed</i> &#x2014; material icon named "call missed".
  static const IconData call_missed = IconData(0xe12a, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">call_missed</i> &#x2014; material icon named "call missed" (sharp).
  static const IconData call_missed_sharp = IconData(0xe827, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">call_missed</i> &#x2014; material icon named "call missed" (round).
  static const IconData call_missed_rounded = IconData(0xf606, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">call_missed</i> &#x2014; material icon named "call missed" (outlined).
  static const IconData call_missed_outlined = IconData(0xef19, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">call_missed_outgoing</i> &#x2014; material icon named "call missed outgoing".
  static const IconData call_missed_outgoing = IconData(0xe12b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">call_missed_outgoing</i> &#x2014; material icon named "call missed outgoing" (sharp).
  static const IconData call_missed_outgoing_sharp = IconData(0xe826, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">call_missed_outgoing</i> &#x2014; material icon named "call missed outgoing" (round).
  static const IconData call_missed_outgoing_rounded = IconData(0xf605, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">call_missed_outgoing</i> &#x2014; material icon named "call missed outgoing" (outlined).
  static const IconData call_missed_outgoing_outlined = IconData(0xef18, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">call_received</i> &#x2014; material icon named "call received".
  static const IconData call_received = IconData(0xe12c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">call_received</i> &#x2014; material icon named "call received" (sharp).
  static const IconData call_received_sharp = IconData(0xe828, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">call_received</i> &#x2014; material icon named "call received" (round).
  static const IconData call_received_rounded = IconData(0xf607, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">call_received</i> &#x2014; material icon named "call received" (outlined).
  static const IconData call_received_outlined = IconData(0xef1b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">call_split</i> &#x2014; material icon named "call split".
  static const IconData call_split = IconData(0xe12d, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">call_split</i> &#x2014; material icon named "call split" (sharp).
  static const IconData call_split_sharp = IconData(0xe82a, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">call_split</i> &#x2014; material icon named "call split" (round).
  static const IconData call_split_rounded = IconData(0xf609, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">call_split</i> &#x2014; material icon named "call split" (outlined).
  static const IconData call_split_outlined = IconData(0xef1c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">call_to_action</i> &#x2014; material icon named "call to action".
  static const IconData call_to_action = IconData(0xe12e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">call_to_action</i> &#x2014; material icon named "call to action" (sharp).
  static const IconData call_to_action_sharp = IconData(0xe82b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">call_to_action</i> &#x2014; material icon named "call to action" (round).
  static const IconData call_to_action_rounded = IconData(0xf60a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">call_to_action</i> &#x2014; material icon named "call to action" (outlined).
  static const IconData call_to_action_outlined = IconData(0xef1d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">camera</i> &#x2014; material icon named "camera".
  static const IconData camera = IconData(0xe12f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">camera</i> &#x2014; material icon named "camera" (sharp).
  static const IconData camera_sharp = IconData(0xe833, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">camera</i> &#x2014; material icon named "camera" (round).
  static const IconData camera_rounded = IconData(0xf612, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">camera</i> &#x2014; material icon named "camera" (outlined).
  static const IconData camera_outlined = IconData(0xef23, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">camera_alt</i> &#x2014; material icon named "camera alt".
  static const IconData camera_alt = IconData(0xe130, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">camera_alt</i> &#x2014; material icon named "camera alt" (sharp).
  static const IconData camera_alt_sharp = IconData(0xe82c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">camera_alt</i> &#x2014; material icon named "camera alt" (round).
  static const IconData camera_alt_rounded = IconData(0xf60b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">camera_alt</i> &#x2014; material icon named "camera alt" (outlined).
  static const IconData camera_alt_outlined = IconData(0xef1e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">camera_enhance</i> &#x2014; material icon named "camera enhance".
  static const IconData camera_enhance = IconData(0xe131, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">camera_enhance</i> &#x2014; material icon named "camera enhance" (sharp).
  static const IconData camera_enhance_sharp = IconData(0xe82d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">camera_enhance</i> &#x2014; material icon named "camera enhance" (round).
  static const IconData camera_enhance_rounded = IconData(0xf60c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">camera_enhance</i> &#x2014; material icon named "camera enhance" (outlined).
  static const IconData camera_enhance_outlined = IconData(0xef1f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">camera_front</i> &#x2014; material icon named "camera front".
  static const IconData camera_front = IconData(0xe132, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">camera_front</i> &#x2014; material icon named "camera front" (sharp).
  static const IconData camera_front_sharp = IconData(0xe82e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">camera_front</i> &#x2014; material icon named "camera front" (round).
  static const IconData camera_front_rounded = IconData(0xf60d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">camera_front</i> &#x2014; material icon named "camera front" (outlined).
  static const IconData camera_front_outlined = IconData(0xef20, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">camera_indoor</i> &#x2014; material icon named "camera indoor".
  static const IconData camera_indoor = IconData(0xe133, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">camera_indoor</i> &#x2014; material icon named "camera indoor" (sharp).
  static const IconData camera_indoor_sharp = IconData(0xe82f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">camera_indoor</i> &#x2014; material icon named "camera indoor" (round).
  static const IconData camera_indoor_rounded = IconData(0xf60e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">camera_indoor</i> &#x2014; material icon named "camera indoor" (outlined).
  static const IconData camera_indoor_outlined = IconData(0xef21, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">camera_outdoor</i> &#x2014; material icon named "camera outdoor".
  static const IconData camera_outdoor = IconData(0xe134, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">camera_outdoor</i> &#x2014; material icon named "camera outdoor" (sharp).
  static const IconData camera_outdoor_sharp = IconData(0xe830, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">camera_outdoor</i> &#x2014; material icon named "camera outdoor" (round).
  static const IconData camera_outdoor_rounded = IconData(0xf60f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">camera_outdoor</i> &#x2014; material icon named "camera outdoor" (outlined).
  static const IconData camera_outdoor_outlined = IconData(0xef22, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">camera_rear</i> &#x2014; material icon named "camera rear".
  static const IconData camera_rear = IconData(0xe135, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">camera_rear</i> &#x2014; material icon named "camera rear" (sharp).
  static const IconData camera_rear_sharp = IconData(0xe831, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">camera_rear</i> &#x2014; material icon named "camera rear" (round).
  static const IconData camera_rear_rounded = IconData(0xf610, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">camera_rear</i> &#x2014; material icon named "camera rear" (outlined).
  static const IconData camera_rear_outlined = IconData(0xef24, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">camera_roll</i> &#x2014; material icon named "camera roll".
  static const IconData camera_roll = IconData(0xe136, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">camera_roll</i> &#x2014; material icon named "camera roll" (sharp).
  static const IconData camera_roll_sharp = IconData(0xe832, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">camera_roll</i> &#x2014; material icon named "camera roll" (round).
  static const IconData camera_roll_rounded = IconData(0xf611, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">camera_roll</i> &#x2014; material icon named "camera roll" (outlined).
  static const IconData camera_roll_outlined = IconData(0xef25, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cameraswitch</i> &#x2014; material icon named "cameraswitch".
  static const IconData cameraswitch = IconData(0xe137, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cameraswitch</i> &#x2014; material icon named "cameraswitch" (sharp).
  static const IconData cameraswitch_sharp = IconData(0xe834, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cameraswitch</i> &#x2014; material icon named "cameraswitch" (round).
  static const IconData cameraswitch_rounded = IconData(0xf613, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cameraswitch</i> &#x2014; material icon named "cameraswitch" (outlined).
  static const IconData cameraswitch_outlined = IconData(0xef26, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">campaign</i> &#x2014; material icon named "campaign".
  static const IconData campaign = IconData(0xe138, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">campaign</i> &#x2014; material icon named "campaign" (sharp).
  static const IconData campaign_sharp = IconData(0xe835, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">campaign</i> &#x2014; material icon named "campaign" (round).
  static const IconData campaign_rounded = IconData(0xf614, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">campaign</i> &#x2014; material icon named "campaign" (outlined).
  static const IconData campaign_outlined = IconData(0xef27, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cancel</i> &#x2014; material icon named "cancel".
  static const IconData cancel = IconData(0xe139, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cancel</i> &#x2014; material icon named "cancel" (sharp).
  static const IconData cancel_sharp = IconData(0xe838, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cancel</i> &#x2014; material icon named "cancel" (round).
  static const IconData cancel_rounded = IconData(0xf616, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cancel</i> &#x2014; material icon named "cancel" (outlined).
  static const IconData cancel_outlined = IconData(0xef28, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cancel_presentation</i> &#x2014; material icon named "cancel presentation".
  static const IconData cancel_presentation = IconData(0xe13a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cancel_presentation</i> &#x2014; material icon named "cancel presentation" (sharp).
  static const IconData cancel_presentation_sharp = IconData(0xe836, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cancel_presentation</i> &#x2014; material icon named "cancel presentation" (round).
  static const IconData cancel_presentation_rounded = IconData(0xf615, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cancel_presentation</i> &#x2014; material icon named "cancel presentation" (outlined).
  static const IconData cancel_presentation_outlined = IconData(0xef29, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cancel_schedule_send</i> &#x2014; material icon named "cancel schedule send".
  static const IconData cancel_schedule_send = IconData(0xe13b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cancel_schedule_send</i> &#x2014; material icon named "cancel schedule send" (sharp).
  static const IconData cancel_schedule_send_sharp = IconData(0xe837, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cancel_schedule_send</i> &#x2014; material icon named "cancel schedule send" (round).
  static const IconData cancel_schedule_send_rounded = IconData(0xf617, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cancel_schedule_send</i> &#x2014; material icon named "cancel schedule send" (outlined).
  static const IconData cancel_schedule_send_outlined = IconData(0xef2a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">candlestick_chart</i> &#x2014; material icon named "candlestick chart".
  static const IconData candlestick_chart = IconData(0xf04ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">candlestick_chart</i> &#x2014; material icon named "candlestick chart" (sharp).
  static const IconData candlestick_chart_sharp = IconData(0xf03d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">candlestick_chart</i> &#x2014; material icon named "candlestick chart" (round).
  static const IconData candlestick_chart_rounded = IconData(0xf02e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">candlestick_chart</i> &#x2014; material icon named "candlestick chart" (outlined).
  static const IconData candlestick_chart_outlined = IconData(0xf05c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">car_crash</i> &#x2014; material icon named "car crash".
  static const IconData car_crash = IconData(0xf0793, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">car_crash</i> &#x2014; material icon named "car crash" (sharp).
  static const IconData car_crash_sharp = IconData(0xf073b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">car_crash</i> &#x2014; material icon named "car crash" (round).
  static const IconData car_crash_rounded = IconData(0xf07eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">car_crash</i> &#x2014; material icon named "car crash" (outlined).
  static const IconData car_crash_outlined = IconData(0xf06e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">car_rental</i> &#x2014; material icon named "car rental".
  static const IconData car_rental = IconData(0xe13c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">car_rental</i> &#x2014; material icon named "car rental" (sharp).
  static const IconData car_rental_sharp = IconData(0xe839, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">car_rental</i> &#x2014; material icon named "car rental" (round).
  static const IconData car_rental_rounded = IconData(0xf618, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">car_rental</i> &#x2014; material icon named "car rental" (outlined).
  static const IconData car_rental_outlined = IconData(0xef2b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">car_repair</i> &#x2014; material icon named "car repair".
  static const IconData car_repair = IconData(0xe13d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">car_repair</i> &#x2014; material icon named "car repair" (sharp).
  static const IconData car_repair_sharp = IconData(0xe83a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">car_repair</i> &#x2014; material icon named "car repair" (round).
  static const IconData car_repair_rounded = IconData(0xf619, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">car_repair</i> &#x2014; material icon named "car repair" (outlined).
  static const IconData car_repair_outlined = IconData(0xef2c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">card_giftcard</i> &#x2014; material icon named "card giftcard".
  static const IconData card_giftcard = IconData(0xe13e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">card_giftcard</i> &#x2014; material icon named "card giftcard" (sharp).
  static const IconData card_giftcard_sharp = IconData(0xe83b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">card_giftcard</i> &#x2014; material icon named "card giftcard" (round).
  static const IconData card_giftcard_rounded = IconData(0xf61a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">card_giftcard</i> &#x2014; material icon named "card giftcard" (outlined).
  static const IconData card_giftcard_outlined = IconData(0xef2d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">card_membership</i> &#x2014; material icon named "card membership".
  static const IconData card_membership = IconData(0xe13f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">card_membership</i> &#x2014; material icon named "card membership" (sharp).
  static const IconData card_membership_sharp = IconData(0xe83c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">card_membership</i> &#x2014; material icon named "card membership" (round).
  static const IconData card_membership_rounded = IconData(0xf61b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">card_membership</i> &#x2014; material icon named "card membership" (outlined).
  static const IconData card_membership_outlined = IconData(0xef2e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">card_travel</i> &#x2014; material icon named "card travel".
  static const IconData card_travel = IconData(0xe140, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">card_travel</i> &#x2014; material icon named "card travel" (sharp).
  static const IconData card_travel_sharp = IconData(0xe83d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">card_travel</i> &#x2014; material icon named "card travel" (round).
  static const IconData card_travel_rounded = IconData(0xf61c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">card_travel</i> &#x2014; material icon named "card travel" (outlined).
  static const IconData card_travel_outlined = IconData(0xef2f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">carpenter</i> &#x2014; material icon named "carpenter".
  static const IconData carpenter = IconData(0xe141, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">carpenter</i> &#x2014; material icon named "carpenter" (sharp).
  static const IconData carpenter_sharp = IconData(0xe83e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">carpenter</i> &#x2014; material icon named "carpenter" (round).
  static const IconData carpenter_rounded = IconData(0xf61d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">carpenter</i> &#x2014; material icon named "carpenter" (outlined).
  static const IconData carpenter_outlined = IconData(0xef30, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cases</i> &#x2014; material icon named "cases".
  static const IconData cases = IconData(0xe142, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cases</i> &#x2014; material icon named "cases" (sharp).
  static const IconData cases_sharp = IconData(0xe83f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cases</i> &#x2014; material icon named "cases" (round).
  static const IconData cases_rounded = IconData(0xf61e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cases</i> &#x2014; material icon named "cases" (outlined).
  static const IconData cases_outlined = IconData(0xef31, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">casino</i> &#x2014; material icon named "casino".
  static const IconData casino = IconData(0xe143, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">casino</i> &#x2014; material icon named "casino" (sharp).
  static const IconData casino_sharp = IconData(0xe840, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">casino</i> &#x2014; material icon named "casino" (round).
  static const IconData casino_rounded = IconData(0xf61f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">casino</i> &#x2014; material icon named "casino" (outlined).
  static const IconData casino_outlined = IconData(0xef32, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cast</i> &#x2014; material icon named "cast".
  static const IconData cast = IconData(0xe144, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cast</i> &#x2014; material icon named "cast" (sharp).
  static const IconData cast_sharp = IconData(0xe843, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cast</i> &#x2014; material icon named "cast" (round).
  static const IconData cast_rounded = IconData(0xf622, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cast</i> &#x2014; material icon named "cast" (outlined).
  static const IconData cast_outlined = IconData(0xef35, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cast_connected</i> &#x2014; material icon named "cast connected".
  static const IconData cast_connected = IconData(0xe145, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cast_connected</i> &#x2014; material icon named "cast connected" (sharp).
  static const IconData cast_connected_sharp = IconData(0xe841, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cast_connected</i> &#x2014; material icon named "cast connected" (round).
  static const IconData cast_connected_rounded = IconData(0xf620, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cast_connected</i> &#x2014; material icon named "cast connected" (outlined).
  static const IconData cast_connected_outlined = IconData(0xef33, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cast_for_education</i> &#x2014; material icon named "cast for education".
  static const IconData cast_for_education = IconData(0xe146, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cast_for_education</i> &#x2014; material icon named "cast for education" (sharp).
  static const IconData cast_for_education_sharp = IconData(0xe842, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cast_for_education</i> &#x2014; material icon named "cast for education" (round).
  static const IconData cast_for_education_rounded = IconData(0xf621, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cast_for_education</i> &#x2014; material icon named "cast for education" (outlined).
  static const IconData cast_for_education_outlined = IconData(0xef34, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">castle</i> &#x2014; material icon named "castle".
  static const IconData castle = IconData(0xf04cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">castle</i> &#x2014; material icon named "castle" (sharp).
  static const IconData castle_sharp = IconData(0xf03d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">castle</i> &#x2014; material icon named "castle" (round).
  static const IconData castle_rounded = IconData(0xf02e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">castle</i> &#x2014; material icon named "castle" (outlined).
  static const IconData castle_outlined = IconData(0xf05c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">catching_pokemon</i> &#x2014; material icon named "catching pokemon".
  static const IconData catching_pokemon = IconData(0xe147, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">catching_pokemon</i> &#x2014; material icon named "catching pokemon" (sharp).
  static const IconData catching_pokemon_sharp = IconData(0xe844, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">catching_pokemon</i> &#x2014; material icon named "catching pokemon" (round).
  static const IconData catching_pokemon_rounded = IconData(0xf623, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">catching_pokemon</i> &#x2014; material icon named "catching pokemon" (outlined).
  static const IconData catching_pokemon_outlined = IconData(0xef36, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">category</i> &#x2014; material icon named "category".
  static const IconData category = IconData(0xe148, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">category</i> &#x2014; material icon named "category" (sharp).
  static const IconData category_sharp = IconData(0xe845, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">category</i> &#x2014; material icon named "category" (round).
  static const IconData category_rounded = IconData(0xf624, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">category</i> &#x2014; material icon named "category" (outlined).
  static const IconData category_outlined = IconData(0xef37, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">celebration</i> &#x2014; material icon named "celebration".
  static const IconData celebration = IconData(0xe149, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">celebration</i> &#x2014; material icon named "celebration" (sharp).
  static const IconData celebration_sharp = IconData(0xe846, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">celebration</i> &#x2014; material icon named "celebration" (round).
  static const IconData celebration_rounded = IconData(0xf625, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">celebration</i> &#x2014; material icon named "celebration" (outlined).
  static const IconData celebration_outlined = IconData(0xef38, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cell_tower</i> &#x2014; material icon named "cell tower".
  static const IconData cell_tower = IconData(0xf04cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cell_tower</i> &#x2014; material icon named "cell tower" (sharp).
  static const IconData cell_tower_sharp = IconData(0xf03d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cell_tower</i> &#x2014; material icon named "cell tower" (round).
  static const IconData cell_tower_rounded = IconData(0xf02e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cell_tower</i> &#x2014; material icon named "cell tower" (outlined).
  static const IconData cell_tower_outlined = IconData(0xf05c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cell_wifi</i> &#x2014; material icon named "cell wifi".
  static const IconData cell_wifi = IconData(0xe14a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cell_wifi</i> &#x2014; material icon named "cell wifi" (sharp).
  static const IconData cell_wifi_sharp = IconData(0xe847, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cell_wifi</i> &#x2014; material icon named "cell wifi" (round).
  static const IconData cell_wifi_rounded = IconData(0xf626, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cell_wifi</i> &#x2014; material icon named "cell wifi" (outlined).
  static const IconData cell_wifi_outlined = IconData(0xef39, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">center_focus_strong</i> &#x2014; material icon named "center focus strong".
  static const IconData center_focus_strong = IconData(0xe14b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">center_focus_strong</i> &#x2014; material icon named "center focus strong" (sharp).
  static const IconData center_focus_strong_sharp = IconData(0xe848, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">center_focus_strong</i> &#x2014; material icon named "center focus strong" (round).
  static const IconData center_focus_strong_rounded = IconData(0xf627, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">center_focus_strong</i> &#x2014; material icon named "center focus strong" (outlined).
  static const IconData center_focus_strong_outlined = IconData(0xef3a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">center_focus_weak</i> &#x2014; material icon named "center focus weak".
  static const IconData center_focus_weak = IconData(0xe14c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">center_focus_weak</i> &#x2014; material icon named "center focus weak" (sharp).
  static const IconData center_focus_weak_sharp = IconData(0xe849, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">center_focus_weak</i> &#x2014; material icon named "center focus weak" (round).
  static const IconData center_focus_weak_rounded = IconData(0xf628, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">center_focus_weak</i> &#x2014; material icon named "center focus weak" (outlined).
  static const IconData center_focus_weak_outlined = IconData(0xef3b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">chair</i> &#x2014; material icon named "chair".
  static const IconData chair = IconData(0xe14d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">chair</i> &#x2014; material icon named "chair" (sharp).
  static const IconData chair_sharp = IconData(0xe84b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">chair</i> &#x2014; material icon named "chair" (round).
  static const IconData chair_rounded = IconData(0xf62a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">chair</i> &#x2014; material icon named "chair" (outlined).
  static const IconData chair_outlined = IconData(0xef3d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">chair_alt</i> &#x2014; material icon named "chair alt".
  static const IconData chair_alt = IconData(0xe14e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">chair_alt</i> &#x2014; material icon named "chair alt" (sharp).
  static const IconData chair_alt_sharp = IconData(0xe84a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">chair_alt</i> &#x2014; material icon named "chair alt" (round).
  static const IconData chair_alt_rounded = IconData(0xf629, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">chair_alt</i> &#x2014; material icon named "chair alt" (outlined).
  static const IconData chair_alt_outlined = IconData(0xef3c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">chalet</i> &#x2014; material icon named "chalet".
  static const IconData chalet = IconData(0xe14f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">chalet</i> &#x2014; material icon named "chalet" (sharp).
  static const IconData chalet_sharp = IconData(0xe84c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">chalet</i> &#x2014; material icon named "chalet" (round).
  static const IconData chalet_rounded = IconData(0xf62b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">chalet</i> &#x2014; material icon named "chalet" (outlined).
  static const IconData chalet_outlined = IconData(0xef3e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">change_circle</i> &#x2014; material icon named "change circle".
  static const IconData change_circle = IconData(0xe150, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">change_circle</i> &#x2014; material icon named "change circle" (sharp).
  static const IconData change_circle_sharp = IconData(0xe84d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">change_circle</i> &#x2014; material icon named "change circle" (round).
  static const IconData change_circle_rounded = IconData(0xf62c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">change_circle</i> &#x2014; material icon named "change circle" (outlined).
  static const IconData change_circle_outlined = IconData(0xef3f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">change_history</i> &#x2014; material icon named "change history".
  static const IconData change_history = IconData(0xe151, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">change_history</i> &#x2014; material icon named "change history" (sharp).
  static const IconData change_history_sharp = IconData(0xe84e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">change_history</i> &#x2014; material icon named "change history" (round).
  static const IconData change_history_rounded = IconData(0xf62d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">change_history</i> &#x2014; material icon named "change history" (outlined).
  static const IconData change_history_outlined = IconData(0xef40, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">charging_station</i> &#x2014; material icon named "charging station".
  static const IconData charging_station = IconData(0xe152, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">charging_station</i> &#x2014; material icon named "charging station" (sharp).
  static const IconData charging_station_sharp = IconData(0xe84f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">charging_station</i> &#x2014; material icon named "charging station" (round).
  static const IconData charging_station_rounded = IconData(0xf62e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">charging_station</i> &#x2014; material icon named "charging station" (outlined).
  static const IconData charging_station_outlined = IconData(0xef41, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">chat</i> &#x2014; material icon named "chat".
  static const IconData chat = IconData(0xe153, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">chat</i> &#x2014; material icon named "chat" (sharp).
  static const IconData chat_sharp = IconData(0xe852, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">chat</i> &#x2014; material icon named "chat" (round).
  static const IconData chat_rounded = IconData(0xf631, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">chat</i> &#x2014; material icon named "chat" (outlined).
  static const IconData chat_outlined = IconData(0xef44, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">chat_bubble</i> &#x2014; material icon named "chat bubble".
  static const IconData chat_bubble = IconData(0xe154, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">chat_bubble</i> &#x2014; material icon named "chat bubble" (sharp).
  static const IconData chat_bubble_sharp = IconData(0xe851, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">chat_bubble</i> &#x2014; material icon named "chat bubble" (round).
  static const IconData chat_bubble_rounded = IconData(0xf630, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">chat_bubble</i> &#x2014; material icon named "chat bubble" (outlined).
  static const IconData chat_bubble_outlined = IconData(0xef43, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">chat_bubble_outline</i> &#x2014; material icon named "chat bubble outline".
  static const IconData chat_bubble_outline = IconData(0xe155, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">chat_bubble_outline</i> &#x2014; material icon named "chat bubble outline" (sharp).
  static const IconData chat_bubble_outline_sharp = IconData(0xe850, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">chat_bubble_outline</i> &#x2014; material icon named "chat bubble outline" (round).
  static const IconData chat_bubble_outline_rounded = IconData(0xf62f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">chat_bubble_outline</i> &#x2014; material icon named "chat bubble outline" (outlined).
  static const IconData chat_bubble_outline_outlined = IconData(0xef42, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">check</i> &#x2014; material icon named "check".
  static const IconData check = IconData(0xe156, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">check</i> &#x2014; material icon named "check" (sharp).
  static const IconData check_sharp = IconData(0xe857, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">check</i> &#x2014; material icon named "check" (round).
  static const IconData check_rounded = IconData(0xf636, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">check</i> &#x2014; material icon named "check" (outlined).
  static const IconData check_outlined = IconData(0xef49, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">check_box</i> &#x2014; material icon named "check box".
  static const IconData check_box = IconData(0xe157, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">check_box</i> &#x2014; material icon named "check box" (sharp).
  static const IconData check_box_sharp = IconData(0xe854, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">check_box</i> &#x2014; material icon named "check box" (round).
  static const IconData check_box_rounded = IconData(0xf633, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">check_box</i> &#x2014; material icon named "check box" (outlined).
  static const IconData check_box_outlined = IconData(0xef46, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">check_box_outline_blank</i> &#x2014; material icon named "check box outline blank".
  static const IconData check_box_outline_blank = IconData(0xe158, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">check_box_outline_blank</i> &#x2014; material icon named "check box outline blank" (sharp).
  static const IconData check_box_outline_blank_sharp = IconData(0xe853, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">check_box_outline_blank</i> &#x2014; material icon named "check box outline blank" (round).
  static const IconData check_box_outline_blank_rounded = IconData(0xf632, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">check_box_outline_blank</i> &#x2014; material icon named "check box outline blank" (outlined).
  static const IconData check_box_outline_blank_outlined = IconData(0xef45, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">check_circle</i> &#x2014; material icon named "check circle".
  static const IconData check_circle = IconData(0xe159, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">check_circle</i> &#x2014; material icon named "check circle" (sharp).
  static const IconData check_circle_sharp = IconData(0xe856, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">check_circle</i> &#x2014; material icon named "check circle" (round).
  static const IconData check_circle_rounded = IconData(0xf635, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">check_circle</i> &#x2014; material icon named "check circle" (outlined).
  static const IconData check_circle_outlined = IconData(0xef48, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">check_circle_outline</i> &#x2014; material icon named "check circle outline".
  static const IconData check_circle_outline = IconData(0xe15a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">check_circle_outline</i> &#x2014; material icon named "check circle outline" (sharp).
  static const IconData check_circle_outline_sharp = IconData(0xe855, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">check_circle_outline</i> &#x2014; material icon named "check circle outline" (round).
  static const IconData check_circle_outline_rounded = IconData(0xf634, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">check_circle_outline</i> &#x2014; material icon named "check circle outline" (outlined).
  static const IconData check_circle_outline_outlined = IconData(0xef47, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">checklist</i> &#x2014; material icon named "checklist".
  static const IconData checklist = IconData(0xe15b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">checklist</i> &#x2014; material icon named "checklist" (sharp).
  static const IconData checklist_sharp = IconData(0xe859, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">checklist</i> &#x2014; material icon named "checklist" (round).
  static const IconData checklist_rounded = IconData(0xf637, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">checklist</i> &#x2014; material icon named "checklist" (outlined).
  static const IconData checklist_outlined = IconData(0xef4a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">checklist_rtl</i> &#x2014; material icon named "checklist rtl".
  static const IconData checklist_rtl = IconData(0xe15c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">checklist_rtl</i> &#x2014; material icon named "checklist rtl" (sharp).
  static const IconData checklist_rtl_sharp = IconData(0xe858, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">checklist_rtl</i> &#x2014; material icon named "checklist rtl" (round).
  static const IconData checklist_rtl_rounded = IconData(0xf638, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">checklist_rtl</i> &#x2014; material icon named "checklist rtl" (outlined).
  static const IconData checklist_rtl_outlined = IconData(0xef4b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">checkroom</i> &#x2014; material icon named "checkroom".
  static const IconData checkroom = IconData(0xe15d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">checkroom</i> &#x2014; material icon named "checkroom" (sharp).
  static const IconData checkroom_sharp = IconData(0xe85a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">checkroom</i> &#x2014; material icon named "checkroom" (round).
  static const IconData checkroom_rounded = IconData(0xf639, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">checkroom</i> &#x2014; material icon named "checkroom" (outlined).
  static const IconData checkroom_outlined = IconData(0xef4c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">chevron_left</i> &#x2014; material icon named "chevron left".
  static const IconData chevron_left = IconData(0xe15e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">chevron_left</i> &#x2014; material icon named "chevron left" (sharp).
  static const IconData chevron_left_sharp = IconData(0xe85b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">chevron_left</i> &#x2014; material icon named "chevron left" (round).
  static const IconData chevron_left_rounded = IconData(0xf63a, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">chevron_left</i> &#x2014; material icon named "chevron left" (outlined).
  static const IconData chevron_left_outlined = IconData(0xef4d, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">chevron_right</i> &#x2014; material icon named "chevron right".
  static const IconData chevron_right = IconData(0xe15f, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">chevron_right</i> &#x2014; material icon named "chevron right" (sharp).
  static const IconData chevron_right_sharp = IconData(0xe85c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">chevron_right</i> &#x2014; material icon named "chevron right" (round).
  static const IconData chevron_right_rounded = IconData(0xf63b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">chevron_right</i> &#x2014; material icon named "chevron right" (outlined).
  static const IconData chevron_right_outlined = IconData(0xef4e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">child_care</i> &#x2014; material icon named "child care".
  static const IconData child_care = IconData(0xe160, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">child_care</i> &#x2014; material icon named "child care" (sharp).
  static const IconData child_care_sharp = IconData(0xe85d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">child_care</i> &#x2014; material icon named "child care" (round).
  static const IconData child_care_rounded = IconData(0xf63c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">child_care</i> &#x2014; material icon named "child care" (outlined).
  static const IconData child_care_outlined = IconData(0xef4f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">child_friendly</i> &#x2014; material icon named "child friendly".
  static const IconData child_friendly = IconData(0xe161, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">child_friendly</i> &#x2014; material icon named "child friendly" (sharp).
  static const IconData child_friendly_sharp = IconData(0xe85e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">child_friendly</i> &#x2014; material icon named "child friendly" (round).
  static const IconData child_friendly_rounded = IconData(0xf63d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">child_friendly</i> &#x2014; material icon named "child friendly" (outlined).
  static const IconData child_friendly_outlined = IconData(0xef50, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">chrome_reader_mode</i> &#x2014; material icon named "chrome reader mode".
  static const IconData chrome_reader_mode = IconData(0xe162, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">chrome_reader_mode</i> &#x2014; material icon named "chrome reader mode" (sharp).
  static const IconData chrome_reader_mode_sharp = IconData(0xe85f, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">chrome_reader_mode</i> &#x2014; material icon named "chrome reader mode" (round).
  static const IconData chrome_reader_mode_rounded = IconData(0xf63e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">chrome_reader_mode</i> &#x2014; material icon named "chrome reader mode" (outlined).
  static const IconData chrome_reader_mode_outlined = IconData(0xef51, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">church</i> &#x2014; material icon named "church".
  static const IconData church = IconData(0xf04cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">church</i> &#x2014; material icon named "church" (sharp).
  static const IconData church_sharp = IconData(0xf03da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">church</i> &#x2014; material icon named "church" (round).
  static const IconData church_rounded = IconData(0xf02e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">church</i> &#x2014; material icon named "church" (outlined).
  static const IconData church_outlined = IconData(0xf05c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">circle</i> &#x2014; material icon named "circle".
  static const IconData circle = IconData(0xe163, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">circle</i> &#x2014; material icon named "circle" (sharp).
  static const IconData circle_sharp = IconData(0xe861, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">circle</i> &#x2014; material icon named "circle" (round).
  static const IconData circle_rounded = IconData(0xf640, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">circle</i> &#x2014; material icon named "circle" (outlined).
  static const IconData circle_outlined = IconData(0xef53, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">circle_notifications</i> &#x2014; material icon named "circle notifications".
  static const IconData circle_notifications = IconData(0xe164, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">circle_notifications</i> &#x2014; material icon named "circle notifications" (sharp).
  static const IconData circle_notifications_sharp = IconData(0xe860, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">circle_notifications</i> &#x2014; material icon named "circle notifications" (round).
  static const IconData circle_notifications_rounded = IconData(0xf63f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">circle_notifications</i> &#x2014; material icon named "circle notifications" (outlined).
  static const IconData circle_notifications_outlined = IconData(0xef52, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">class</i> &#x2014; material icon named "class".
  static const IconData class_ = IconData(0xe165, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">class</i> &#x2014; material icon named "class" (sharp).
  static const IconData class_sharp = IconData(0xe862, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">class</i> &#x2014; material icon named "class" (round).
  static const IconData class_rounded = IconData(0xf641, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">class</i> &#x2014; material icon named "class" (outlined).
  static const IconData class_outlined = IconData(0xef54, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">clean_hands</i> &#x2014; material icon named "clean hands".
  static const IconData clean_hands = IconData(0xe166, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">clean_hands</i> &#x2014; material icon named "clean hands" (sharp).
  static const IconData clean_hands_sharp = IconData(0xe863, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">clean_hands</i> &#x2014; material icon named "clean hands" (round).
  static const IconData clean_hands_rounded = IconData(0xf642, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">clean_hands</i> &#x2014; material icon named "clean hands" (outlined).
  static const IconData clean_hands_outlined = IconData(0xef55, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cleaning_services</i> &#x2014; material icon named "cleaning services".
  static const IconData cleaning_services = IconData(0xe167, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cleaning_services</i> &#x2014; material icon named "cleaning services" (sharp).
  static const IconData cleaning_services_sharp = IconData(0xe864, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cleaning_services</i> &#x2014; material icon named "cleaning services" (round).
  static const IconData cleaning_services_rounded = IconData(0xf643, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cleaning_services</i> &#x2014; material icon named "cleaning services" (outlined).
  static const IconData cleaning_services_outlined = IconData(0xef56, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">clear</i> &#x2014; material icon named "clear".
  static const IconData clear = IconData(0xe168, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">clear</i> &#x2014; material icon named "clear" (sharp).
  static const IconData clear_sharp = IconData(0xe866, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">clear</i> &#x2014; material icon named "clear" (round).
  static const IconData clear_rounded = IconData(0xf645, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">clear</i> &#x2014; material icon named "clear" (outlined).
  static const IconData clear_outlined = IconData(0xef58, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">clear_all</i> &#x2014; material icon named "clear all".
  static const IconData clear_all = IconData(0xe169, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">clear_all</i> &#x2014; material icon named "clear all" (sharp).
  static const IconData clear_all_sharp = IconData(0xe865, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">clear_all</i> &#x2014; material icon named "clear all" (round).
  static const IconData clear_all_rounded = IconData(0xf644, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">clear_all</i> &#x2014; material icon named "clear all" (outlined).
  static const IconData clear_all_outlined = IconData(0xef57, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">close</i> &#x2014; material icon named "close".
  static const IconData close = IconData(0xe16a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">close</i> &#x2014; material icon named "close" (sharp).
  static const IconData close_sharp = IconData(0xe868, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">close</i> &#x2014; material icon named "close" (round).
  static const IconData close_rounded = IconData(0xf647, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">close</i> &#x2014; material icon named "close" (outlined).
  static const IconData close_outlined = IconData(0xef5a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">close_fullscreen</i> &#x2014; material icon named "close fullscreen".
  static const IconData close_fullscreen = IconData(0xe16b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">close_fullscreen</i> &#x2014; material icon named "close fullscreen" (sharp).
  static const IconData close_fullscreen_sharp = IconData(0xe867, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">close_fullscreen</i> &#x2014; material icon named "close fullscreen" (round).
  static const IconData close_fullscreen_rounded = IconData(0xf646, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">close_fullscreen</i> &#x2014; material icon named "close fullscreen" (outlined).
  static const IconData close_fullscreen_outlined = IconData(0xef59, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">closed_caption</i> &#x2014; material icon named "closed caption".
  static const IconData closed_caption = IconData(0xe16c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">closed_caption</i> &#x2014; material icon named "closed caption" (sharp).
  static const IconData closed_caption_sharp = IconData(0xe86b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">closed_caption</i> &#x2014; material icon named "closed caption" (round).
  static const IconData closed_caption_rounded = IconData(0xf64a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">closed_caption</i> &#x2014; material icon named "closed caption" (outlined).
  static const IconData closed_caption_outlined = IconData(0xef5d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">closed_caption_disabled</i> &#x2014; material icon named "closed caption disabled".
  static const IconData closed_caption_disabled = IconData(0xe16d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">closed_caption_disabled</i> &#x2014; material icon named "closed caption disabled" (sharp).
  static const IconData closed_caption_disabled_sharp = IconData(0xe869, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">closed_caption_disabled</i> &#x2014; material icon named "closed caption disabled" (round).
  static const IconData closed_caption_disabled_rounded = IconData(0xf648, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">closed_caption_disabled</i> &#x2014; material icon named "closed caption disabled" (outlined).
  static const IconData closed_caption_disabled_outlined = IconData(0xef5b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">closed_caption_off</i> &#x2014; material icon named "closed caption off".
  static const IconData closed_caption_off = IconData(0xe16e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">closed_caption_off</i> &#x2014; material icon named "closed caption off" (sharp).
  static const IconData closed_caption_off_sharp = IconData(0xe86a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">closed_caption_off</i> &#x2014; material icon named "closed caption off" (round).
  static const IconData closed_caption_off_rounded = IconData(0xf649, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">closed_caption_off</i> &#x2014; material icon named "closed caption off" (outlined).
  static const IconData closed_caption_off_outlined = IconData(0xef5c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cloud</i> &#x2014; material icon named "cloud".
  static const IconData cloud = IconData(0xe16f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cloud</i> &#x2014; material icon named "cloud" (sharp).
  static const IconData cloud_sharp = IconData(0xe871, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cloud</i> &#x2014; material icon named "cloud" (round).
  static const IconData cloud_rounded = IconData(0xf650, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cloud</i> &#x2014; material icon named "cloud" (outlined).
  static const IconData cloud_outlined = IconData(0xef62, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cloud_circle</i> &#x2014; material icon named "cloud circle".
  static const IconData cloud_circle = IconData(0xe170, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cloud_circle</i> &#x2014; material icon named "cloud circle" (sharp).
  static const IconData cloud_circle_sharp = IconData(0xe86c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cloud_circle</i> &#x2014; material icon named "cloud circle" (round).
  static const IconData cloud_circle_rounded = IconData(0xf64b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cloud_circle</i> &#x2014; material icon named "cloud circle" (outlined).
  static const IconData cloud_circle_outlined = IconData(0xef5e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cloud_done</i> &#x2014; material icon named "cloud done".
  static const IconData cloud_done = IconData(0xe171, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cloud_done</i> &#x2014; material icon named "cloud done" (sharp).
  static const IconData cloud_done_sharp = IconData(0xe86d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cloud_done</i> &#x2014; material icon named "cloud done" (round).
  static const IconData cloud_done_rounded = IconData(0xf64c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cloud_done</i> &#x2014; material icon named "cloud done" (outlined).
  static const IconData cloud_done_outlined = IconData(0xef5f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cloud_download</i> &#x2014; material icon named "cloud download".
  static const IconData cloud_download = IconData(0xe172, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cloud_download</i> &#x2014; material icon named "cloud download" (sharp).
  static const IconData cloud_download_sharp = IconData(0xe86e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cloud_download</i> &#x2014; material icon named "cloud download" (round).
  static const IconData cloud_download_rounded = IconData(0xf64d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cloud_download</i> &#x2014; material icon named "cloud download" (outlined).
  static const IconData cloud_download_outlined = IconData(0xef60, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cloud_off</i> &#x2014; material icon named "cloud off".
  static const IconData cloud_off = IconData(0xe173, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cloud_off</i> &#x2014; material icon named "cloud off" (sharp).
  static const IconData cloud_off_sharp = IconData(0xe86f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cloud_off</i> &#x2014; material icon named "cloud off" (round).
  static const IconData cloud_off_rounded = IconData(0xf64e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cloud_off</i> &#x2014; material icon named "cloud off" (outlined).
  static const IconData cloud_off_outlined = IconData(0xef61, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cloud_queue</i> &#x2014; material icon named "cloud queue".
  static const IconData cloud_queue = IconData(0xe174, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cloud_queue</i> &#x2014; material icon named "cloud queue" (sharp).
  static const IconData cloud_queue_sharp = IconData(0xe870, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cloud_queue</i> &#x2014; material icon named "cloud queue" (round).
  static const IconData cloud_queue_rounded = IconData(0xf64f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cloud_queue</i> &#x2014; material icon named "cloud queue" (outlined).
  static const IconData cloud_queue_outlined = IconData(0xef63, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cloud_sync</i> &#x2014; material icon named "cloud sync".
  static const IconData cloud_sync = IconData(0xf04ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cloud_sync</i> &#x2014; material icon named "cloud sync" (sharp).
  static const IconData cloud_sync_sharp = IconData(0xf03db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cloud_sync</i> &#x2014; material icon named "cloud sync" (round).
  static const IconData cloud_sync_rounded = IconData(0xf02e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cloud_sync</i> &#x2014; material icon named "cloud sync" (outlined).
  static const IconData cloud_sync_outlined = IconData(0xf05c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cloud_upload</i> &#x2014; material icon named "cloud upload".
  static const IconData cloud_upload = IconData(0xe175, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cloud_upload</i> &#x2014; material icon named "cloud upload" (sharp).
  static const IconData cloud_upload_sharp = IconData(0xe872, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cloud_upload</i> &#x2014; material icon named "cloud upload" (round).
  static const IconData cloud_upload_rounded = IconData(0xf651, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cloud_upload</i> &#x2014; material icon named "cloud upload" (outlined).
  static const IconData cloud_upload_outlined = IconData(0xef64, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cloudy_snowing</i> &#x2014; material icon named "cloudy snowing".
  static const IconData cloudy_snowing = IconData(0xf04cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">co2</i> &#x2014; material icon named "co2".
  static const IconData co2 = IconData(0xf04d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">co2</i> &#x2014; material icon named "co2" (sharp).
  static const IconData co2_sharp = IconData(0xf03dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">co2</i> &#x2014; material icon named "co2" (round).
  static const IconData co2_rounded = IconData(0xf02e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">co2</i> &#x2014; material icon named "co2" (outlined).
  static const IconData co2_outlined = IconData(0xf05ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">co_present</i> &#x2014; material icon named "co present".
  static const IconData co_present = IconData(0xf04d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">co_present</i> &#x2014; material icon named "co present" (sharp).
  static const IconData co_present_sharp = IconData(0xf03dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">co_present</i> &#x2014; material icon named "co present" (round).
  static const IconData co_present_rounded = IconData(0xf02ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">co_present</i> &#x2014; material icon named "co present" (outlined).
  static const IconData co_present_outlined = IconData(0xf05cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">code</i> &#x2014; material icon named "code".
  static const IconData code = IconData(0xe176, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">code</i> &#x2014; material icon named "code" (sharp).
  static const IconData code_sharp = IconData(0xe874, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">code</i> &#x2014; material icon named "code" (round).
  static const IconData code_rounded = IconData(0xf653, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">code</i> &#x2014; material icon named "code" (outlined).
  static const IconData code_outlined = IconData(0xef66, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">code_off</i> &#x2014; material icon named "code off".
  static const IconData code_off = IconData(0xe177, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">code_off</i> &#x2014; material icon named "code off" (sharp).
  static const IconData code_off_sharp = IconData(0xe873, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">code_off</i> &#x2014; material icon named "code off" (round).
  static const IconData code_off_rounded = IconData(0xf652, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">code_off</i> &#x2014; material icon named "code off" (outlined).
  static const IconData code_off_outlined = IconData(0xef65, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">coffee</i> &#x2014; material icon named "coffee".
  static const IconData coffee = IconData(0xe178, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">coffee</i> &#x2014; material icon named "coffee" (sharp).
  static const IconData coffee_sharp = IconData(0xe876, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">coffee</i> &#x2014; material icon named "coffee" (round).
  static const IconData coffee_rounded = IconData(0xf655, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">coffee</i> &#x2014; material icon named "coffee" (outlined).
  static const IconData coffee_outlined = IconData(0xef68, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">coffee_maker</i> &#x2014; material icon named "coffee maker".
  static const IconData coffee_maker = IconData(0xe179, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">coffee_maker</i> &#x2014; material icon named "coffee maker" (sharp).
  static const IconData coffee_maker_sharp = IconData(0xe875, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">coffee_maker</i> &#x2014; material icon named "coffee maker" (round).
  static const IconData coffee_maker_rounded = IconData(0xf654, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">coffee_maker</i> &#x2014; material icon named "coffee maker" (outlined).
  static const IconData coffee_maker_outlined = IconData(0xef67, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">collections</i> &#x2014; material icon named "collections".
  static const IconData collections = IconData(0xe17a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">collections</i> &#x2014; material icon named "collections" (sharp).
  static const IconData collections_sharp = IconData(0xe878, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">collections</i> &#x2014; material icon named "collections" (round).
  static const IconData collections_rounded = IconData(0xf657, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">collections</i> &#x2014; material icon named "collections" (outlined).
  static const IconData collections_outlined = IconData(0xef6a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">collections_bookmark</i> &#x2014; material icon named "collections bookmark".
  static const IconData collections_bookmark = IconData(0xe17b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">collections_bookmark</i> &#x2014; material icon named "collections bookmark" (sharp).
  static const IconData collections_bookmark_sharp = IconData(0xe877, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">collections_bookmark</i> &#x2014; material icon named "collections bookmark" (round).
  static const IconData collections_bookmark_rounded = IconData(0xf656, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">collections_bookmark</i> &#x2014; material icon named "collections bookmark" (outlined).
  static const IconData collections_bookmark_outlined = IconData(0xef69, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">color_lens</i> &#x2014; material icon named "color lens".
  static const IconData color_lens = IconData(0xe17c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">color_lens</i> &#x2014; material icon named "color lens" (sharp).
  static const IconData color_lens_sharp = IconData(0xe879, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">color_lens</i> &#x2014; material icon named "color lens" (round).
  static const IconData color_lens_rounded = IconData(0xf658, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">color_lens</i> &#x2014; material icon named "color lens" (outlined).
  static const IconData color_lens_outlined = IconData(0xef6b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">colorize</i> &#x2014; material icon named "colorize".
  static const IconData colorize = IconData(0xe17d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">colorize</i> &#x2014; material icon named "colorize" (sharp).
  static const IconData colorize_sharp = IconData(0xe87a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">colorize</i> &#x2014; material icon named "colorize" (round).
  static const IconData colorize_rounded = IconData(0xf659, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">colorize</i> &#x2014; material icon named "colorize" (outlined).
  static const IconData colorize_outlined = IconData(0xef6c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">comment</i> &#x2014; material icon named "comment".
  static const IconData comment = IconData(0xe17e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">comment</i> &#x2014; material icon named "comment" (sharp).
  static const IconData comment_sharp = IconData(0xe87c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">comment</i> &#x2014; material icon named "comment" (round).
  static const IconData comment_rounded = IconData(0xf65b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">comment</i> &#x2014; material icon named "comment" (outlined).
  static const IconData comment_outlined = IconData(0xef6e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">comment_bank</i> &#x2014; material icon named "comment bank".
  static const IconData comment_bank = IconData(0xe17f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">comment_bank</i> &#x2014; material icon named "comment bank" (sharp).
  static const IconData comment_bank_sharp = IconData(0xe87b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">comment_bank</i> &#x2014; material icon named "comment bank" (round).
  static const IconData comment_bank_rounded = IconData(0xf65a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">comment_bank</i> &#x2014; material icon named "comment bank" (outlined).
  static const IconData comment_bank_outlined = IconData(0xef6d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">comments_disabled</i> &#x2014; material icon named "comments disabled".
  static const IconData comments_disabled = IconData(0xf04d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">comments_disabled</i> &#x2014; material icon named "comments disabled" (sharp).
  static const IconData comments_disabled_sharp = IconData(0xf03de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">comments_disabled</i> &#x2014; material icon named "comments disabled" (round).
  static const IconData comments_disabled_rounded = IconData(0xf02eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">comments_disabled</i> &#x2014; material icon named "comments disabled" (outlined).
  static const IconData comments_disabled_outlined = IconData(0xf05cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">commit</i> &#x2014; material icon named "commit".
  static const IconData commit = IconData(0xf04d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">commit</i> &#x2014; material icon named "commit" (sharp).
  static const IconData commit_sharp = IconData(0xf03df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">commit</i> &#x2014; material icon named "commit" (round).
  static const IconData commit_rounded = IconData(0xf02ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">commit</i> &#x2014; material icon named "commit" (outlined).
  static const IconData commit_outlined = IconData(0xf05cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">commute</i> &#x2014; material icon named "commute".
  static const IconData commute = IconData(0xe180, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">commute</i> &#x2014; material icon named "commute" (sharp).
  static const IconData commute_sharp = IconData(0xe87d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">commute</i> &#x2014; material icon named "commute" (round).
  static const IconData commute_rounded = IconData(0xf65c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">commute</i> &#x2014; material icon named "commute" (outlined).
  static const IconData commute_outlined = IconData(0xef6f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">compare</i> &#x2014; material icon named "compare".
  static const IconData compare = IconData(0xe181, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">compare</i> &#x2014; material icon named "compare" (sharp).
  static const IconData compare_sharp = IconData(0xe87f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">compare</i> &#x2014; material icon named "compare" (round).
  static const IconData compare_rounded = IconData(0xf65e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">compare</i> &#x2014; material icon named "compare" (outlined).
  static const IconData compare_outlined = IconData(0xef71, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">compare_arrows</i> &#x2014; material icon named "compare arrows".
  static const IconData compare_arrows = IconData(0xe182, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">compare_arrows</i> &#x2014; material icon named "compare arrows" (sharp).
  static const IconData compare_arrows_sharp = IconData(0xe87e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">compare_arrows</i> &#x2014; material icon named "compare arrows" (round).
  static const IconData compare_arrows_rounded = IconData(0xf65d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">compare_arrows</i> &#x2014; material icon named "compare arrows" (outlined).
  static const IconData compare_arrows_outlined = IconData(0xef70, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">compass_calibration</i> &#x2014; material icon named "compass calibration".
  static const IconData compass_calibration = IconData(0xe183, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">compass_calibration</i> &#x2014; material icon named "compass calibration" (sharp).
  static const IconData compass_calibration_sharp = IconData(0xe880, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">compass_calibration</i> &#x2014; material icon named "compass calibration" (round).
  static const IconData compass_calibration_rounded = IconData(0xf65f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">compass_calibration</i> &#x2014; material icon named "compass calibration" (outlined).
  static const IconData compass_calibration_outlined = IconData(0xef72, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">compost</i> &#x2014; material icon named "compost".
  static const IconData compost = IconData(0xf04d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">compost</i> &#x2014; material icon named "compost" (sharp).
  static const IconData compost_sharp = IconData(0xf03e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">compost</i> &#x2014; material icon named "compost" (round).
  static const IconData compost_rounded = IconData(0xf02ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">compost</i> &#x2014; material icon named "compost" (outlined).
  static const IconData compost_outlined = IconData(0xf05ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">compress</i> &#x2014; material icon named "compress".
  static const IconData compress = IconData(0xe184, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">compress</i> &#x2014; material icon named "compress" (sharp).
  static const IconData compress_sharp = IconData(0xe881, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">compress</i> &#x2014; material icon named "compress" (round).
  static const IconData compress_rounded = IconData(0xf660, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">compress</i> &#x2014; material icon named "compress" (outlined).
  static const IconData compress_outlined = IconData(0xef73, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">computer</i> &#x2014; material icon named "computer".
  static const IconData computer = IconData(0xe185, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">computer</i> &#x2014; material icon named "computer" (sharp).
  static const IconData computer_sharp = IconData(0xe882, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">computer</i> &#x2014; material icon named "computer" (round).
  static const IconData computer_rounded = IconData(0xf661, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">computer</i> &#x2014; material icon named "computer" (outlined).
  static const IconData computer_outlined = IconData(0xef74, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">confirmation_num</i> &#x2014; material icon named "confirmation num".
  static const IconData confirmation_num = IconData(0xe186, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">confirmation_num</i> &#x2014; material icon named "confirmation num" (sharp).
  static const IconData confirmation_num_sharp = IconData(0xe883, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">confirmation_num</i> &#x2014; material icon named "confirmation num" (round).
  static const IconData confirmation_num_rounded = IconData(0xf662, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">confirmation_num</i> &#x2014; material icon named "confirmation num" (outlined).
  static const IconData confirmation_num_outlined = IconData(0xef75, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">confirmation_number</i> &#x2014; material icon named "confirmation number".
  static const IconData confirmation_number = IconData(0xe186, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">confirmation_number</i> &#x2014; material icon named "confirmation number" (sharp).
  static const IconData confirmation_number_sharp = IconData(0xe883, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">confirmation_number</i> &#x2014; material icon named "confirmation number" (round).
  static const IconData confirmation_number_rounded = IconData(0xf662, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">confirmation_number</i> &#x2014; material icon named "confirmation number" (outlined).
  static const IconData confirmation_number_outlined = IconData(0xef75, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">connect_without_contact</i> &#x2014; material icon named "connect without contact".
  static const IconData connect_without_contact = IconData(0xe187, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">connect_without_contact</i> &#x2014; material icon named "connect without contact" (sharp).
  static const IconData connect_without_contact_sharp = IconData(0xe884, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">connect_without_contact</i> &#x2014; material icon named "connect without contact" (round).
  static const IconData connect_without_contact_rounded = IconData(0xf663, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">connect_without_contact</i> &#x2014; material icon named "connect without contact" (outlined).
  static const IconData connect_without_contact_outlined = IconData(0xef76, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">connected_tv</i> &#x2014; material icon named "connected tv".
  static const IconData connected_tv = IconData(0xe188, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">connected_tv</i> &#x2014; material icon named "connected tv" (sharp).
  static const IconData connected_tv_sharp = IconData(0xe885, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">connected_tv</i> &#x2014; material icon named "connected tv" (round).
  static const IconData connected_tv_rounded = IconData(0xf664, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">connected_tv</i> &#x2014; material icon named "connected tv" (outlined).
  static const IconData connected_tv_outlined = IconData(0xef77, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">connecting_airports</i> &#x2014; material icon named "connecting airports".
  static const IconData connecting_airports = IconData(0xf04d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">connecting_airports</i> &#x2014; material icon named "connecting airports" (sharp).
  static const IconData connecting_airports_sharp = IconData(0xf03e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">connecting_airports</i> &#x2014; material icon named "connecting airports" (round).
  static const IconData connecting_airports_rounded = IconData(0xf02ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">connecting_airports</i> &#x2014; material icon named "connecting airports" (outlined).
  static const IconData connecting_airports_outlined = IconData(0xf05cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">construction</i> &#x2014; material icon named "construction".
  static const IconData construction = IconData(0xe189, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">construction</i> &#x2014; material icon named "construction" (sharp).
  static const IconData construction_sharp = IconData(0xe886, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">construction</i> &#x2014; material icon named "construction" (round).
  static const IconData construction_rounded = IconData(0xf665, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">construction</i> &#x2014; material icon named "construction" (outlined).
  static const IconData construction_outlined = IconData(0xef78, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">contact_mail</i> &#x2014; material icon named "contact mail".
  static const IconData contact_mail = IconData(0xe18a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">contact_mail</i> &#x2014; material icon named "contact mail" (sharp).
  static const IconData contact_mail_sharp = IconData(0xe887, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">contact_mail</i> &#x2014; material icon named "contact mail" (round).
  static const IconData contact_mail_rounded = IconData(0xf666, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">contact_mail</i> &#x2014; material icon named "contact mail" (outlined).
  static const IconData contact_mail_outlined = IconData(0xef79, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">contact_page</i> &#x2014; material icon named "contact page".
  static const IconData contact_page = IconData(0xe18b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">contact_page</i> &#x2014; material icon named "contact page" (sharp).
  static const IconData contact_page_sharp = IconData(0xe888, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">contact_page</i> &#x2014; material icon named "contact page" (round).
  static const IconData contact_page_rounded = IconData(0xf667, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">contact_page</i> &#x2014; material icon named "contact page" (outlined).
  static const IconData contact_page_outlined = IconData(0xef7a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">contact_phone</i> &#x2014; material icon named "contact phone".
  static const IconData contact_phone = IconData(0xe18c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">contact_phone</i> &#x2014; material icon named "contact phone" (sharp).
  static const IconData contact_phone_sharp = IconData(0xe889, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">contact_phone</i> &#x2014; material icon named "contact phone" (round).
  static const IconData contact_phone_rounded = IconData(0xf668, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">contact_phone</i> &#x2014; material icon named "contact phone" (outlined).
  static const IconData contact_phone_outlined = IconData(0xef7b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">contact_support</i> &#x2014; material icon named "contact support".
  static const IconData contact_support = IconData(0xe18d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">contact_support</i> &#x2014; material icon named "contact support" (sharp).
  static const IconData contact_support_sharp = IconData(0xe88a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">contact_support</i> &#x2014; material icon named "contact support" (round).
  static const IconData contact_support_rounded = IconData(0xf669, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">contact_support</i> &#x2014; material icon named "contact support" (outlined).
  static const IconData contact_support_outlined = IconData(0xef7c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">contactless</i> &#x2014; material icon named "contactless".
  static const IconData contactless = IconData(0xe18e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">contactless</i> &#x2014; material icon named "contactless" (sharp).
  static const IconData contactless_sharp = IconData(0xe88b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">contactless</i> &#x2014; material icon named "contactless" (round).
  static const IconData contactless_rounded = IconData(0xf66a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">contactless</i> &#x2014; material icon named "contactless" (outlined).
  static const IconData contactless_outlined = IconData(0xef7d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">contacts</i> &#x2014; material icon named "contacts".
  static const IconData contacts = IconData(0xe18f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">contacts</i> &#x2014; material icon named "contacts" (sharp).
  static const IconData contacts_sharp = IconData(0xe88c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">contacts</i> &#x2014; material icon named "contacts" (round).
  static const IconData contacts_rounded = IconData(0xf66b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">contacts</i> &#x2014; material icon named "contacts" (outlined).
  static const IconData contacts_outlined = IconData(0xef7e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">content_copy</i> &#x2014; material icon named "content copy".
  static const IconData content_copy = IconData(0xe190, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">content_copy</i> &#x2014; material icon named "content copy" (sharp).
  static const IconData content_copy_sharp = IconData(0xe88d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">content_copy</i> &#x2014; material icon named "content copy" (round).
  static const IconData content_copy_rounded = IconData(0xf66c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">content_copy</i> &#x2014; material icon named "content copy" (outlined).
  static const IconData content_copy_outlined = IconData(0xef7f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">content_cut</i> &#x2014; material icon named "content cut".
  static const IconData content_cut = IconData(0xe191, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">content_cut</i> &#x2014; material icon named "content cut" (sharp).
  static const IconData content_cut_sharp = IconData(0xe88e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">content_cut</i> &#x2014; material icon named "content cut" (round).
  static const IconData content_cut_rounded = IconData(0xf66d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">content_cut</i> &#x2014; material icon named "content cut" (outlined).
  static const IconData content_cut_outlined = IconData(0xef80, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">content_paste</i> &#x2014; material icon named "content paste".
  static const IconData content_paste = IconData(0xe192, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">content_paste</i> &#x2014; material icon named "content paste" (sharp).
  static const IconData content_paste_sharp = IconData(0xe890, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">content_paste</i> &#x2014; material icon named "content paste" (round).
  static const IconData content_paste_rounded = IconData(0xf66f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">content_paste</i> &#x2014; material icon named "content paste" (outlined).
  static const IconData content_paste_outlined = IconData(0xef82, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">content_paste_go</i> &#x2014; material icon named "content paste go".
  static const IconData content_paste_go = IconData(0xf04d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">content_paste_go</i> &#x2014; material icon named "content paste go" (sharp).
  static const IconData content_paste_go_sharp = IconData(0xf03e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">content_paste_go</i> &#x2014; material icon named "content paste go" (round).
  static const IconData content_paste_go_rounded = IconData(0xf02ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">content_paste_go</i> &#x2014; material icon named "content paste go" (outlined).
  static const IconData content_paste_go_outlined = IconData(0xf05d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">content_paste_off</i> &#x2014; material icon named "content paste off".
  static const IconData content_paste_off = IconData(0xe193, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">content_paste_off</i> &#x2014; material icon named "content paste off" (sharp).
  static const IconData content_paste_off_sharp = IconData(0xe88f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">content_paste_off</i> &#x2014; material icon named "content paste off" (round).
  static const IconData content_paste_off_rounded = IconData(0xf66e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">content_paste_off</i> &#x2014; material icon named "content paste off" (outlined).
  static const IconData content_paste_off_outlined = IconData(0xef81, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">content_paste_search</i> &#x2014; material icon named "content paste search".
  static const IconData content_paste_search = IconData(0xf04d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">content_paste_search</i> &#x2014; material icon named "content paste search" (sharp).
  static const IconData content_paste_search_sharp = IconData(0xf03e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">content_paste_search</i> &#x2014; material icon named "content paste search" (round).
  static const IconData content_paste_search_rounded = IconData(0xf02f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">content_paste_search</i> &#x2014; material icon named "content paste search" (outlined).
  static const IconData content_paste_search_outlined = IconData(0xf05d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">contrast</i> &#x2014; material icon named "contrast".
  static const IconData contrast = IconData(0xf04d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">contrast</i> &#x2014; material icon named "contrast" (sharp).
  static const IconData contrast_sharp = IconData(0xf03e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">contrast</i> &#x2014; material icon named "contrast" (round).
  static const IconData contrast_rounded = IconData(0xf02f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">contrast</i> &#x2014; material icon named "contrast" (outlined).
  static const IconData contrast_outlined = IconData(0xf05d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">control_camera</i> &#x2014; material icon named "control camera".
  static const IconData control_camera = IconData(0xe194, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">control_camera</i> &#x2014; material icon named "control camera" (sharp).
  static const IconData control_camera_sharp = IconData(0xe891, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">control_camera</i> &#x2014; material icon named "control camera" (round).
  static const IconData control_camera_rounded = IconData(0xf670, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">control_camera</i> &#x2014; material icon named "control camera" (outlined).
  static const IconData control_camera_outlined = IconData(0xef83, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">control_point</i> &#x2014; material icon named "control point".
  static const IconData control_point = IconData(0xe195, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">control_point</i> &#x2014; material icon named "control point" (sharp).
  static const IconData control_point_sharp = IconData(0xe893, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">control_point</i> &#x2014; material icon named "control point" (round).
  static const IconData control_point_rounded = IconData(0xf672, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">control_point</i> &#x2014; material icon named "control point" (outlined).
  static const IconData control_point_outlined = IconData(0xef85, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">control_point_duplicate</i> &#x2014; material icon named "control point duplicate".
  static const IconData control_point_duplicate = IconData(0xe196, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">control_point_duplicate</i> &#x2014; material icon named "control point duplicate" (sharp).
  static const IconData control_point_duplicate_sharp = IconData(0xe892, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">control_point_duplicate</i> &#x2014; material icon named "control point duplicate" (round).
  static const IconData control_point_duplicate_rounded = IconData(0xf671, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">control_point_duplicate</i> &#x2014; material icon named "control point duplicate" (outlined).
  static const IconData control_point_duplicate_outlined = IconData(0xef84, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cookie</i> &#x2014; material icon named "cookie".
  static const IconData cookie = IconData(0xf04d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cookie</i> &#x2014; material icon named "cookie" (sharp).
  static const IconData cookie_sharp = IconData(0xf03e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cookie</i> &#x2014; material icon named "cookie" (round).
  static const IconData cookie_rounded = IconData(0xf02f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cookie</i> &#x2014; material icon named "cookie" (outlined).
  static const IconData cookie_outlined = IconData(0xf05d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">copy</i> &#x2014; material icon named "copy".
  static const IconData copy = IconData(0xe190, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">copy</i> &#x2014; material icon named "copy" (sharp).
  static const IconData copy_sharp = IconData(0xe88d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">copy</i> &#x2014; material icon named "copy" (round).
  static const IconData copy_rounded = IconData(0xf66c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">copy</i> &#x2014; material icon named "copy" (outlined).
  static const IconData copy_outlined = IconData(0xef7f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">copy_all</i> &#x2014; material icon named "copy all".
  static const IconData copy_all = IconData(0xe197, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">copy_all</i> &#x2014; material icon named "copy all" (sharp).
  static const IconData copy_all_sharp = IconData(0xe894, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">copy_all</i> &#x2014; material icon named "copy all" (round).
  static const IconData copy_all_rounded = IconData(0xf673, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">copy_all</i> &#x2014; material icon named "copy all" (outlined).
  static const IconData copy_all_outlined = IconData(0xef86, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">copyright</i> &#x2014; material icon named "copyright".
  static const IconData copyright = IconData(0xe198, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">copyright</i> &#x2014; material icon named "copyright" (sharp).
  static const IconData copyright_sharp = IconData(0xe895, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">copyright</i> &#x2014; material icon named "copyright" (round).
  static const IconData copyright_rounded = IconData(0xf674, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">copyright</i> &#x2014; material icon named "copyright" (outlined).
  static const IconData copyright_outlined = IconData(0xef87, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">coronavirus</i> &#x2014; material icon named "coronavirus".
  static const IconData coronavirus = IconData(0xe199, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">coronavirus</i> &#x2014; material icon named "coronavirus" (sharp).
  static const IconData coronavirus_sharp = IconData(0xe896, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">coronavirus</i> &#x2014; material icon named "coronavirus" (round).
  static const IconData coronavirus_rounded = IconData(0xf675, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">coronavirus</i> &#x2014; material icon named "coronavirus" (outlined).
  static const IconData coronavirus_outlined = IconData(0xef88, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">corporate_fare</i> &#x2014; material icon named "corporate fare".
  static const IconData corporate_fare = IconData(0xe19a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">corporate_fare</i> &#x2014; material icon named "corporate fare" (sharp).
  static const IconData corporate_fare_sharp = IconData(0xe897, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">corporate_fare</i> &#x2014; material icon named "corporate fare" (round).
  static const IconData corporate_fare_rounded = IconData(0xf676, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">corporate_fare</i> &#x2014; material icon named "corporate fare" (outlined).
  static const IconData corporate_fare_outlined = IconData(0xef89, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cottage</i> &#x2014; material icon named "cottage".
  static const IconData cottage = IconData(0xe19b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cottage</i> &#x2014; material icon named "cottage" (sharp).
  static const IconData cottage_sharp = IconData(0xe898, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cottage</i> &#x2014; material icon named "cottage" (round).
  static const IconData cottage_rounded = IconData(0xf677, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cottage</i> &#x2014; material icon named "cottage" (outlined).
  static const IconData cottage_outlined = IconData(0xef8a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">countertops</i> &#x2014; material icon named "countertops".
  static const IconData countertops = IconData(0xe19c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">countertops</i> &#x2014; material icon named "countertops" (sharp).
  static const IconData countertops_sharp = IconData(0xe899, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">countertops</i> &#x2014; material icon named "countertops" (round).
  static const IconData countertops_rounded = IconData(0xf678, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">countertops</i> &#x2014; material icon named "countertops" (outlined).
  static const IconData countertops_outlined = IconData(0xef8b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">create</i> &#x2014; material icon named "create".
  static const IconData create = IconData(0xe19d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">create</i> &#x2014; material icon named "create" (sharp).
  static const IconData create_sharp = IconData(0xe89b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">create</i> &#x2014; material icon named "create" (round).
  static const IconData create_rounded = IconData(0xf67a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">create</i> &#x2014; material icon named "create" (outlined).
  static const IconData create_outlined = IconData(0xef8d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">create_new_folder</i> &#x2014; material icon named "create new folder".
  static const IconData create_new_folder = IconData(0xe19e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">create_new_folder</i> &#x2014; material icon named "create new folder" (sharp).
  static const IconData create_new_folder_sharp = IconData(0xe89a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">create_new_folder</i> &#x2014; material icon named "create new folder" (round).
  static const IconData create_new_folder_rounded = IconData(0xf679, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">create_new_folder</i> &#x2014; material icon named "create new folder" (outlined).
  static const IconData create_new_folder_outlined = IconData(0xef8c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">credit_card</i> &#x2014; material icon named "credit card".
  static const IconData credit_card = IconData(0xe19f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">credit_card</i> &#x2014; material icon named "credit card" (sharp).
  static const IconData credit_card_sharp = IconData(0xe89d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">credit_card</i> &#x2014; material icon named "credit card" (round).
  static const IconData credit_card_rounded = IconData(0xf67c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">credit_card</i> &#x2014; material icon named "credit card" (outlined).
  static const IconData credit_card_outlined = IconData(0xef8f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">credit_card_off</i> &#x2014; material icon named "credit card off".
  static const IconData credit_card_off = IconData(0xe1a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">credit_card_off</i> &#x2014; material icon named "credit card off" (sharp).
  static const IconData credit_card_off_sharp = IconData(0xe89c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">credit_card_off</i> &#x2014; material icon named "credit card off" (round).
  static const IconData credit_card_off_rounded = IconData(0xf67b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">credit_card_off</i> &#x2014; material icon named "credit card off" (outlined).
  static const IconData credit_card_off_outlined = IconData(0xef8e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">credit_score</i> &#x2014; material icon named "credit score".
  static const IconData credit_score = IconData(0xe1a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">credit_score</i> &#x2014; material icon named "credit score" (sharp).
  static const IconData credit_score_sharp = IconData(0xe89e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">credit_score</i> &#x2014; material icon named "credit score" (round).
  static const IconData credit_score_rounded = IconData(0xf67d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">credit_score</i> &#x2014; material icon named "credit score" (outlined).
  static const IconData credit_score_outlined = IconData(0xef90, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">crib</i> &#x2014; material icon named "crib".
  static const IconData crib = IconData(0xe1a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">crib</i> &#x2014; material icon named "crib" (sharp).
  static const IconData crib_sharp = IconData(0xe89f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">crib</i> &#x2014; material icon named "crib" (round).
  static const IconData crib_rounded = IconData(0xf67e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">crib</i> &#x2014; material icon named "crib" (outlined).
  static const IconData crib_outlined = IconData(0xef91, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">crisis_alert</i> &#x2014; material icon named "crisis alert".
  static const IconData crisis_alert = IconData(0xf0794, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">crisis_alert</i> &#x2014; material icon named "crisis alert" (sharp).
  static const IconData crisis_alert_sharp = IconData(0xf073c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">crisis_alert</i> &#x2014; material icon named "crisis alert" (round).
  static const IconData crisis_alert_rounded = IconData(0xf07ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">crisis_alert</i> &#x2014; material icon named "crisis alert" (outlined).
  static const IconData crisis_alert_outlined = IconData(0xf06e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">crop</i> &#x2014; material icon named "crop".
  static const IconData crop = IconData(0xe1a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">crop</i> &#x2014; material icon named "crop" (sharp).
  static const IconData crop_sharp = IconData(0xe8aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">crop</i> &#x2014; material icon named "crop" (round).
  static const IconData crop_rounded = IconData(0xf689, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">crop</i> &#x2014; material icon named "crop" (outlined).
  static const IconData crop_outlined = IconData(0xef9a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">crop_16_9</i> &#x2014; material icon named "crop 16 9".
  static const IconData crop_16_9 = IconData(0xe1a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">crop_16_9</i> &#x2014; material icon named "crop 16 9" (sharp).
  static const IconData crop_16_9_sharp = IconData(0xe8a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">crop_16_9</i> &#x2014; material icon named "crop 16 9" (round).
  static const IconData crop_16_9_rounded = IconData(0xf67f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">crop_16_9</i> &#x2014; material icon named "crop 16 9" (outlined).
  static const IconData crop_16_9_outlined = IconData(0xef92, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">crop_3_2</i> &#x2014; material icon named "crop 3 2".
  static const IconData crop_3_2 = IconData(0xe1a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">crop_3_2</i> &#x2014; material icon named "crop 3 2" (sharp).
  static const IconData crop_3_2_sharp = IconData(0xe8a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">crop_3_2</i> &#x2014; material icon named "crop 3 2" (round).
  static const IconData crop_3_2_rounded = IconData(0xf680, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">crop_3_2</i> &#x2014; material icon named "crop 3 2" (outlined).
  static const IconData crop_3_2_outlined = IconData(0xef93, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">crop_5_4</i> &#x2014; material icon named "crop 5 4".
  static const IconData crop_5_4 = IconData(0xe1a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">crop_5_4</i> &#x2014; material icon named "crop 5 4" (sharp).
  static const IconData crop_5_4_sharp = IconData(0xe8a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">crop_5_4</i> &#x2014; material icon named "crop 5 4" (round).
  static const IconData crop_5_4_rounded = IconData(0xf681, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">crop_5_4</i> &#x2014; material icon named "crop 5 4" (outlined).
  static const IconData crop_5_4_outlined = IconData(0xef94, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">crop_7_5</i> &#x2014; material icon named "crop 7 5".
  static const IconData crop_7_5 = IconData(0xe1a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">crop_7_5</i> &#x2014; material icon named "crop 7 5" (sharp).
  static const IconData crop_7_5_sharp = IconData(0xe8a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">crop_7_5</i> &#x2014; material icon named "crop 7 5" (round).
  static const IconData crop_7_5_rounded = IconData(0xf682, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">crop_7_5</i> &#x2014; material icon named "crop 7 5" (outlined).
  static const IconData crop_7_5_outlined = IconData(0xef95, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">crop_din</i> &#x2014; material icon named "crop din".
  static const IconData crop_din = IconData(0xe1a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">crop_din</i> &#x2014; material icon named "crop din" (sharp).
  static const IconData crop_din_sharp = IconData(0xe8a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">crop_din</i> &#x2014; material icon named "crop din" (round).
  static const IconData crop_din_rounded = IconData(0xf683, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">crop_din</i> &#x2014; material icon named "crop din" (outlined).
  static const IconData crop_din_outlined = IconData(0xef96, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">crop_free</i> &#x2014; material icon named "crop free".
  static const IconData crop_free = IconData(0xe1a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">crop_free</i> &#x2014; material icon named "crop free" (sharp).
  static const IconData crop_free_sharp = IconData(0xe8a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">crop_free</i> &#x2014; material icon named "crop free" (round).
  static const IconData crop_free_rounded = IconData(0xf684, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">crop_free</i> &#x2014; material icon named "crop free" (outlined).
  static const IconData crop_free_outlined = IconData(0xef97, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">crop_landscape</i> &#x2014; material icon named "crop landscape".
  static const IconData crop_landscape = IconData(0xe1aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">crop_landscape</i> &#x2014; material icon named "crop landscape" (sharp).
  static const IconData crop_landscape_sharp = IconData(0xe8a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">crop_landscape</i> &#x2014; material icon named "crop landscape" (round).
  static const IconData crop_landscape_rounded = IconData(0xf685, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">crop_landscape</i> &#x2014; material icon named "crop landscape" (outlined).
  static const IconData crop_landscape_outlined = IconData(0xef98, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">crop_original</i> &#x2014; material icon named "crop original".
  static const IconData crop_original = IconData(0xe1ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">crop_original</i> &#x2014; material icon named "crop original" (sharp).
  static const IconData crop_original_sharp = IconData(0xe8a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">crop_original</i> &#x2014; material icon named "crop original" (round).
  static const IconData crop_original_rounded = IconData(0xf686, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">crop_original</i> &#x2014; material icon named "crop original" (outlined).
  static const IconData crop_original_outlined = IconData(0xef99, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">crop_portrait</i> &#x2014; material icon named "crop portrait".
  static const IconData crop_portrait = IconData(0xe1ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">crop_portrait</i> &#x2014; material icon named "crop portrait" (sharp).
  static const IconData crop_portrait_sharp = IconData(0xe8a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">crop_portrait</i> &#x2014; material icon named "crop portrait" (round).
  static const IconData crop_portrait_rounded = IconData(0xf687, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">crop_portrait</i> &#x2014; material icon named "crop portrait" (outlined).
  static const IconData crop_portrait_outlined = IconData(0xef9b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">crop_rotate</i> &#x2014; material icon named "crop rotate".
  static const IconData crop_rotate = IconData(0xe1ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">crop_rotate</i> &#x2014; material icon named "crop rotate" (sharp).
  static const IconData crop_rotate_sharp = IconData(0xe8a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">crop_rotate</i> &#x2014; material icon named "crop rotate" (round).
  static const IconData crop_rotate_rounded = IconData(0xf688, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">crop_rotate</i> &#x2014; material icon named "crop rotate" (outlined).
  static const IconData crop_rotate_outlined = IconData(0xef9c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">crop_square</i> &#x2014; material icon named "crop square".
  static const IconData crop_square = IconData(0xe1ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">crop_square</i> &#x2014; material icon named "crop square" (sharp).
  static const IconData crop_square_sharp = IconData(0xe8ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">crop_square</i> &#x2014; material icon named "crop square" (round).
  static const IconData crop_square_rounded = IconData(0xf68a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">crop_square</i> &#x2014; material icon named "crop square" (outlined).
  static const IconData crop_square_outlined = IconData(0xef9d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cruelty_free</i> &#x2014; material icon named "cruelty free".
  static const IconData cruelty_free = IconData(0xf04da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cruelty_free</i> &#x2014; material icon named "cruelty free" (sharp).
  static const IconData cruelty_free_sharp = IconData(0xf03e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cruelty_free</i> &#x2014; material icon named "cruelty free" (round).
  static const IconData cruelty_free_rounded = IconData(0xf02f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cruelty_free</i> &#x2014; material icon named "cruelty free" (outlined).
  static const IconData cruelty_free_outlined = IconData(0xf05d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">css</i> &#x2014; material icon named "css".
  static const IconData css = IconData(0xf04db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">css</i> &#x2014; material icon named "css" (sharp).
  static const IconData css_sharp = IconData(0xf03e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">css</i> &#x2014; material icon named "css" (round).
  static const IconData css_rounded = IconData(0xf02f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">css</i> &#x2014; material icon named "css" (outlined).
  static const IconData css_outlined = IconData(0xf05d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">currency_bitcoin</i> &#x2014; material icon named "currency bitcoin".
  static const IconData currency_bitcoin = IconData(0xf06bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">currency_bitcoin</i> &#x2014; material icon named "currency bitcoin" (sharp).
  static const IconData currency_bitcoin_sharp = IconData(0xf06af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">currency_bitcoin</i> &#x2014; material icon named "currency bitcoin" (round).
  static const IconData currency_bitcoin_rounded = IconData(0xf06c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">currency_bitcoin</i> &#x2014; material icon named "currency bitcoin" (outlined).
  static const IconData currency_bitcoin_outlined = IconData(0xf054a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">currency_exchange</i> &#x2014; material icon named "currency exchange".
  static const IconData currency_exchange = IconData(0xf04dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">currency_exchange</i> &#x2014; material icon named "currency exchange" (sharp).
  static const IconData currency_exchange_sharp = IconData(0xf03e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">currency_exchange</i> &#x2014; material icon named "currency exchange" (round).
  static const IconData currency_exchange_rounded = IconData(0xf02f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">currency_exchange</i> &#x2014; material icon named "currency exchange" (outlined).
  static const IconData currency_exchange_outlined = IconData(0xf05d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">currency_franc</i> &#x2014; material icon named "currency franc".
  static const IconData currency_franc = IconData(0xf04dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">currency_franc</i> &#x2014; material icon named "currency franc" (sharp).
  static const IconData currency_franc_sharp = IconData(0xf03e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">currency_franc</i> &#x2014; material icon named "currency franc" (round).
  static const IconData currency_franc_rounded = IconData(0xf02f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">currency_franc</i> &#x2014; material icon named "currency franc" (outlined).
  static const IconData currency_franc_outlined = IconData(0xf05d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">currency_lira</i> &#x2014; material icon named "currency lira".
  static const IconData currency_lira = IconData(0xf04de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">currency_lira</i> &#x2014; material icon named "currency lira" (sharp).
  static const IconData currency_lira_sharp = IconData(0xf03ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">currency_lira</i> &#x2014; material icon named "currency lira" (round).
  static const IconData currency_lira_rounded = IconData(0xf02f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">currency_lira</i> &#x2014; material icon named "currency lira" (outlined).
  static const IconData currency_lira_outlined = IconData(0xf05d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">currency_pound</i> &#x2014; material icon named "currency pound".
  static const IconData currency_pound = IconData(0xf04df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">currency_pound</i> &#x2014; material icon named "currency pound" (sharp).
  static const IconData currency_pound_sharp = IconData(0xf03eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">currency_pound</i> &#x2014; material icon named "currency pound" (round).
  static const IconData currency_pound_rounded = IconData(0xf02f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">currency_pound</i> &#x2014; material icon named "currency pound" (outlined).
  static const IconData currency_pound_outlined = IconData(0xf05d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">currency_ruble</i> &#x2014; material icon named "currency ruble".
  static const IconData currency_ruble = IconData(0xf04e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">currency_ruble</i> &#x2014; material icon named "currency ruble" (sharp).
  static const IconData currency_ruble_sharp = IconData(0xf03ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">currency_ruble</i> &#x2014; material icon named "currency ruble" (round).
  static const IconData currency_ruble_rounded = IconData(0xf02f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">currency_ruble</i> &#x2014; material icon named "currency ruble" (outlined).
  static const IconData currency_ruble_outlined = IconData(0xf05da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">currency_rupee</i> &#x2014; material icon named "currency rupee".
  static const IconData currency_rupee = IconData(0xf04e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">currency_rupee</i> &#x2014; material icon named "currency rupee" (sharp).
  static const IconData currency_rupee_sharp = IconData(0xf03ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">currency_rupee</i> &#x2014; material icon named "currency rupee" (round).
  static const IconData currency_rupee_rounded = IconData(0xf02fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">currency_rupee</i> &#x2014; material icon named "currency rupee" (outlined).
  static const IconData currency_rupee_outlined = IconData(0xf05db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">currency_yen</i> &#x2014; material icon named "currency yen".
  static const IconData currency_yen = IconData(0xf04e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">currency_yen</i> &#x2014; material icon named "currency yen" (sharp).
  static const IconData currency_yen_sharp = IconData(0xf03ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">currency_yen</i> &#x2014; material icon named "currency yen" (round).
  static const IconData currency_yen_rounded = IconData(0xf02fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">currency_yen</i> &#x2014; material icon named "currency yen" (outlined).
  static const IconData currency_yen_outlined = IconData(0xf05dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">currency_yuan</i> &#x2014; material icon named "currency yuan".
  static const IconData currency_yuan = IconData(0xf04e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">currency_yuan</i> &#x2014; material icon named "currency yuan" (sharp).
  static const IconData currency_yuan_sharp = IconData(0xf03ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">currency_yuan</i> &#x2014; material icon named "currency yuan" (round).
  static const IconData currency_yuan_rounded = IconData(0xf02fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">currency_yuan</i> &#x2014; material icon named "currency yuan" (outlined).
  static const IconData currency_yuan_outlined = IconData(0xf05dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">curtains</i> &#x2014; material icon named "curtains".
  static const IconData curtains = IconData(0xf0795, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">curtains</i> &#x2014; material icon named "curtains" (sharp).
  static const IconData curtains_sharp = IconData(0xf073e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">curtains</i> &#x2014; material icon named "curtains" (round).
  static const IconData curtains_rounded = IconData(0xf07ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">curtains</i> &#x2014; material icon named "curtains" (outlined).
  static const IconData curtains_outlined = IconData(0xf06e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">curtains_closed</i> &#x2014; material icon named "curtains closed".
  static const IconData curtains_closed = IconData(0xf0796, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">curtains_closed</i> &#x2014; material icon named "curtains closed" (sharp).
  static const IconData curtains_closed_sharp = IconData(0xf073d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">curtains_closed</i> &#x2014; material icon named "curtains closed" (round).
  static const IconData curtains_closed_rounded = IconData(0xf07ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">curtains_closed</i> &#x2014; material icon named "curtains closed" (outlined).
  static const IconData curtains_closed_outlined = IconData(0xf06e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cut</i> &#x2014; material icon named "cut".
  static const IconData cut = IconData(0xe191, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cut</i> &#x2014; material icon named "cut" (sharp).
  static const IconData cut_sharp = IconData(0xe88e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cut</i> &#x2014; material icon named "cut" (round).
  static const IconData cut_rounded = IconData(0xf66d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cut</i> &#x2014; material icon named "cut" (outlined).
  static const IconData cut_outlined = IconData(0xef80, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">cyclone</i> &#x2014; material icon named "cyclone".
  static const IconData cyclone = IconData(0xf0797, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">cyclone</i> &#x2014; material icon named "cyclone" (sharp).
  static const IconData cyclone_sharp = IconData(0xf073f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">cyclone</i> &#x2014; material icon named "cyclone" (round).
  static const IconData cyclone_rounded = IconData(0xf07ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">cyclone</i> &#x2014; material icon named "cyclone" (outlined).
  static const IconData cyclone_outlined = IconData(0xf06e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dangerous</i> &#x2014; material icon named "dangerous".
  static const IconData dangerous = IconData(0xe1af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dangerous</i> &#x2014; material icon named "dangerous" (sharp).
  static const IconData dangerous_sharp = IconData(0xe8ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dangerous</i> &#x2014; material icon named "dangerous" (round).
  static const IconData dangerous_rounded = IconData(0xf68b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dangerous</i> &#x2014; material icon named "dangerous" (outlined).
  static const IconData dangerous_outlined = IconData(0xef9e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dark_mode</i> &#x2014; material icon named "dark mode".
  static const IconData dark_mode = IconData(0xe1b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dark_mode</i> &#x2014; material icon named "dark mode" (sharp).
  static const IconData dark_mode_sharp = IconData(0xe8ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dark_mode</i> &#x2014; material icon named "dark mode" (round).
  static const IconData dark_mode_rounded = IconData(0xf68c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dark_mode</i> &#x2014; material icon named "dark mode" (outlined).
  static const IconData dark_mode_outlined = IconData(0xef9f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dashboard</i> &#x2014; material icon named "dashboard".
  static const IconData dashboard = IconData(0xe1b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dashboard</i> &#x2014; material icon named "dashboard" (sharp).
  static const IconData dashboard_sharp = IconData(0xe8af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dashboard</i> &#x2014; material icon named "dashboard" (round).
  static const IconData dashboard_rounded = IconData(0xf68e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dashboard</i> &#x2014; material icon named "dashboard" (outlined).
  static const IconData dashboard_outlined = IconData(0xefa1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dashboard_customize</i> &#x2014; material icon named "dashboard customize".
  static const IconData dashboard_customize = IconData(0xe1b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dashboard_customize</i> &#x2014; material icon named "dashboard customize" (sharp).
  static const IconData dashboard_customize_sharp = IconData(0xe8ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dashboard_customize</i> &#x2014; material icon named "dashboard customize" (round).
  static const IconData dashboard_customize_rounded = IconData(0xf68d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dashboard_customize</i> &#x2014; material icon named "dashboard customize" (outlined).
  static const IconData dashboard_customize_outlined = IconData(0xefa0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">data_array</i> &#x2014; material icon named "data array".
  static const IconData data_array = IconData(0xf04e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">data_array</i> &#x2014; material icon named "data array" (sharp).
  static const IconData data_array_sharp = IconData(0xf03f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">data_array</i> &#x2014; material icon named "data array" (round).
  static const IconData data_array_rounded = IconData(0xf02fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">data_array</i> &#x2014; material icon named "data array" (outlined).
  static const IconData data_array_outlined = IconData(0xf05de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">data_exploration</i> &#x2014; material icon named "data exploration".
  static const IconData data_exploration = IconData(0xf04e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">data_exploration</i> &#x2014; material icon named "data exploration" (sharp).
  static const IconData data_exploration_sharp = IconData(0xf03f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">data_exploration</i> &#x2014; material icon named "data exploration" (round).
  static const IconData data_exploration_rounded = IconData(0xf02fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">data_exploration</i> &#x2014; material icon named "data exploration" (outlined).
  static const IconData data_exploration_outlined = IconData(0xf05df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">data_object</i> &#x2014; material icon named "data object".
  static const IconData data_object = IconData(0xf04e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">data_object</i> &#x2014; material icon named "data object" (sharp).
  static const IconData data_object_sharp = IconData(0xf03f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">data_object</i> &#x2014; material icon named "data object" (round).
  static const IconData data_object_rounded = IconData(0xf02ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">data_object</i> &#x2014; material icon named "data object" (outlined).
  static const IconData data_object_outlined = IconData(0xf05e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">data_saver_off</i> &#x2014; material icon named "data saver off".
  static const IconData data_saver_off = IconData(0xe1b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">data_saver_off</i> &#x2014; material icon named "data saver off" (sharp).
  static const IconData data_saver_off_sharp = IconData(0xe8b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">data_saver_off</i> &#x2014; material icon named "data saver off" (round).
  static const IconData data_saver_off_rounded = IconData(0xf68f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">data_saver_off</i> &#x2014; material icon named "data saver off" (outlined).
  static const IconData data_saver_off_outlined = IconData(0xefa2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">data_saver_on</i> &#x2014; material icon named "data saver on".
  static const IconData data_saver_on = IconData(0xe1b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">data_saver_on</i> &#x2014; material icon named "data saver on" (sharp).
  static const IconData data_saver_on_sharp = IconData(0xe8b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">data_saver_on</i> &#x2014; material icon named "data saver on" (round).
  static const IconData data_saver_on_rounded = IconData(0xf690, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">data_saver_on</i> &#x2014; material icon named "data saver on" (outlined).
  static const IconData data_saver_on_outlined = IconData(0xefa3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">data_thresholding</i> &#x2014; material icon named "data thresholding".
  static const IconData data_thresholding = IconData(0xf04e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">data_thresholding</i> &#x2014; material icon named "data thresholding" (sharp).
  static const IconData data_thresholding_sharp = IconData(0xf03f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">data_thresholding</i> &#x2014; material icon named "data thresholding" (round).
  static const IconData data_thresholding_rounded = IconData(0xf0300, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">data_thresholding</i> &#x2014; material icon named "data thresholding" (outlined).
  static const IconData data_thresholding_outlined = IconData(0xf05e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">data_usage</i> &#x2014; material icon named "data usage".
  static const IconData data_usage = IconData(0xe1b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">data_usage</i> &#x2014; material icon named "data usage" (sharp).
  static const IconData data_usage_sharp = IconData(0xe8b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">data_usage</i> &#x2014; material icon named "data usage" (round).
  static const IconData data_usage_rounded = IconData(0xf691, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">data_usage</i> &#x2014; material icon named "data usage" (outlined).
  static const IconData data_usage_outlined = IconData(0xefa4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dataset</i> &#x2014; material icon named "dataset".
  static const IconData dataset = IconData(0xf0798, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dataset</i> &#x2014; material icon named "dataset" (sharp).
  static const IconData dataset_sharp = IconData(0xf0741, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dataset</i> &#x2014; material icon named "dataset" (round).
  static const IconData dataset_rounded = IconData(0xf07f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dataset</i> &#x2014; material icon named "dataset" (outlined).
  static const IconData dataset_outlined = IconData(0xf06e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dataset_linked</i> &#x2014; material icon named "dataset linked".
  static const IconData dataset_linked = IconData(0xf0799, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dataset_linked</i> &#x2014; material icon named "dataset linked" (sharp).
  static const IconData dataset_linked_sharp = IconData(0xf0740, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dataset_linked</i> &#x2014; material icon named "dataset linked" (round).
  static const IconData dataset_linked_rounded = IconData(0xf07f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dataset_linked</i> &#x2014; material icon named "dataset linked" (outlined).
  static const IconData dataset_linked_outlined = IconData(0xf06e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">date_range</i> &#x2014; material icon named "date range".
  static const IconData date_range = IconData(0xe1b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">date_range</i> &#x2014; material icon named "date range" (sharp).
  static const IconData date_range_sharp = IconData(0xe8b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">date_range</i> &#x2014; material icon named "date range" (round).
  static const IconData date_range_rounded = IconData(0xf692, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">date_range</i> &#x2014; material icon named "date range" (outlined).
  static const IconData date_range_outlined = IconData(0xefa5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">deblur</i> &#x2014; material icon named "deblur".
  static const IconData deblur = IconData(0xf04e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">deblur</i> &#x2014; material icon named "deblur" (sharp).
  static const IconData deblur_sharp = IconData(0xf03f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">deblur</i> &#x2014; material icon named "deblur" (round).
  static const IconData deblur_rounded = IconData(0xf0301, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">deblur</i> &#x2014; material icon named "deblur" (outlined).
  static const IconData deblur_outlined = IconData(0xf05e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">deck</i> &#x2014; material icon named "deck".
  static const IconData deck = IconData(0xe1b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">deck</i> &#x2014; material icon named "deck" (sharp).
  static const IconData deck_sharp = IconData(0xe8b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">deck</i> &#x2014; material icon named "deck" (round).
  static const IconData deck_rounded = IconData(0xf693, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">deck</i> &#x2014; material icon named "deck" (outlined).
  static const IconData deck_outlined = IconData(0xefa6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dehaze</i> &#x2014; material icon named "dehaze".
  static const IconData dehaze = IconData(0xe1b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dehaze</i> &#x2014; material icon named "dehaze" (sharp).
  static const IconData dehaze_sharp = IconData(0xe8b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dehaze</i> &#x2014; material icon named "dehaze" (round).
  static const IconData dehaze_rounded = IconData(0xf694, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dehaze</i> &#x2014; material icon named "dehaze" (outlined).
  static const IconData dehaze_outlined = IconData(0xefa7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">delete</i> &#x2014; material icon named "delete".
  static const IconData delete = IconData(0xe1b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">delete</i> &#x2014; material icon named "delete" (sharp).
  static const IconData delete_sharp = IconData(0xe8b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">delete</i> &#x2014; material icon named "delete" (round).
  static const IconData delete_rounded = IconData(0xf697, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">delete</i> &#x2014; material icon named "delete" (outlined).
  static const IconData delete_outlined = IconData(0xefaa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">delete_forever</i> &#x2014; material icon named "delete forever".
  static const IconData delete_forever = IconData(0xe1ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">delete_forever</i> &#x2014; material icon named "delete forever" (sharp).
  static const IconData delete_forever_sharp = IconData(0xe8b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">delete_forever</i> &#x2014; material icon named "delete forever" (round).
  static const IconData delete_forever_rounded = IconData(0xf695, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">delete_forever</i> &#x2014; material icon named "delete forever" (outlined).
  static const IconData delete_forever_outlined = IconData(0xefa8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">delete_outline</i> &#x2014; material icon named "delete outline".
  static const IconData delete_outline = IconData(0xe1bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">delete_outline</i> &#x2014; material icon named "delete outline" (sharp).
  static const IconData delete_outline_sharp = IconData(0xe8b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">delete_outline</i> &#x2014; material icon named "delete outline" (round).
  static const IconData delete_outline_rounded = IconData(0xf696, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">delete_outline</i> &#x2014; material icon named "delete outline" (outlined).
  static const IconData delete_outline_outlined = IconData(0xefa9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">delete_sweep</i> &#x2014; material icon named "delete sweep".
  static const IconData delete_sweep = IconData(0xe1bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">delete_sweep</i> &#x2014; material icon named "delete sweep" (sharp).
  static const IconData delete_sweep_sharp = IconData(0xe8b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">delete_sweep</i> &#x2014; material icon named "delete sweep" (round).
  static const IconData delete_sweep_rounded = IconData(0xf698, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">delete_sweep</i> &#x2014; material icon named "delete sweep" (outlined).
  static const IconData delete_sweep_outlined = IconData(0xefab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">delivery_dining</i> &#x2014; material icon named "delivery dining".
  static const IconData delivery_dining = IconData(0xe1bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">delivery_dining</i> &#x2014; material icon named "delivery dining" (sharp).
  static const IconData delivery_dining_sharp = IconData(0xe8ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">delivery_dining</i> &#x2014; material icon named "delivery dining" (round).
  static const IconData delivery_dining_rounded = IconData(0xf699, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">delivery_dining</i> &#x2014; material icon named "delivery dining" (outlined).
  static const IconData delivery_dining_outlined = IconData(0xefac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">density_large</i> &#x2014; material icon named "density large".
  static const IconData density_large = IconData(0xf04e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">density_large</i> &#x2014; material icon named "density large" (sharp).
  static const IconData density_large_sharp = IconData(0xf03f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">density_large</i> &#x2014; material icon named "density large" (round).
  static const IconData density_large_rounded = IconData(0xf0302, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">density_large</i> &#x2014; material icon named "density large" (outlined).
  static const IconData density_large_outlined = IconData(0xf05e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">density_medium</i> &#x2014; material icon named "density medium".
  static const IconData density_medium = IconData(0xf04ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">density_medium</i> &#x2014; material icon named "density medium" (sharp).
  static const IconData density_medium_sharp = IconData(0xf03f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">density_medium</i> &#x2014; material icon named "density medium" (round).
  static const IconData density_medium_rounded = IconData(0xf0303, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">density_medium</i> &#x2014; material icon named "density medium" (outlined).
  static const IconData density_medium_outlined = IconData(0xf05e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">density_small</i> &#x2014; material icon named "density small".
  static const IconData density_small = IconData(0xf04eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">density_small</i> &#x2014; material icon named "density small" (sharp).
  static const IconData density_small_sharp = IconData(0xf03f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">density_small</i> &#x2014; material icon named "density small" (round).
  static const IconData density_small_rounded = IconData(0xf0304, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">density_small</i> &#x2014; material icon named "density small" (outlined).
  static const IconData density_small_outlined = IconData(0xf05e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">departure_board</i> &#x2014; material icon named "departure board".
  static const IconData departure_board = IconData(0xe1be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">departure_board</i> &#x2014; material icon named "departure board" (sharp).
  static const IconData departure_board_sharp = IconData(0xe8bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">departure_board</i> &#x2014; material icon named "departure board" (round).
  static const IconData departure_board_rounded = IconData(0xf69a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">departure_board</i> &#x2014; material icon named "departure board" (outlined).
  static const IconData departure_board_outlined = IconData(0xefad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">description</i> &#x2014; material icon named "description".
  static const IconData description = IconData(0xe1bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">description</i> &#x2014; material icon named "description" (sharp).
  static const IconData description_sharp = IconData(0xe8bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">description</i> &#x2014; material icon named "description" (round).
  static const IconData description_rounded = IconData(0xf69b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">description</i> &#x2014; material icon named "description" (outlined).
  static const IconData description_outlined = IconData(0xefae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">deselect</i> &#x2014; material icon named "deselect".
  static const IconData deselect = IconData(0xf04ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">deselect</i> &#x2014; material icon named "deselect" (sharp).
  static const IconData deselect_sharp = IconData(0xf03f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">deselect</i> &#x2014; material icon named "deselect" (round).
  static const IconData deselect_rounded = IconData(0xf0305, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">deselect</i> &#x2014; material icon named "deselect" (outlined).
  static const IconData deselect_outlined = IconData(0xf05e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">design_services</i> &#x2014; material icon named "design services".
  static const IconData design_services = IconData(0xe1c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">design_services</i> &#x2014; material icon named "design services" (sharp).
  static const IconData design_services_sharp = IconData(0xe8bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">design_services</i> &#x2014; material icon named "design services" (round).
  static const IconData design_services_rounded = IconData(0xf69c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">design_services</i> &#x2014; material icon named "design services" (outlined).
  static const IconData design_services_outlined = IconData(0xefaf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">desk</i> &#x2014; material icon named "desk".
  static const IconData desk = IconData(0xf079a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">desk</i> &#x2014; material icon named "desk" (sharp).
  static const IconData desk_sharp = IconData(0xf0742, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">desk</i> &#x2014; material icon named "desk" (round).
  static const IconData desk_rounded = IconData(0xf07f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">desk</i> &#x2014; material icon named "desk" (outlined).
  static const IconData desk_outlined = IconData(0xf06ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">desktop_access_disabled</i> &#x2014; material icon named "desktop access disabled".
  static const IconData desktop_access_disabled = IconData(0xe1c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">desktop_access_disabled</i> &#x2014; material icon named "desktop access disabled" (sharp).
  static const IconData desktop_access_disabled_sharp = IconData(0xe8be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">desktop_access_disabled</i> &#x2014; material icon named "desktop access disabled" (round).
  static const IconData desktop_access_disabled_rounded = IconData(0xf69d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">desktop_access_disabled</i> &#x2014; material icon named "desktop access disabled" (outlined).
  static const IconData desktop_access_disabled_outlined = IconData(0xefb0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">desktop_mac</i> &#x2014; material icon named "desktop mac".
  static const IconData desktop_mac = IconData(0xe1c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">desktop_mac</i> &#x2014; material icon named "desktop mac" (sharp).
  static const IconData desktop_mac_sharp = IconData(0xe8bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">desktop_mac</i> &#x2014; material icon named "desktop mac" (round).
  static const IconData desktop_mac_rounded = IconData(0xf69e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">desktop_mac</i> &#x2014; material icon named "desktop mac" (outlined).
  static const IconData desktop_mac_outlined = IconData(0xefb1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">desktop_windows</i> &#x2014; material icon named "desktop windows".
  static const IconData desktop_windows = IconData(0xe1c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">desktop_windows</i> &#x2014; material icon named "desktop windows" (sharp).
  static const IconData desktop_windows_sharp = IconData(0xe8c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">desktop_windows</i> &#x2014; material icon named "desktop windows" (round).
  static const IconData desktop_windows_rounded = IconData(0xf69f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">desktop_windows</i> &#x2014; material icon named "desktop windows" (outlined).
  static const IconData desktop_windows_outlined = IconData(0xefb2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">details</i> &#x2014; material icon named "details".
  static const IconData details = IconData(0xe1c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">details</i> &#x2014; material icon named "details" (sharp).
  static const IconData details_sharp = IconData(0xe8c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">details</i> &#x2014; material icon named "details" (round).
  static const IconData details_rounded = IconData(0xf6a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">details</i> &#x2014; material icon named "details" (outlined).
  static const IconData details_outlined = IconData(0xefb3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">developer_board</i> &#x2014; material icon named "developer board".
  static const IconData developer_board = IconData(0xe1c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">developer_board</i> &#x2014; material icon named "developer board" (sharp).
  static const IconData developer_board_sharp = IconData(0xe8c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">developer_board</i> &#x2014; material icon named "developer board" (round).
  static const IconData developer_board_rounded = IconData(0xf6a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">developer_board</i> &#x2014; material icon named "developer board" (outlined).
  static const IconData developer_board_outlined = IconData(0xefb5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">developer_board_off</i> &#x2014; material icon named "developer board off".
  static const IconData developer_board_off = IconData(0xe1c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">developer_board_off</i> &#x2014; material icon named "developer board off" (sharp).
  static const IconData developer_board_off_sharp = IconData(0xe8c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">developer_board_off</i> &#x2014; material icon named "developer board off" (round).
  static const IconData developer_board_off_rounded = IconData(0xf6a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">developer_board_off</i> &#x2014; material icon named "developer board off" (outlined).
  static const IconData developer_board_off_outlined = IconData(0xefb4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">developer_mode</i> &#x2014; material icon named "developer mode".
  static const IconData developer_mode = IconData(0xe1c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">developer_mode</i> &#x2014; material icon named "developer mode" (sharp).
  static const IconData developer_mode_sharp = IconData(0xe8c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">developer_mode</i> &#x2014; material icon named "developer mode" (round).
  static const IconData developer_mode_rounded = IconData(0xf6a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">developer_mode</i> &#x2014; material icon named "developer mode" (outlined).
  static const IconData developer_mode_outlined = IconData(0xefb6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">device_hub</i> &#x2014; material icon named "device hub".
  static const IconData device_hub = IconData(0xe1c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">device_hub</i> &#x2014; material icon named "device hub" (sharp).
  static const IconData device_hub_sharp = IconData(0xe8c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">device_hub</i> &#x2014; material icon named "device hub" (round).
  static const IconData device_hub_rounded = IconData(0xf6a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">device_hub</i> &#x2014; material icon named "device hub" (outlined).
  static const IconData device_hub_outlined = IconData(0xefb7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">device_thermostat</i> &#x2014; material icon named "device thermostat".
  static const IconData device_thermostat = IconData(0xe1c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">device_thermostat</i> &#x2014; material icon named "device thermostat" (sharp).
  static const IconData device_thermostat_sharp = IconData(0xe8c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">device_thermostat</i> &#x2014; material icon named "device thermostat" (round).
  static const IconData device_thermostat_rounded = IconData(0xf6a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">device_thermostat</i> &#x2014; material icon named "device thermostat" (outlined).
  static const IconData device_thermostat_outlined = IconData(0xefb8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">device_unknown</i> &#x2014; material icon named "device unknown".
  static const IconData device_unknown = IconData(0xe1ca, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">device_unknown</i> &#x2014; material icon named "device unknown" (sharp).
  static const IconData device_unknown_sharp = IconData(0xe8c7, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">device_unknown</i> &#x2014; material icon named "device unknown" (round).
  static const IconData device_unknown_rounded = IconData(0xf6a6, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">device_unknown</i> &#x2014; material icon named "device unknown" (outlined).
  static const IconData device_unknown_outlined = IconData(0xefb9, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">devices</i> &#x2014; material icon named "devices".
  static const IconData devices = IconData(0xe1cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">devices</i> &#x2014; material icon named "devices" (sharp).
  static const IconData devices_sharp = IconData(0xe8c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">devices</i> &#x2014; material icon named "devices" (round).
  static const IconData devices_rounded = IconData(0xf6a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">devices</i> &#x2014; material icon named "devices" (outlined).
  static const IconData devices_outlined = IconData(0xefbb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">devices_fold</i> &#x2014; material icon named "devices fold".
  static const IconData devices_fold = IconData(0xf079b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">devices_fold</i> &#x2014; material icon named "devices fold" (sharp).
  static const IconData devices_fold_sharp = IconData(0xf0743, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">devices_fold</i> &#x2014; material icon named "devices fold" (round).
  static const IconData devices_fold_rounded = IconData(0xf07f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">devices_fold</i> &#x2014; material icon named "devices fold" (outlined).
  static const IconData devices_fold_outlined = IconData(0xf06eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">devices_other</i> &#x2014; material icon named "devices other".
  static const IconData devices_other = IconData(0xe1cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">devices_other</i> &#x2014; material icon named "devices other" (sharp).
  static const IconData devices_other_sharp = IconData(0xe8c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">devices_other</i> &#x2014; material icon named "devices other" (round).
  static const IconData devices_other_rounded = IconData(0xf6a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">devices_other</i> &#x2014; material icon named "devices other" (outlined).
  static const IconData devices_other_outlined = IconData(0xefba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dialer_sip</i> &#x2014; material icon named "dialer sip".
  static const IconData dialer_sip = IconData(0xe1cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dialer_sip</i> &#x2014; material icon named "dialer sip" (sharp).
  static const IconData dialer_sip_sharp = IconData(0xe8ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dialer_sip</i> &#x2014; material icon named "dialer sip" (round).
  static const IconData dialer_sip_rounded = IconData(0xf6a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dialer_sip</i> &#x2014; material icon named "dialer sip" (outlined).
  static const IconData dialer_sip_outlined = IconData(0xefbc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dialpad</i> &#x2014; material icon named "dialpad".
  static const IconData dialpad = IconData(0xe1ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dialpad</i> &#x2014; material icon named "dialpad" (sharp).
  static const IconData dialpad_sharp = IconData(0xe8cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dialpad</i> &#x2014; material icon named "dialpad" (round).
  static const IconData dialpad_rounded = IconData(0xf6aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dialpad</i> &#x2014; material icon named "dialpad" (outlined).
  static const IconData dialpad_outlined = IconData(0xefbd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">diamond</i> &#x2014; material icon named "diamond".
  static const IconData diamond = IconData(0xf04ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">diamond</i> &#x2014; material icon named "diamond" (sharp).
  static const IconData diamond_sharp = IconData(0xf03f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">diamond</i> &#x2014; material icon named "diamond" (round).
  static const IconData diamond_rounded = IconData(0xf0306, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">diamond</i> &#x2014; material icon named "diamond" (outlined).
  static const IconData diamond_outlined = IconData(0xf05e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">difference</i> &#x2014; material icon named "difference".
  static const IconData difference = IconData(0xf04ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">difference</i> &#x2014; material icon named "difference" (sharp).
  static const IconData difference_sharp = IconData(0xf03fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">difference</i> &#x2014; material icon named "difference" (round).
  static const IconData difference_rounded = IconData(0xf0307, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">difference</i> &#x2014; material icon named "difference" (outlined).
  static const IconData difference_outlined = IconData(0xf05e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dining</i> &#x2014; material icon named "dining".
  static const IconData dining = IconData(0xe1cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dining</i> &#x2014; material icon named "dining" (sharp).
  static const IconData dining_sharp = IconData(0xe8cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dining</i> &#x2014; material icon named "dining" (round).
  static const IconData dining_rounded = IconData(0xf6ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dining</i> &#x2014; material icon named "dining" (outlined).
  static const IconData dining_outlined = IconData(0xefbe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dinner_dining</i> &#x2014; material icon named "dinner dining".
  static const IconData dinner_dining = IconData(0xe1d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dinner_dining</i> &#x2014; material icon named "dinner dining" (sharp).
  static const IconData dinner_dining_sharp = IconData(0xe8cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dinner_dining</i> &#x2014; material icon named "dinner dining" (round).
  static const IconData dinner_dining_rounded = IconData(0xf6ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dinner_dining</i> &#x2014; material icon named "dinner dining" (outlined).
  static const IconData dinner_dining_outlined = IconData(0xefbf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions</i> &#x2014; material icon named "directions".
  static const IconData directions = IconData(0xe1d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions</i> &#x2014; material icon named "directions" (sharp).
  static const IconData directions_sharp = IconData(0xe8d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions</i> &#x2014; material icon named "directions" (round).
  static const IconData directions_rounded = IconData(0xf6b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions</i> &#x2014; material icon named "directions" (outlined).
  static const IconData directions_outlined = IconData(0xefc8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_bike</i> &#x2014; material icon named "directions bike".
  static const IconData directions_bike = IconData(0xe1d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_bike</i> &#x2014; material icon named "directions bike" (sharp).
  static const IconData directions_bike_sharp = IconData(0xe8ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_bike</i> &#x2014; material icon named "directions bike" (round).
  static const IconData directions_bike_rounded = IconData(0xf6ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_bike</i> &#x2014; material icon named "directions bike" (outlined).
  static const IconData directions_bike_outlined = IconData(0xefc0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_boat</i> &#x2014; material icon named "directions boat".
  static const IconData directions_boat = IconData(0xe1d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_boat</i> &#x2014; material icon named "directions boat" (sharp).
  static const IconData directions_boat_sharp = IconData(0xe8d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_boat</i> &#x2014; material icon named "directions boat" (round).
  static const IconData directions_boat_rounded = IconData(0xf6af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_boat</i> &#x2014; material icon named "directions boat" (outlined).
  static const IconData directions_boat_outlined = IconData(0xefc2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_boat_filled</i> &#x2014; material icon named "directions boat filled".
  static const IconData directions_boat_filled = IconData(0xe1d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_boat_filled</i> &#x2014; material icon named "directions boat filled" (sharp).
  static const IconData directions_boat_filled_sharp = IconData(0xe8cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_boat_filled</i> &#x2014; material icon named "directions boat filled" (round).
  static const IconData directions_boat_filled_rounded = IconData(0xf6ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_boat_filled</i> &#x2014; material icon named "directions boat filled" (outlined).
  static const IconData directions_boat_filled_outlined = IconData(0xefc1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_bus</i> &#x2014; material icon named "directions bus".
  static const IconData directions_bus = IconData(0xe1d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_bus</i> &#x2014; material icon named "directions bus" (sharp).
  static const IconData directions_bus_sharp = IconData(0xe8d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_bus</i> &#x2014; material icon named "directions bus" (round).
  static const IconData directions_bus_rounded = IconData(0xf6b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_bus</i> &#x2014; material icon named "directions bus" (outlined).
  static const IconData directions_bus_outlined = IconData(0xefc4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_bus_filled</i> &#x2014; material icon named "directions bus filled".
  static const IconData directions_bus_filled = IconData(0xe1d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_bus_filled</i> &#x2014; material icon named "directions bus filled" (sharp).
  static const IconData directions_bus_filled_sharp = IconData(0xe8d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_bus_filled</i> &#x2014; material icon named "directions bus filled" (round).
  static const IconData directions_bus_filled_rounded = IconData(0xf6b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_bus_filled</i> &#x2014; material icon named "directions bus filled" (outlined).
  static const IconData directions_bus_filled_outlined = IconData(0xefc3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_car</i> &#x2014; material icon named "directions car".
  static const IconData directions_car = IconData(0xe1d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_car</i> &#x2014; material icon named "directions car" (sharp).
  static const IconData directions_car_sharp = IconData(0xe8d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_car</i> &#x2014; material icon named "directions car" (round).
  static const IconData directions_car_rounded = IconData(0xf6b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_car</i> &#x2014; material icon named "directions car" (outlined).
  static const IconData directions_car_outlined = IconData(0xefc6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_car_filled</i> &#x2014; material icon named "directions car filled".
  static const IconData directions_car_filled = IconData(0xe1d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_car_filled</i> &#x2014; material icon named "directions car filled" (sharp).
  static const IconData directions_car_filled_sharp = IconData(0xe8d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_car_filled</i> &#x2014; material icon named "directions car filled" (round).
  static const IconData directions_car_filled_rounded = IconData(0xf6b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_car_filled</i> &#x2014; material icon named "directions car filled" (outlined).
  static const IconData directions_car_filled_outlined = IconData(0xefc5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_ferry</i> &#x2014; material icon named "directions ferry".
  static const IconData directions_ferry = IconData(0xe1d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_ferry</i> &#x2014; material icon named "directions ferry" (sharp).
  static const IconData directions_ferry_sharp = IconData(0xe8d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_ferry</i> &#x2014; material icon named "directions ferry" (round).
  static const IconData directions_ferry_rounded = IconData(0xf6af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_ferry</i> &#x2014; material icon named "directions ferry" (outlined).
  static const IconData directions_ferry_outlined = IconData(0xefc2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_off</i> &#x2014; material icon named "directions off".
  static const IconData directions_off = IconData(0xe1d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_off</i> &#x2014; material icon named "directions off" (sharp).
  static const IconData directions_off_sharp = IconData(0xe8d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_off</i> &#x2014; material icon named "directions off" (round).
  static const IconData directions_off_rounded = IconData(0xf6b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_off</i> &#x2014; material icon named "directions off" (outlined).
  static const IconData directions_off_outlined = IconData(0xefc7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_railway</i> &#x2014; material icon named "directions railway".
  static const IconData directions_railway = IconData(0xe1da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_railway</i> &#x2014; material icon named "directions railway" (sharp).
  static const IconData directions_railway_sharp = IconData(0xe8d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_railway</i> &#x2014; material icon named "directions railway" (round).
  static const IconData directions_railway_rounded = IconData(0xf6b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_railway</i> &#x2014; material icon named "directions railway" (outlined).
  static const IconData directions_railway_outlined = IconData(0xefca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_railway_filled</i> &#x2014; material icon named "directions railway filled".
  static const IconData directions_railway_filled = IconData(0xe1db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_railway_filled</i> &#x2014; material icon named "directions railway filled" (sharp).
  static const IconData directions_railway_filled_sharp = IconData(0xe8d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_railway_filled</i> &#x2014; material icon named "directions railway filled" (round).
  static const IconData directions_railway_filled_rounded = IconData(0xf6b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_railway_filled</i> &#x2014; material icon named "directions railway filled" (outlined).
  static const IconData directions_railway_filled_outlined = IconData(0xefc9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_run</i> &#x2014; material icon named "directions run".
  static const IconData directions_run = IconData(0xe1dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_run</i> &#x2014; material icon named "directions run" (sharp).
  static const IconData directions_run_sharp = IconData(0xe8d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_run</i> &#x2014; material icon named "directions run" (round).
  static const IconData directions_run_rounded = IconData(0xf6b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_run</i> &#x2014; material icon named "directions run" (outlined).
  static const IconData directions_run_outlined = IconData(0xefcb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_subway</i> &#x2014; material icon named "directions subway".
  static const IconData directions_subway = IconData(0xe1dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_subway</i> &#x2014; material icon named "directions subway" (sharp).
  static const IconData directions_subway_sharp = IconData(0xe8db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_subway</i> &#x2014; material icon named "directions subway" (round).
  static const IconData directions_subway_rounded = IconData(0xf6ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_subway</i> &#x2014; material icon named "directions subway" (outlined).
  static const IconData directions_subway_outlined = IconData(0xefcd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_subway_filled</i> &#x2014; material icon named "directions subway filled".
  static const IconData directions_subway_filled = IconData(0xe1de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_subway_filled</i> &#x2014; material icon named "directions subway filled" (sharp).
  static const IconData directions_subway_filled_sharp = IconData(0xe8da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_subway_filled</i> &#x2014; material icon named "directions subway filled" (round).
  static const IconData directions_subway_filled_rounded = IconData(0xf6b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_subway_filled</i> &#x2014; material icon named "directions subway filled" (outlined).
  static const IconData directions_subway_filled_outlined = IconData(0xefcc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_train</i> &#x2014; material icon named "directions train".
  static const IconData directions_train = IconData(0xe1da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_train</i> &#x2014; material icon named "directions train" (sharp).
  static const IconData directions_train_sharp = IconData(0xe8d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_train</i> &#x2014; material icon named "directions train" (round).
  static const IconData directions_train_rounded = IconData(0xf6b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_train</i> &#x2014; material icon named "directions train" (outlined).
  static const IconData directions_train_outlined = IconData(0xefca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_transit</i> &#x2014; material icon named "directions transit".
  static const IconData directions_transit = IconData(0xe1df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_transit</i> &#x2014; material icon named "directions transit" (sharp).
  static const IconData directions_transit_sharp = IconData(0xe8dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_transit</i> &#x2014; material icon named "directions transit" (round).
  static const IconData directions_transit_rounded = IconData(0xf6bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_transit</i> &#x2014; material icon named "directions transit" (outlined).
  static const IconData directions_transit_outlined = IconData(0xefcf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_transit_filled</i> &#x2014; material icon named "directions transit filled".
  static const IconData directions_transit_filled = IconData(0xe1e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_transit_filled</i> &#x2014; material icon named "directions transit filled" (sharp).
  static const IconData directions_transit_filled_sharp = IconData(0xe8dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_transit_filled</i> &#x2014; material icon named "directions transit filled" (round).
  static const IconData directions_transit_filled_rounded = IconData(0xf6bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_transit_filled</i> &#x2014; material icon named "directions transit filled" (outlined).
  static const IconData directions_transit_filled_outlined = IconData(0xefce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">directions_walk</i> &#x2014; material icon named "directions walk".
  static const IconData directions_walk = IconData(0xe1e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">directions_walk</i> &#x2014; material icon named "directions walk" (sharp).
  static const IconData directions_walk_sharp = IconData(0xe8de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">directions_walk</i> &#x2014; material icon named "directions walk" (round).
  static const IconData directions_walk_rounded = IconData(0xf6bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">directions_walk</i> &#x2014; material icon named "directions walk" (outlined).
  static const IconData directions_walk_outlined = IconData(0xefd0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dirty_lens</i> &#x2014; material icon named "dirty lens".
  static const IconData dirty_lens = IconData(0xe1e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dirty_lens</i> &#x2014; material icon named "dirty lens" (sharp).
  static const IconData dirty_lens_sharp = IconData(0xe8df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dirty_lens</i> &#x2014; material icon named "dirty lens" (round).
  static const IconData dirty_lens_rounded = IconData(0xf6be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dirty_lens</i> &#x2014; material icon named "dirty lens" (outlined).
  static const IconData dirty_lens_outlined = IconData(0xefd1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">disabled_by_default</i> &#x2014; material icon named "disabled by default".
  static const IconData disabled_by_default = IconData(0xe1e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">disabled_by_default</i> &#x2014; material icon named "disabled by default" (sharp).
  static const IconData disabled_by_default_sharp = IconData(0xe8e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">disabled_by_default</i> &#x2014; material icon named "disabled by default" (round).
  static const IconData disabled_by_default_rounded = IconData(0xf6bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">disabled_by_default</i> &#x2014; material icon named "disabled by default" (outlined).
  static const IconData disabled_by_default_outlined = IconData(0xefd2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">disabled_visible</i> &#x2014; material icon named "disabled visible".
  static const IconData disabled_visible = IconData(0xf04ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">disabled_visible</i> &#x2014; material icon named "disabled visible" (sharp).
  static const IconData disabled_visible_sharp = IconData(0xf03fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">disabled_visible</i> &#x2014; material icon named "disabled visible" (round).
  static const IconData disabled_visible_rounded = IconData(0xf0308, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">disabled_visible</i> &#x2014; material icon named "disabled visible" (outlined).
  static const IconData disabled_visible_outlined = IconData(0xf05e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">disc_full</i> &#x2014; material icon named "disc full".
  static const IconData disc_full = IconData(0xe1e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">disc_full</i> &#x2014; material icon named "disc full" (sharp).
  static const IconData disc_full_sharp = IconData(0xe8e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">disc_full</i> &#x2014; material icon named "disc full" (round).
  static const IconData disc_full_rounded = IconData(0xf6c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">disc_full</i> &#x2014; material icon named "disc full" (outlined).
  static const IconData disc_full_outlined = IconData(0xefd3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">discord</i> &#x2014; material icon named "discord".
  static const IconData discord = IconData(0xf04f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">discord</i> &#x2014; material icon named "discord" (sharp).
  static const IconData discord_sharp = IconData(0xf03fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">discord</i> &#x2014; material icon named "discord" (round).
  static const IconData discord_rounded = IconData(0xf0309, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">discord</i> &#x2014; material icon named "discord" (outlined).
  static const IconData discord_outlined = IconData(0xf05ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">discount</i> &#x2014; material icon named "discount".
  static const IconData discount = IconData(0xf06bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">discount</i> &#x2014; material icon named "discount" (sharp).
  static const IconData discount_sharp = IconData(0xf06b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">discount</i> &#x2014; material icon named "discount" (round).
  static const IconData discount_rounded = IconData(0xf06ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">discount</i> &#x2014; material icon named "discount" (outlined).
  static const IconData discount_outlined = IconData(0xf06a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">display_settings</i> &#x2014; material icon named "display settings".
  static const IconData display_settings = IconData(0xf04f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">display_settings</i> &#x2014; material icon named "display settings" (sharp).
  static const IconData display_settings_sharp = IconData(0xf03fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">display_settings</i> &#x2014; material icon named "display settings" (round).
  static const IconData display_settings_rounded = IconData(0xf030a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">display_settings</i> &#x2014; material icon named "display settings" (outlined).
  static const IconData display_settings_outlined = IconData(0xf05eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dnd_forwardslash</i> &#x2014; material icon named "dnd forwardslash".
  static const IconData dnd_forwardslash = IconData(0xe1eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dnd_forwardslash</i> &#x2014; material icon named "dnd forwardslash" (sharp).
  static const IconData dnd_forwardslash_sharp = IconData(0xe8e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dnd_forwardslash</i> &#x2014; material icon named "dnd forwardslash" (round).
  static const IconData dnd_forwardslash_rounded = IconData(0xf6c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dnd_forwardslash</i> &#x2014; material icon named "dnd forwardslash" (outlined).
  static const IconData dnd_forwardslash_outlined = IconData(0xefd9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dns</i> &#x2014; material icon named "dns".
  static const IconData dns = IconData(0xe1e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dns</i> &#x2014; material icon named "dns" (sharp).
  static const IconData dns_sharp = IconData(0xe8e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dns</i> &#x2014; material icon named "dns" (round).
  static const IconData dns_rounded = IconData(0xf6c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dns</i> &#x2014; material icon named "dns" (outlined).
  static const IconData dns_outlined = IconData(0xefd4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">do_disturb</i> &#x2014; material icon named "do disturb".
  static const IconData do_disturb = IconData(0xe1e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">do_disturb</i> &#x2014; material icon named "do disturb" (sharp).
  static const IconData do_disturb_sharp = IconData(0xe8e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">do_disturb</i> &#x2014; material icon named "do disturb" (round).
  static const IconData do_disturb_rounded = IconData(0xf6c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">do_disturb</i> &#x2014; material icon named "do disturb" (outlined).
  static const IconData do_disturb_outlined = IconData(0xefd8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">do_disturb_alt</i> &#x2014; material icon named "do disturb alt".
  static const IconData do_disturb_alt = IconData(0xe1e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">do_disturb_alt</i> &#x2014; material icon named "do disturb alt" (sharp).
  static const IconData do_disturb_alt_sharp = IconData(0xe8e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">do_disturb_alt</i> &#x2014; material icon named "do disturb alt" (round).
  static const IconData do_disturb_alt_rounded = IconData(0xf6c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">do_disturb_alt</i> &#x2014; material icon named "do disturb alt" (outlined).
  static const IconData do_disturb_alt_outlined = IconData(0xefd5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">do_disturb_off</i> &#x2014; material icon named "do disturb off".
  static const IconData do_disturb_off = IconData(0xe1e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">do_disturb_off</i> &#x2014; material icon named "do disturb off" (sharp).
  static const IconData do_disturb_off_sharp = IconData(0xe8e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">do_disturb_off</i> &#x2014; material icon named "do disturb off" (round).
  static const IconData do_disturb_off_rounded = IconData(0xf6c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">do_disturb_off</i> &#x2014; material icon named "do disturb off" (outlined).
  static const IconData do_disturb_off_outlined = IconData(0xefd6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">do_disturb_on</i> &#x2014; material icon named "do disturb on".
  static const IconData do_disturb_on = IconData(0xe1e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">do_disturb_on</i> &#x2014; material icon named "do disturb on" (sharp).
  static const IconData do_disturb_on_sharp = IconData(0xe8e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">do_disturb_on</i> &#x2014; material icon named "do disturb on" (round).
  static const IconData do_disturb_on_rounded = IconData(0xf6c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">do_disturb_on</i> &#x2014; material icon named "do disturb on" (outlined).
  static const IconData do_disturb_on_outlined = IconData(0xefd7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">do_not_disturb</i> &#x2014; material icon named "do not disturb".
  static const IconData do_not_disturb = IconData(0xe1ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">do_not_disturb</i> &#x2014; material icon named "do not disturb" (sharp).
  static const IconData do_not_disturb_sharp = IconData(0xe8eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">do_not_disturb</i> &#x2014; material icon named "do not disturb" (round).
  static const IconData do_not_disturb_rounded = IconData(0xf6ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">do_not_disturb</i> &#x2014; material icon named "do not disturb" (outlined).
  static const IconData do_not_disturb_outlined = IconData(0xefdd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">do_not_disturb_alt</i> &#x2014; material icon named "do not disturb alt".
  static const IconData do_not_disturb_alt = IconData(0xe1eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">do_not_disturb_alt</i> &#x2014; material icon named "do not disturb alt" (sharp).
  static const IconData do_not_disturb_alt_sharp = IconData(0xe8e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">do_not_disturb_alt</i> &#x2014; material icon named "do not disturb alt" (round).
  static const IconData do_not_disturb_alt_rounded = IconData(0xf6c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">do_not_disturb_alt</i> &#x2014; material icon named "do not disturb alt" (outlined).
  static const IconData do_not_disturb_alt_outlined = IconData(0xefd9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">do_not_disturb_off</i> &#x2014; material icon named "do not disturb off".
  static const IconData do_not_disturb_off = IconData(0xe1ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">do_not_disturb_off</i> &#x2014; material icon named "do not disturb off" (sharp).
  static const IconData do_not_disturb_off_sharp = IconData(0xe8e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">do_not_disturb_off</i> &#x2014; material icon named "do not disturb off" (round).
  static const IconData do_not_disturb_off_rounded = IconData(0xf6c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">do_not_disturb_off</i> &#x2014; material icon named "do not disturb off" (outlined).
  static const IconData do_not_disturb_off_outlined = IconData(0xefda, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">do_not_disturb_on</i> &#x2014; material icon named "do not disturb on".
  static const IconData do_not_disturb_on = IconData(0xe1ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">do_not_disturb_on</i> &#x2014; material icon named "do not disturb on" (sharp).
  static const IconData do_not_disturb_on_sharp = IconData(0xe8e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">do_not_disturb_on</i> &#x2014; material icon named "do not disturb on" (round).
  static const IconData do_not_disturb_on_rounded = IconData(0xf6c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">do_not_disturb_on</i> &#x2014; material icon named "do not disturb on" (outlined).
  static const IconData do_not_disturb_on_outlined = IconData(0xefdb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">do_not_disturb_on_total_silence</i> &#x2014; material icon named "do not disturb on total silence".
  static const IconData do_not_disturb_on_total_silence = IconData(0xe1ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">do_not_disturb_on_total_silence</i> &#x2014; material icon named "do not disturb on total silence" (sharp).
  static const IconData do_not_disturb_on_total_silence_sharp = IconData(0xe8ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">do_not_disturb_on_total_silence</i> &#x2014; material icon named "do not disturb on total silence" (round).
  static const IconData do_not_disturb_on_total_silence_rounded = IconData(0xf6c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">do_not_disturb_on_total_silence</i> &#x2014; material icon named "do not disturb on total silence" (outlined).
  static const IconData do_not_disturb_on_total_silence_outlined = IconData(0xefdc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">do_not_step</i> &#x2014; material icon named "do not step".
  static const IconData do_not_step = IconData(0xe1ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">do_not_step</i> &#x2014; material icon named "do not step" (sharp).
  static const IconData do_not_step_sharp = IconData(0xe8ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">do_not_step</i> &#x2014; material icon named "do not step" (round).
  static const IconData do_not_step_rounded = IconData(0xf6cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">do_not_step</i> &#x2014; material icon named "do not step" (outlined).
  static const IconData do_not_step_outlined = IconData(0xefde, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">do_not_touch</i> &#x2014; material icon named "do not touch".
  static const IconData do_not_touch = IconData(0xe1f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">do_not_touch</i> &#x2014; material icon named "do not touch" (sharp).
  static const IconData do_not_touch_sharp = IconData(0xe8ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">do_not_touch</i> &#x2014; material icon named "do not touch" (round).
  static const IconData do_not_touch_rounded = IconData(0xf6cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">do_not_touch</i> &#x2014; material icon named "do not touch" (outlined).
  static const IconData do_not_touch_outlined = IconData(0xefdf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dock</i> &#x2014; material icon named "dock".
  static const IconData dock = IconData(0xe1f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dock</i> &#x2014; material icon named "dock" (sharp).
  static const IconData dock_sharp = IconData(0xe8ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dock</i> &#x2014; material icon named "dock" (round).
  static const IconData dock_rounded = IconData(0xf6cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dock</i> &#x2014; material icon named "dock" (outlined).
  static const IconData dock_outlined = IconData(0xefe0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">document_scanner</i> &#x2014; material icon named "document scanner".
  static const IconData document_scanner = IconData(0xe1f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">document_scanner</i> &#x2014; material icon named "document scanner" (sharp).
  static const IconData document_scanner_sharp = IconData(0xe8ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">document_scanner</i> &#x2014; material icon named "document scanner" (round).
  static const IconData document_scanner_rounded = IconData(0xf6ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">document_scanner</i> &#x2014; material icon named "document scanner" (outlined).
  static const IconData document_scanner_outlined = IconData(0xefe1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">domain</i> &#x2014; material icon named "domain".
  static const IconData domain = IconData(0xe1f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">domain</i> &#x2014; material icon named "domain" (sharp).
  static const IconData domain_sharp = IconData(0xe8f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">domain</i> &#x2014; material icon named "domain" (round).
  static const IconData domain_rounded = IconData(0xf6d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">domain</i> &#x2014; material icon named "domain" (outlined).
  static const IconData domain_outlined = IconData(0xefe3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">domain_add</i> &#x2014; material icon named "domain add".
  static const IconData domain_add = IconData(0xf04f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">domain_add</i> &#x2014; material icon named "domain add" (sharp).
  static const IconData domain_add_sharp = IconData(0xf03fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">domain_add</i> &#x2014; material icon named "domain add" (round).
  static const IconData domain_add_rounded = IconData(0xf030b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">domain_add</i> &#x2014; material icon named "domain add" (outlined).
  static const IconData domain_add_outlined = IconData(0xf05ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">domain_disabled</i> &#x2014; material icon named "domain disabled".
  static const IconData domain_disabled = IconData(0xe1f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">domain_disabled</i> &#x2014; material icon named "domain disabled" (sharp).
  static const IconData domain_disabled_sharp = IconData(0xe8f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">domain_disabled</i> &#x2014; material icon named "domain disabled" (round).
  static const IconData domain_disabled_rounded = IconData(0xf6cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">domain_disabled</i> &#x2014; material icon named "domain disabled" (outlined).
  static const IconData domain_disabled_outlined = IconData(0xefe2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">domain_verification</i> &#x2014; material icon named "domain verification".
  static const IconData domain_verification = IconData(0xe1f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">domain_verification</i> &#x2014; material icon named "domain verification" (sharp).
  static const IconData domain_verification_sharp = IconData(0xe8f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">domain_verification</i> &#x2014; material icon named "domain verification" (round).
  static const IconData domain_verification_rounded = IconData(0xf6d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">domain_verification</i> &#x2014; material icon named "domain verification" (outlined).
  static const IconData domain_verification_outlined = IconData(0xefe4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">done</i> &#x2014; material icon named "done".
  static const IconData done = IconData(0xe1f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">done</i> &#x2014; material icon named "done" (sharp).
  static const IconData done_sharp = IconData(0xe8f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">done</i> &#x2014; material icon named "done" (round).
  static const IconData done_rounded = IconData(0xf6d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">done</i> &#x2014; material icon named "done" (outlined).
  static const IconData done_outlined = IconData(0xefe7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">done_all</i> &#x2014; material icon named "done all".
  static const IconData done_all = IconData(0xe1f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">done_all</i> &#x2014; material icon named "done all" (sharp).
  static const IconData done_all_sharp = IconData(0xe8f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">done_all</i> &#x2014; material icon named "done all" (round).
  static const IconData done_all_rounded = IconData(0xf6d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">done_all</i> &#x2014; material icon named "done all" (outlined).
  static const IconData done_all_outlined = IconData(0xefe5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">done_outline</i> &#x2014; material icon named "done outline".
  static const IconData done_outline = IconData(0xe1f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">done_outline</i> &#x2014; material icon named "done outline" (sharp).
  static const IconData done_outline_sharp = IconData(0xe8f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">done_outline</i> &#x2014; material icon named "done outline" (round).
  static const IconData done_outline_rounded = IconData(0xf6d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">done_outline</i> &#x2014; material icon named "done outline" (outlined).
  static const IconData done_outline_outlined = IconData(0xefe6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">donut_large</i> &#x2014; material icon named "donut large".
  static const IconData donut_large = IconData(0xe1f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">donut_large</i> &#x2014; material icon named "donut large" (sharp).
  static const IconData donut_large_sharp = IconData(0xe8f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">donut_large</i> &#x2014; material icon named "donut large" (round).
  static const IconData donut_large_rounded = IconData(0xf6d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">donut_large</i> &#x2014; material icon named "donut large" (outlined).
  static const IconData donut_large_outlined = IconData(0xefe8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">donut_small</i> &#x2014; material icon named "donut small".
  static const IconData donut_small = IconData(0xe1fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">donut_small</i> &#x2014; material icon named "donut small" (sharp).
  static const IconData donut_small_sharp = IconData(0xe8f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">donut_small</i> &#x2014; material icon named "donut small" (round).
  static const IconData donut_small_rounded = IconData(0xf6d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">donut_small</i> &#x2014; material icon named "donut small" (outlined).
  static const IconData donut_small_outlined = IconData(0xefe9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">door_back</i> &#x2014; material icon named "door back".
  static const IconData door_back_door = IconData(0xe1fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">door_back</i> &#x2014; material icon named "door back" (sharp).
  static const IconData door_back_door_sharp = IconData(0xe8f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">door_back</i> &#x2014; material icon named "door back" (round).
  static const IconData door_back_door_rounded = IconData(0xf6d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">door_back</i> &#x2014; material icon named "door back" (outlined).
  static const IconData door_back_door_outlined = IconData(0xefea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">door_front</i> &#x2014; material icon named "door front".
  static const IconData door_front_door = IconData(0xe1fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">door_front</i> &#x2014; material icon named "door front" (sharp).
  static const IconData door_front_door_sharp = IconData(0xe8f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">door_front</i> &#x2014; material icon named "door front" (round).
  static const IconData door_front_door_rounded = IconData(0xf6d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">door_front</i> &#x2014; material icon named "door front" (outlined).
  static const IconData door_front_door_outlined = IconData(0xefeb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">door_sliding</i> &#x2014; material icon named "door sliding".
  static const IconData door_sliding = IconData(0xe1fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">door_sliding</i> &#x2014; material icon named "door sliding" (sharp).
  static const IconData door_sliding_sharp = IconData(0xe8fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">door_sliding</i> &#x2014; material icon named "door sliding" (round).
  static const IconData door_sliding_rounded = IconData(0xf6d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">door_sliding</i> &#x2014; material icon named "door sliding" (outlined).
  static const IconData door_sliding_outlined = IconData(0xefec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">doorbell</i> &#x2014; material icon named "doorbell".
  static const IconData doorbell = IconData(0xe1fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">doorbell</i> &#x2014; material icon named "doorbell" (sharp).
  static const IconData doorbell_sharp = IconData(0xe8fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">doorbell</i> &#x2014; material icon named "doorbell" (round).
  static const IconData doorbell_rounded = IconData(0xf6da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">doorbell</i> &#x2014; material icon named "doorbell" (outlined).
  static const IconData doorbell_outlined = IconData(0xefed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">double_arrow</i> &#x2014; material icon named "double arrow".
  static const IconData double_arrow = IconData(0xe1ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">double_arrow</i> &#x2014; material icon named "double arrow" (sharp).
  static const IconData double_arrow_sharp = IconData(0xe8fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">double_arrow</i> &#x2014; material icon named "double arrow" (round).
  static const IconData double_arrow_rounded = IconData(0xf6db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">double_arrow</i> &#x2014; material icon named "double arrow" (outlined).
  static const IconData double_arrow_outlined = IconData(0xefee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">downhill_skiing</i> &#x2014; material icon named "downhill skiing".
  static const IconData downhill_skiing = IconData(0xe200, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">downhill_skiing</i> &#x2014; material icon named "downhill skiing" (sharp).
  static const IconData downhill_skiing_sharp = IconData(0xe8fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">downhill_skiing</i> &#x2014; material icon named "downhill skiing" (round).
  static const IconData downhill_skiing_rounded = IconData(0xf6dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">downhill_skiing</i> &#x2014; material icon named "downhill skiing" (outlined).
  static const IconData downhill_skiing_outlined = IconData(0xefef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">download</i> &#x2014; material icon named "download".
  static const IconData download = IconData(0xe201, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">download</i> &#x2014; material icon named "download" (sharp).
  static const IconData download_sharp = IconData(0xe900, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">download</i> &#x2014; material icon named "download" (round).
  static const IconData download_rounded = IconData(0xf6df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">download</i> &#x2014; material icon named "download" (outlined).
  static const IconData download_outlined = IconData(0xeff2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">download_done</i> &#x2014; material icon named "download done".
  static const IconData download_done = IconData(0xe202, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">download_done</i> &#x2014; material icon named "download done" (sharp).
  static const IconData download_done_sharp = IconData(0xe8fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">download_done</i> &#x2014; material icon named "download done" (round).
  static const IconData download_done_rounded = IconData(0xf6dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">download_done</i> &#x2014; material icon named "download done" (outlined).
  static const IconData download_done_outlined = IconData(0xeff0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">download_for_offline</i> &#x2014; material icon named "download for offline".
  static const IconData download_for_offline = IconData(0xe203, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">download_for_offline</i> &#x2014; material icon named "download for offline" (sharp).
  static const IconData download_for_offline_sharp = IconData(0xe8ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">download_for_offline</i> &#x2014; material icon named "download for offline" (round).
  static const IconData download_for_offline_rounded = IconData(0xf6de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">download_for_offline</i> &#x2014; material icon named "download for offline" (outlined).
  static const IconData download_for_offline_outlined = IconData(0xeff1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">downloading</i> &#x2014; material icon named "downloading".
  static const IconData downloading = IconData(0xe204, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">downloading</i> &#x2014; material icon named "downloading" (sharp).
  static const IconData downloading_sharp = IconData(0xe901, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">downloading</i> &#x2014; material icon named "downloading" (round).
  static const IconData downloading_rounded = IconData(0xf6e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">downloading</i> &#x2014; material icon named "downloading" (outlined).
  static const IconData downloading_outlined = IconData(0xeff3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">drafts</i> &#x2014; material icon named "drafts".
  static const IconData drafts = IconData(0xe205, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">drafts</i> &#x2014; material icon named "drafts" (sharp).
  static const IconData drafts_sharp = IconData(0xe902, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">drafts</i> &#x2014; material icon named "drafts" (round).
  static const IconData drafts_rounded = IconData(0xf6e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">drafts</i> &#x2014; material icon named "drafts" (outlined).
  static const IconData drafts_outlined = IconData(0xeff4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">drag_handle</i> &#x2014; material icon named "drag handle".
  static const IconData drag_handle = IconData(0xe206, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">drag_handle</i> &#x2014; material icon named "drag handle" (sharp).
  static const IconData drag_handle_sharp = IconData(0xe903, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">drag_handle</i> &#x2014; material icon named "drag handle" (round).
  static const IconData drag_handle_rounded = IconData(0xf6e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">drag_handle</i> &#x2014; material icon named "drag handle" (outlined).
  static const IconData drag_handle_outlined = IconData(0xeff5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">drag_indicator</i> &#x2014; material icon named "drag indicator".
  static const IconData drag_indicator = IconData(0xe207, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">drag_indicator</i> &#x2014; material icon named "drag indicator" (sharp).
  static const IconData drag_indicator_sharp = IconData(0xe904, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">drag_indicator</i> &#x2014; material icon named "drag indicator" (round).
  static const IconData drag_indicator_rounded = IconData(0xf6e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">drag_indicator</i> &#x2014; material icon named "drag indicator" (outlined).
  static const IconData drag_indicator_outlined = IconData(0xeff6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">draw</i> &#x2014; material icon named "draw".
  static const IconData draw = IconData(0xf04f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">draw</i> &#x2014; material icon named "draw" (sharp).
  static const IconData draw_sharp = IconData(0xf03ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">draw</i> &#x2014; material icon named "draw" (round).
  static const IconData draw_rounded = IconData(0xf030c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">draw</i> &#x2014; material icon named "draw" (outlined).
  static const IconData draw_outlined = IconData(0xf05ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">drive_eta</i> &#x2014; material icon named "drive eta".
  static const IconData drive_eta = IconData(0xe208, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">drive_eta</i> &#x2014; material icon named "drive eta" (sharp).
  static const IconData drive_eta_sharp = IconData(0xe905, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">drive_eta</i> &#x2014; material icon named "drive eta" (round).
  static const IconData drive_eta_rounded = IconData(0xf6e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">drive_eta</i> &#x2014; material icon named "drive eta" (outlined).
  static const IconData drive_eta_outlined = IconData(0xeff7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">drive_file_move</i> &#x2014; material icon named "drive file move".
  static const IconData drive_file_move = IconData(0xe209, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">drive_file_move</i> &#x2014; material icon named "drive file move" (sharp).
  static const IconData drive_file_move_sharp = IconData(0xe906, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">drive_file_move</i> &#x2014; material icon named "drive file move" (round).
  static const IconData drive_file_move_rounded = IconData(0xf6e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">drive_file_move</i> &#x2014; material icon named "drive file move" (outlined).
  static const IconData drive_file_move_outlined = IconData(0xeff8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">drive_file_move_outline</i> &#x2014; material icon named "drive file move outline".
  static const IconData drive_file_move_outline = IconData(0xe20a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">drive_file_move_rtl</i> &#x2014; material icon named "drive file move rtl".
  static const IconData drive_file_move_rtl = IconData(0xf04f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">drive_file_move_rtl</i> &#x2014; material icon named "drive file move rtl" (sharp).
  static const IconData drive_file_move_rtl_sharp = IconData(0xf0400, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">drive_file_move_rtl</i> &#x2014; material icon named "drive file move rtl" (round).
  static const IconData drive_file_move_rtl_rounded = IconData(0xf030d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">drive_file_move_rtl</i> &#x2014; material icon named "drive file move rtl" (outlined).
  static const IconData drive_file_move_rtl_outlined = IconData(0xf05ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">drive_file_rename_outline</i> &#x2014; material icon named "drive file rename outline".
  static const IconData drive_file_rename_outline = IconData(0xe20b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">drive_file_rename_outline</i> &#x2014; material icon named "drive file rename outline" (sharp).
  static const IconData drive_file_rename_outline_sharp = IconData(0xe907, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">drive_file_rename_outline</i> &#x2014; material icon named "drive file rename outline" (round).
  static const IconData drive_file_rename_outline_rounded = IconData(0xf6e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">drive_file_rename_outline</i> &#x2014; material icon named "drive file rename outline" (outlined).
  static const IconData drive_file_rename_outline_outlined = IconData(0xeff9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">drive_folder_upload</i> &#x2014; material icon named "drive folder upload".
  static const IconData drive_folder_upload = IconData(0xe20c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">drive_folder_upload</i> &#x2014; material icon named "drive folder upload" (sharp).
  static const IconData drive_folder_upload_sharp = IconData(0xe908, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">drive_folder_upload</i> &#x2014; material icon named "drive folder upload" (round).
  static const IconData drive_folder_upload_rounded = IconData(0xf6e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">drive_folder_upload</i> &#x2014; material icon named "drive folder upload" (outlined).
  static const IconData drive_folder_upload_outlined = IconData(0xeffa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dry</i> &#x2014; material icon named "dry".
  static const IconData dry = IconData(0xe20d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dry</i> &#x2014; material icon named "dry" (sharp).
  static const IconData dry_sharp = IconData(0xe90a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dry</i> &#x2014; material icon named "dry" (round).
  static const IconData dry_rounded = IconData(0xf6e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dry</i> &#x2014; material icon named "dry" (outlined).
  static const IconData dry_outlined = IconData(0xeffc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dry_cleaning</i> &#x2014; material icon named "dry cleaning".
  static const IconData dry_cleaning = IconData(0xe20e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dry_cleaning</i> &#x2014; material icon named "dry cleaning" (sharp).
  static const IconData dry_cleaning_sharp = IconData(0xe909, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dry_cleaning</i> &#x2014; material icon named "dry cleaning" (round).
  static const IconData dry_cleaning_rounded = IconData(0xf6e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dry_cleaning</i> &#x2014; material icon named "dry cleaning" (outlined).
  static const IconData dry_cleaning_outlined = IconData(0xeffb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">duo</i> &#x2014; material icon named "duo".
  static const IconData duo = IconData(0xe20f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">duo</i> &#x2014; material icon named "duo" (sharp).
  static const IconData duo_sharp = IconData(0xe90b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">duo</i> &#x2014; material icon named "duo" (round).
  static const IconData duo_rounded = IconData(0xf6ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">duo</i> &#x2014; material icon named "duo" (outlined).
  static const IconData duo_outlined = IconData(0xeffd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dvr</i> &#x2014; material icon named "dvr".
  static const IconData dvr = IconData(0xe210, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">dvr</i> &#x2014; material icon named "dvr" (sharp).
  static const IconData dvr_sharp = IconData(0xe90c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">dvr</i> &#x2014; material icon named "dvr" (round).
  static const IconData dvr_rounded = IconData(0xf6eb, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">dvr</i> &#x2014; material icon named "dvr" (outlined).
  static const IconData dvr_outlined = IconData(0xeffe, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">dynamic_feed</i> &#x2014; material icon named "dynamic feed".
  static const IconData dynamic_feed = IconData(0xe211, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dynamic_feed</i> &#x2014; material icon named "dynamic feed" (sharp).
  static const IconData dynamic_feed_sharp = IconData(0xe90d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dynamic_feed</i> &#x2014; material icon named "dynamic feed" (round).
  static const IconData dynamic_feed_rounded = IconData(0xf6ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dynamic_feed</i> &#x2014; material icon named "dynamic feed" (outlined).
  static const IconData dynamic_feed_outlined = IconData(0xefff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">dynamic_form</i> &#x2014; material icon named "dynamic form".
  static const IconData dynamic_form = IconData(0xe212, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">dynamic_form</i> &#x2014; material icon named "dynamic form" (sharp).
  static const IconData dynamic_form_sharp = IconData(0xe90e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">dynamic_form</i> &#x2014; material icon named "dynamic form" (round).
  static const IconData dynamic_form_rounded = IconData(0xf6ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">dynamic_form</i> &#x2014; material icon named "dynamic form" (outlined).
  static const IconData dynamic_form_outlined = IconData(0xf000, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">e_mobiledata</i> &#x2014; material icon named "e mobiledata".
  static const IconData e_mobiledata = IconData(0xe213, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">e_mobiledata</i> &#x2014; material icon named "e mobiledata" (sharp).
  static const IconData e_mobiledata_sharp = IconData(0xe90f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">e_mobiledata</i> &#x2014; material icon named "e mobiledata" (round).
  static const IconData e_mobiledata_rounded = IconData(0xf6ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">e_mobiledata</i> &#x2014; material icon named "e mobiledata" (outlined).
  static const IconData e_mobiledata_outlined = IconData(0xf001, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">earbuds</i> &#x2014; material icon named "earbuds".
  static const IconData earbuds = IconData(0xe214, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">earbuds</i> &#x2014; material icon named "earbuds" (sharp).
  static const IconData earbuds_sharp = IconData(0xe911, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">earbuds</i> &#x2014; material icon named "earbuds" (round).
  static const IconData earbuds_rounded = IconData(0xf6f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">earbuds</i> &#x2014; material icon named "earbuds" (outlined).
  static const IconData earbuds_outlined = IconData(0xf003, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">earbuds_battery</i> &#x2014; material icon named "earbuds battery".
  static const IconData earbuds_battery = IconData(0xe215, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">earbuds_battery</i> &#x2014; material icon named "earbuds battery" (sharp).
  static const IconData earbuds_battery_sharp = IconData(0xe910, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">earbuds_battery</i> &#x2014; material icon named "earbuds battery" (round).
  static const IconData earbuds_battery_rounded = IconData(0xf6ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">earbuds_battery</i> &#x2014; material icon named "earbuds battery" (outlined).
  static const IconData earbuds_battery_outlined = IconData(0xf002, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">east</i> &#x2014; material icon named "east".
  static const IconData east = IconData(0xe216, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">east</i> &#x2014; material icon named "east" (sharp).
  static const IconData east_sharp = IconData(0xe912, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">east</i> &#x2014; material icon named "east" (round).
  static const IconData east_rounded = IconData(0xf6f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">east</i> &#x2014; material icon named "east" (outlined).
  static const IconData east_outlined = IconData(0xf004, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">eco</i> &#x2014; material icon named "eco".
  static const IconData eco = IconData(0xe217, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">eco</i> &#x2014; material icon named "eco" (sharp).
  static const IconData eco_sharp = IconData(0xe913, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">eco</i> &#x2014; material icon named "eco" (round).
  static const IconData eco_rounded = IconData(0xf6f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">eco</i> &#x2014; material icon named "eco" (outlined).
  static const IconData eco_outlined = IconData(0xf005, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">edgesensor_high</i> &#x2014; material icon named "edgesensor high".
  static const IconData edgesensor_high = IconData(0xe218, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">edgesensor_high</i> &#x2014; material icon named "edgesensor high" (sharp).
  static const IconData edgesensor_high_sharp = IconData(0xe914, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">edgesensor_high</i> &#x2014; material icon named "edgesensor high" (round).
  static const IconData edgesensor_high_rounded = IconData(0xf6f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">edgesensor_high</i> &#x2014; material icon named "edgesensor high" (outlined).
  static const IconData edgesensor_high_outlined = IconData(0xf006, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">edgesensor_low</i> &#x2014; material icon named "edgesensor low".
  static const IconData edgesensor_low = IconData(0xe219, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">edgesensor_low</i> &#x2014; material icon named "edgesensor low" (sharp).
  static const IconData edgesensor_low_sharp = IconData(0xe915, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">edgesensor_low</i> &#x2014; material icon named "edgesensor low" (round).
  static const IconData edgesensor_low_rounded = IconData(0xf6f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">edgesensor_low</i> &#x2014; material icon named "edgesensor low" (outlined).
  static const IconData edgesensor_low_outlined = IconData(0xf007, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">edit</i> &#x2014; material icon named "edit".
  static const IconData edit = IconData(0xe21a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">edit</i> &#x2014; material icon named "edit" (sharp).
  static const IconData edit_sharp = IconData(0xe91c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">edit</i> &#x2014; material icon named "edit" (round).
  static const IconData edit_rounded = IconData(0xf6fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">edit</i> &#x2014; material icon named "edit" (outlined).
  static const IconData edit_outlined = IconData(0xf00d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">edit_attributes</i> &#x2014; material icon named "edit attributes".
  static const IconData edit_attributes = IconData(0xe21b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">edit_attributes</i> &#x2014; material icon named "edit attributes" (sharp).
  static const IconData edit_attributes_sharp = IconData(0xe916, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">edit_attributes</i> &#x2014; material icon named "edit attributes" (round).
  static const IconData edit_attributes_rounded = IconData(0xf6f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">edit_attributes</i> &#x2014; material icon named "edit attributes" (outlined).
  static const IconData edit_attributes_outlined = IconData(0xf008, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">edit_calendar</i> &#x2014; material icon named "edit calendar".
  static const IconData edit_calendar = IconData(0xf04f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">edit_calendar</i> &#x2014; material icon named "edit calendar" (sharp).
  static const IconData edit_calendar_sharp = IconData(0xf0401, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">edit_calendar</i> &#x2014; material icon named "edit calendar" (round).
  static const IconData edit_calendar_rounded = IconData(0xf030e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">edit_calendar</i> &#x2014; material icon named "edit calendar" (outlined).
  static const IconData edit_calendar_outlined = IconData(0xf05ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">edit_location</i> &#x2014; material icon named "edit location".
  static const IconData edit_location = IconData(0xe21c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">edit_location</i> &#x2014; material icon named "edit location" (sharp).
  static const IconData edit_location_sharp = IconData(0xe918, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">edit_location</i> &#x2014; material icon named "edit location" (round).
  static const IconData edit_location_rounded = IconData(0xf6f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">edit_location</i> &#x2014; material icon named "edit location" (outlined).
  static const IconData edit_location_outlined = IconData(0xf00a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">edit_location_alt</i> &#x2014; material icon named "edit location alt".
  static const IconData edit_location_alt = IconData(0xe21d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">edit_location_alt</i> &#x2014; material icon named "edit location alt" (sharp).
  static const IconData edit_location_alt_sharp = IconData(0xe917, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">edit_location_alt</i> &#x2014; material icon named "edit location alt" (round).
  static const IconData edit_location_alt_rounded = IconData(0xf6f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">edit_location_alt</i> &#x2014; material icon named "edit location alt" (outlined).
  static const IconData edit_location_alt_outlined = IconData(0xf009, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">edit_note</i> &#x2014; material icon named "edit note".
  static const IconData edit_note = IconData(0xf04f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">edit_note</i> &#x2014; material icon named "edit note" (sharp).
  static const IconData edit_note_sharp = IconData(0xf0402, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">edit_note</i> &#x2014; material icon named "edit note" (round).
  static const IconData edit_note_rounded = IconData(0xf030f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">edit_note</i> &#x2014; material icon named "edit note" (outlined).
  static const IconData edit_note_outlined = IconData(0xf05f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">edit_notifications</i> &#x2014; material icon named "edit notifications".
  static const IconData edit_notifications = IconData(0xe21e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">edit_notifications</i> &#x2014; material icon named "edit notifications" (sharp).
  static const IconData edit_notifications_sharp = IconData(0xe919, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">edit_notifications</i> &#x2014; material icon named "edit notifications" (round).
  static const IconData edit_notifications_rounded = IconData(0xf6f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">edit_notifications</i> &#x2014; material icon named "edit notifications" (outlined).
  static const IconData edit_notifications_outlined = IconData(0xf00b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">edit_off</i> &#x2014; material icon named "edit off".
  static const IconData edit_off = IconData(0xe21f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">edit_off</i> &#x2014; material icon named "edit off" (sharp).
  static const IconData edit_off_sharp = IconData(0xe91a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">edit_off</i> &#x2014; material icon named "edit off" (round).
  static const IconData edit_off_rounded = IconData(0xf6f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">edit_off</i> &#x2014; material icon named "edit off" (outlined).
  static const IconData edit_off_outlined = IconData(0xf00c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">edit_road</i> &#x2014; material icon named "edit road".
  static const IconData edit_road = IconData(0xe220, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">edit_road</i> &#x2014; material icon named "edit road" (sharp).
  static const IconData edit_road_sharp = IconData(0xe91b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">edit_road</i> &#x2014; material icon named "edit road" (round).
  static const IconData edit_road_rounded = IconData(0xf6fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">edit_road</i> &#x2014; material icon named "edit road" (outlined).
  static const IconData edit_road_outlined = IconData(0xf00e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">egg</i> &#x2014; material icon named "egg".
  static const IconData egg = IconData(0xf04f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">egg</i> &#x2014; material icon named "egg" (sharp).
  static const IconData egg_sharp = IconData(0xf0404, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">egg</i> &#x2014; material icon named "egg" (round).
  static const IconData egg_rounded = IconData(0xf0311, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">egg</i> &#x2014; material icon named "egg" (outlined).
  static const IconData egg_outlined = IconData(0xf05f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">egg_alt</i> &#x2014; material icon named "egg alt".
  static const IconData egg_alt = IconData(0xf04f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">egg_alt</i> &#x2014; material icon named "egg alt" (sharp).
  static const IconData egg_alt_sharp = IconData(0xf0403, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">egg_alt</i> &#x2014; material icon named "egg alt" (round).
  static const IconData egg_alt_rounded = IconData(0xf0310, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">egg_alt</i> &#x2014; material icon named "egg alt" (outlined).
  static const IconData egg_alt_outlined = IconData(0xf05f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">eject</i> &#x2014; material icon named "eject".
  static const IconData eject = IconData(0xe221, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">eject</i> &#x2014; material icon named "eject" (sharp).
  static const IconData eject_sharp = IconData(0xe91d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">eject</i> &#x2014; material icon named "eject" (round).
  static const IconData eject_rounded = IconData(0xf6fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">eject</i> &#x2014; material icon named "eject" (outlined).
  static const IconData eject_outlined = IconData(0xf00f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">elderly</i> &#x2014; material icon named "elderly".
  static const IconData elderly = IconData(0xe222, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">elderly</i> &#x2014; material icon named "elderly" (sharp).
  static const IconData elderly_sharp = IconData(0xe91e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">elderly</i> &#x2014; material icon named "elderly" (round).
  static const IconData elderly_rounded = IconData(0xf6fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">elderly</i> &#x2014; material icon named "elderly" (outlined).
  static const IconData elderly_outlined = IconData(0xf010, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">elderly_woman</i> &#x2014; material icon named "elderly woman".
  static const IconData elderly_woman = IconData(0xf04f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">elderly_woman</i> &#x2014; material icon named "elderly woman" (sharp).
  static const IconData elderly_woman_sharp = IconData(0xf0405, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">elderly_woman</i> &#x2014; material icon named "elderly woman" (round).
  static const IconData elderly_woman_rounded = IconData(0xf0312, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">elderly_woman</i> &#x2014; material icon named "elderly woman" (outlined).
  static const IconData elderly_woman_outlined = IconData(0xf05f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">electric_bike</i> &#x2014; material icon named "electric bike".
  static const IconData electric_bike = IconData(0xe223, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">electric_bike</i> &#x2014; material icon named "electric bike" (sharp).
  static const IconData electric_bike_sharp = IconData(0xe91f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">electric_bike</i> &#x2014; material icon named "electric bike" (round).
  static const IconData electric_bike_rounded = IconData(0xf6fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">electric_bike</i> &#x2014; material icon named "electric bike" (outlined).
  static const IconData electric_bike_outlined = IconData(0xf011, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">electric_bolt</i> &#x2014; material icon named "electric bolt".
  static const IconData electric_bolt = IconData(0xf079c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">electric_bolt</i> &#x2014; material icon named "electric bolt" (sharp).
  static const IconData electric_bolt_sharp = IconData(0xf0744, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">electric_bolt</i> &#x2014; material icon named "electric bolt" (round).
  static const IconData electric_bolt_rounded = IconData(0xf07f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">electric_bolt</i> &#x2014; material icon named "electric bolt" (outlined).
  static const IconData electric_bolt_outlined = IconData(0xf06ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">electric_car</i> &#x2014; material icon named "electric car".
  static const IconData electric_car = IconData(0xe224, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">electric_car</i> &#x2014; material icon named "electric car" (sharp).
  static const IconData electric_car_sharp = IconData(0xe920, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">electric_car</i> &#x2014; material icon named "electric car" (round).
  static const IconData electric_car_rounded = IconData(0xf6ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">electric_car</i> &#x2014; material icon named "electric car" (outlined).
  static const IconData electric_car_outlined = IconData(0xf012, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">electric_meter</i> &#x2014; material icon named "electric meter".
  static const IconData electric_meter = IconData(0xf079d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">electric_meter</i> &#x2014; material icon named "electric meter" (sharp).
  static const IconData electric_meter_sharp = IconData(0xf0745, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">electric_meter</i> &#x2014; material icon named "electric meter" (round).
  static const IconData electric_meter_rounded = IconData(0xf07f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">electric_meter</i> &#x2014; material icon named "electric meter" (outlined).
  static const IconData electric_meter_outlined = IconData(0xf06ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">electric_moped</i> &#x2014; material icon named "electric moped".
  static const IconData electric_moped = IconData(0xe225, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">electric_moped</i> &#x2014; material icon named "electric moped" (sharp).
  static const IconData electric_moped_sharp = IconData(0xe921, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">electric_moped</i> &#x2014; material icon named "electric moped" (round).
  static const IconData electric_moped_rounded = IconData(0xf700, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">electric_moped</i> &#x2014; material icon named "electric moped" (outlined).
  static const IconData electric_moped_outlined = IconData(0xf013, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">electric_rickshaw</i> &#x2014; material icon named "electric rickshaw".
  static const IconData electric_rickshaw = IconData(0xe226, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">electric_rickshaw</i> &#x2014; material icon named "electric rickshaw" (sharp).
  static const IconData electric_rickshaw_sharp = IconData(0xe922, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">electric_rickshaw</i> &#x2014; material icon named "electric rickshaw" (round).
  static const IconData electric_rickshaw_rounded = IconData(0xf701, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">electric_rickshaw</i> &#x2014; material icon named "electric rickshaw" (outlined).
  static const IconData electric_rickshaw_outlined = IconData(0xf014, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">electric_scooter</i> &#x2014; material icon named "electric scooter".
  static const IconData electric_scooter = IconData(0xe227, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">electric_scooter</i> &#x2014; material icon named "electric scooter" (sharp).
  static const IconData electric_scooter_sharp = IconData(0xe923, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">electric_scooter</i> &#x2014; material icon named "electric scooter" (round).
  static const IconData electric_scooter_rounded = IconData(0xf702, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">electric_scooter</i> &#x2014; material icon named "electric scooter" (outlined).
  static const IconData electric_scooter_outlined = IconData(0xf015, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">electrical_services</i> &#x2014; material icon named "electrical services".
  static const IconData electrical_services = IconData(0xe228, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">electrical_services</i> &#x2014; material icon named "electrical services" (sharp).
  static const IconData electrical_services_sharp = IconData(0xe924, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">electrical_services</i> &#x2014; material icon named "electrical services" (round).
  static const IconData electrical_services_rounded = IconData(0xf703, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">electrical_services</i> &#x2014; material icon named "electrical services" (outlined).
  static const IconData electrical_services_outlined = IconData(0xf016, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">elevator</i> &#x2014; material icon named "elevator".
  static const IconData elevator = IconData(0xe229, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">elevator</i> &#x2014; material icon named "elevator" (sharp).
  static const IconData elevator_sharp = IconData(0xe925, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">elevator</i> &#x2014; material icon named "elevator" (round).
  static const IconData elevator_rounded = IconData(0xf704, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">elevator</i> &#x2014; material icon named "elevator" (outlined).
  static const IconData elevator_outlined = IconData(0xf017, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">email</i> &#x2014; material icon named "email".
  static const IconData email = IconData(0xe22a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">email</i> &#x2014; material icon named "email" (sharp).
  static const IconData email_sharp = IconData(0xe926, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">email</i> &#x2014; material icon named "email" (round).
  static const IconData email_rounded = IconData(0xf705, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">email</i> &#x2014; material icon named "email" (outlined).
  static const IconData email_outlined = IconData(0xf018, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">emergency</i> &#x2014; material icon named "emergency".
  static const IconData emergency = IconData(0xf04fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">emergency</i> &#x2014; material icon named "emergency" (sharp).
  static const IconData emergency_sharp = IconData(0xf0406, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">emergency</i> &#x2014; material icon named "emergency" (round).
  static const IconData emergency_rounded = IconData(0xf0313, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">emergency</i> &#x2014; material icon named "emergency" (outlined).
  static const IconData emergency_outlined = IconData(0xf05f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">emergency_recording</i> &#x2014; material icon named "emergency recording".
  static const IconData emergency_recording = IconData(0xf079e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">emergency_recording</i> &#x2014; material icon named "emergency recording" (sharp).
  static const IconData emergency_recording_sharp = IconData(0xf0746, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">emergency_recording</i> &#x2014; material icon named "emergency recording" (round).
  static const IconData emergency_recording_rounded = IconData(0xf07f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">emergency_recording</i> &#x2014; material icon named "emergency recording" (outlined).
  static const IconData emergency_recording_outlined = IconData(0xf06ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">emergency_share</i> &#x2014; material icon named "emergency share".
  static const IconData emergency_share = IconData(0xf079f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">emergency_share</i> &#x2014; material icon named "emergency share" (sharp).
  static const IconData emergency_share_sharp = IconData(0xf0747, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">emergency_share</i> &#x2014; material icon named "emergency share" (round).
  static const IconData emergency_share_rounded = IconData(0xf07f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">emergency_share</i> &#x2014; material icon named "emergency share" (outlined).
  static const IconData emergency_share_outlined = IconData(0xf06ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">emoji_emotions</i> &#x2014; material icon named "emoji emotions".
  static const IconData emoji_emotions = IconData(0xe22b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">emoji_emotions</i> &#x2014; material icon named "emoji emotions" (sharp).
  static const IconData emoji_emotions_sharp = IconData(0xe927, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">emoji_emotions</i> &#x2014; material icon named "emoji emotions" (round).
  static const IconData emoji_emotions_rounded = IconData(0xf706, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">emoji_emotions</i> &#x2014; material icon named "emoji emotions" (outlined).
  static const IconData emoji_emotions_outlined = IconData(0xf019, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">emoji_events</i> &#x2014; material icon named "emoji events".
  static const IconData emoji_events = IconData(0xe22c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">emoji_events</i> &#x2014; material icon named "emoji events" (sharp).
  static const IconData emoji_events_sharp = IconData(0xe928, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">emoji_events</i> &#x2014; material icon named "emoji events" (round).
  static const IconData emoji_events_rounded = IconData(0xf707, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">emoji_events</i> &#x2014; material icon named "emoji events" (outlined).
  static const IconData emoji_events_outlined = IconData(0xf01a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">emoji_flags</i> &#x2014; material icon named "emoji flags".
  static const IconData emoji_flags = IconData(0xe22d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">emoji_flags</i> &#x2014; material icon named "emoji flags" (sharp).
  static const IconData emoji_flags_sharp = IconData(0xe929, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">emoji_flags</i> &#x2014; material icon named "emoji flags" (round).
  static const IconData emoji_flags_rounded = IconData(0xf708, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">emoji_flags</i> &#x2014; material icon named "emoji flags" (outlined).
  static const IconData emoji_flags_outlined = IconData(0xf01b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">emoji_food_beverage</i> &#x2014; material icon named "emoji food beverage".
  static const IconData emoji_food_beverage = IconData(0xe22e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">emoji_food_beverage</i> &#x2014; material icon named "emoji food beverage" (sharp).
  static const IconData emoji_food_beverage_sharp = IconData(0xe92a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">emoji_food_beverage</i> &#x2014; material icon named "emoji food beverage" (round).
  static const IconData emoji_food_beverage_rounded = IconData(0xf709, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">emoji_food_beverage</i> &#x2014; material icon named "emoji food beverage" (outlined).
  static const IconData emoji_food_beverage_outlined = IconData(0xf01c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">emoji_nature</i> &#x2014; material icon named "emoji nature".
  static const IconData emoji_nature = IconData(0xe22f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">emoji_nature</i> &#x2014; material icon named "emoji nature" (sharp).
  static const IconData emoji_nature_sharp = IconData(0xe92b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">emoji_nature</i> &#x2014; material icon named "emoji nature" (round).
  static const IconData emoji_nature_rounded = IconData(0xf70a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">emoji_nature</i> &#x2014; material icon named "emoji nature" (outlined).
  static const IconData emoji_nature_outlined = IconData(0xf01d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">emoji_objects</i> &#x2014; material icon named "emoji objects".
  static const IconData emoji_objects = IconData(0xe230, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">emoji_objects</i> &#x2014; material icon named "emoji objects" (sharp).
  static const IconData emoji_objects_sharp = IconData(0xe92c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">emoji_objects</i> &#x2014; material icon named "emoji objects" (round).
  static const IconData emoji_objects_rounded = IconData(0xf70b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">emoji_objects</i> &#x2014; material icon named "emoji objects" (outlined).
  static const IconData emoji_objects_outlined = IconData(0xf01e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">emoji_people</i> &#x2014; material icon named "emoji people".
  static const IconData emoji_people = IconData(0xe231, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">emoji_people</i> &#x2014; material icon named "emoji people" (sharp).
  static const IconData emoji_people_sharp = IconData(0xe92d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">emoji_people</i> &#x2014; material icon named "emoji people" (round).
  static const IconData emoji_people_rounded = IconData(0xf70c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">emoji_people</i> &#x2014; material icon named "emoji people" (outlined).
  static const IconData emoji_people_outlined = IconData(0xf01f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">emoji_symbols</i> &#x2014; material icon named "emoji symbols".
  static const IconData emoji_symbols = IconData(0xe232, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">emoji_symbols</i> &#x2014; material icon named "emoji symbols" (sharp).
  static const IconData emoji_symbols_sharp = IconData(0xe92e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">emoji_symbols</i> &#x2014; material icon named "emoji symbols" (round).
  static const IconData emoji_symbols_rounded = IconData(0xf70d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">emoji_symbols</i> &#x2014; material icon named "emoji symbols" (outlined).
  static const IconData emoji_symbols_outlined = IconData(0xf020, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">emoji_transportation</i> &#x2014; material icon named "emoji transportation".
  static const IconData emoji_transportation = IconData(0xe233, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">emoji_transportation</i> &#x2014; material icon named "emoji transportation" (sharp).
  static const IconData emoji_transportation_sharp = IconData(0xe92f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">emoji_transportation</i> &#x2014; material icon named "emoji transportation" (round).
  static const IconData emoji_transportation_rounded = IconData(0xf70e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">emoji_transportation</i> &#x2014; material icon named "emoji transportation" (outlined).
  static const IconData emoji_transportation_outlined = IconData(0xf021, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">energy_savings_leaf</i> &#x2014; material icon named "energy savings leaf".
  static const IconData energy_savings_leaf = IconData(0xf07a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">energy_savings_leaf</i> &#x2014; material icon named "energy savings leaf" (sharp).
  static const IconData energy_savings_leaf_sharp = IconData(0xf0748, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">energy_savings_leaf</i> &#x2014; material icon named "energy savings leaf" (round).
  static const IconData energy_savings_leaf_rounded = IconData(0xf07f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">energy_savings_leaf</i> &#x2014; material icon named "energy savings leaf" (outlined).
  static const IconData energy_savings_leaf_outlined = IconData(0xf06f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">engineering</i> &#x2014; material icon named "engineering".
  static const IconData engineering = IconData(0xe234, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">engineering</i> &#x2014; material icon named "engineering" (sharp).
  static const IconData engineering_sharp = IconData(0xe930, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">engineering</i> &#x2014; material icon named "engineering" (round).
  static const IconData engineering_rounded = IconData(0xf70f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">engineering</i> &#x2014; material icon named "engineering" (outlined).
  static const IconData engineering_outlined = IconData(0xf022, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">enhance_photo_translate</i> &#x2014; material icon named "enhance photo translate".
  static const IconData enhance_photo_translate = IconData(0xe131, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">enhance_photo_translate</i> &#x2014; material icon named "enhance photo translate" (sharp).
  static const IconData enhance_photo_translate_sharp = IconData(0xe82d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">enhance_photo_translate</i> &#x2014; material icon named "enhance photo translate" (round).
  static const IconData enhance_photo_translate_rounded = IconData(0xf60c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">enhance_photo_translate</i> &#x2014; material icon named "enhance photo translate" (outlined).
  static const IconData enhance_photo_translate_outlined = IconData(0xef1f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">enhanced_encryption</i> &#x2014; material icon named "enhanced encryption".
  static const IconData enhanced_encryption = IconData(0xe235, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">enhanced_encryption</i> &#x2014; material icon named "enhanced encryption" (sharp).
  static const IconData enhanced_encryption_sharp = IconData(0xe931, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">enhanced_encryption</i> &#x2014; material icon named "enhanced encryption" (round).
  static const IconData enhanced_encryption_rounded = IconData(0xf710, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">enhanced_encryption</i> &#x2014; material icon named "enhanced encryption" (outlined).
  static const IconData enhanced_encryption_outlined = IconData(0xf023, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">equalizer</i> &#x2014; material icon named "equalizer".
  static const IconData equalizer = IconData(0xe236, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">equalizer</i> &#x2014; material icon named "equalizer" (sharp).
  static const IconData equalizer_sharp = IconData(0xe932, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">equalizer</i> &#x2014; material icon named "equalizer" (round).
  static const IconData equalizer_rounded = IconData(0xf711, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">equalizer</i> &#x2014; material icon named "equalizer" (outlined).
  static const IconData equalizer_outlined = IconData(0xf024, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">error</i> &#x2014; material icon named "error".
  static const IconData error = IconData(0xe237, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">error</i> &#x2014; material icon named "error" (sharp).
  static const IconData error_sharp = IconData(0xe934, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">error</i> &#x2014; material icon named "error" (round).
  static const IconData error_rounded = IconData(0xf713, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">error</i> &#x2014; material icon named "error" (outlined).
  static const IconData error_outlined = IconData(0xf026, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">error_outline</i> &#x2014; material icon named "error outline".
  static const IconData error_outline = IconData(0xe238, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">error_outline</i> &#x2014; material icon named "error outline" (sharp).
  static const IconData error_outline_sharp = IconData(0xe933, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">error_outline</i> &#x2014; material icon named "error outline" (round).
  static const IconData error_outline_rounded = IconData(0xf712, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">error_outline</i> &#x2014; material icon named "error outline" (outlined).
  static const IconData error_outline_outlined = IconData(0xf025, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">escalator</i> &#x2014; material icon named "escalator".
  static const IconData escalator = IconData(0xe239, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">escalator</i> &#x2014; material icon named "escalator" (sharp).
  static const IconData escalator_sharp = IconData(0xe935, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">escalator</i> &#x2014; material icon named "escalator" (round).
  static const IconData escalator_rounded = IconData(0xf714, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">escalator</i> &#x2014; material icon named "escalator" (outlined).
  static const IconData escalator_outlined = IconData(0xf027, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">escalator_warning</i> &#x2014; material icon named "escalator warning".
  static const IconData escalator_warning = IconData(0xe23a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">escalator_warning</i> &#x2014; material icon named "escalator warning" (sharp).
  static const IconData escalator_warning_sharp = IconData(0xe936, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">escalator_warning</i> &#x2014; material icon named "escalator warning" (round).
  static const IconData escalator_warning_rounded = IconData(0xf715, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">escalator_warning</i> &#x2014; material icon named "escalator warning" (outlined).
  static const IconData escalator_warning_outlined = IconData(0xf028, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">euro</i> &#x2014; material icon named "euro".
  static const IconData euro = IconData(0xe23b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">euro</i> &#x2014; material icon named "euro" (sharp).
  static const IconData euro_sharp = IconData(0xe937, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">euro</i> &#x2014; material icon named "euro" (round).
  static const IconData euro_rounded = IconData(0xf716, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">euro</i> &#x2014; material icon named "euro" (outlined).
  static const IconData euro_outlined = IconData(0xf029, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">euro_symbol</i> &#x2014; material icon named "euro symbol".
  static const IconData euro_symbol = IconData(0xe23c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">euro_symbol</i> &#x2014; material icon named "euro symbol" (sharp).
  static const IconData euro_symbol_sharp = IconData(0xe938, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">euro_symbol</i> &#x2014; material icon named "euro symbol" (round).
  static const IconData euro_symbol_rounded = IconData(0xf717, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">euro_symbol</i> &#x2014; material icon named "euro symbol" (outlined).
  static const IconData euro_symbol_outlined = IconData(0xf02a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">ev_station</i> &#x2014; material icon named "ev station".
  static const IconData ev_station = IconData(0xe23d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">ev_station</i> &#x2014; material icon named "ev station" (sharp).
  static const IconData ev_station_sharp = IconData(0xe939, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">ev_station</i> &#x2014; material icon named "ev station" (round).
  static const IconData ev_station_rounded = IconData(0xf718, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">ev_station</i> &#x2014; material icon named "ev station" (outlined).
  static const IconData ev_station_outlined = IconData(0xf02b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">event</i> &#x2014; material icon named "event".
  static const IconData event = IconData(0xe23e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">event</i> &#x2014; material icon named "event" (sharp).
  static const IconData event_sharp = IconData(0xe93e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">event</i> &#x2014; material icon named "event" (round).
  static const IconData event_rounded = IconData(0xf71c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">event</i> &#x2014; material icon named "event" (outlined).
  static const IconData event_outlined = IconData(0xf02f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">event_available</i> &#x2014; material icon named "event available".
  static const IconData event_available = IconData(0xe23f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">event_available</i> &#x2014; material icon named "event available" (sharp).
  static const IconData event_available_sharp = IconData(0xe93a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">event_available</i> &#x2014; material icon named "event available" (round).
  static const IconData event_available_rounded = IconData(0xf719, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">event_available</i> &#x2014; material icon named "event available" (outlined).
  static const IconData event_available_outlined = IconData(0xf02c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">event_busy</i> &#x2014; material icon named "event busy".
  static const IconData event_busy = IconData(0xe240, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">event_busy</i> &#x2014; material icon named "event busy" (sharp).
  static const IconData event_busy_sharp = IconData(0xe93b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">event_busy</i> &#x2014; material icon named "event busy" (round).
  static const IconData event_busy_rounded = IconData(0xf71a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">event_busy</i> &#x2014; material icon named "event busy" (outlined).
  static const IconData event_busy_outlined = IconData(0xf02d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">event_note</i> &#x2014; material icon named "event note".
  static const IconData event_note = IconData(0xe241, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">event_note</i> &#x2014; material icon named "event note" (sharp).
  static const IconData event_note_sharp = IconData(0xe93c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">event_note</i> &#x2014; material icon named "event note" (round).
  static const IconData event_note_rounded = IconData(0xf71b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">event_note</i> &#x2014; material icon named "event note" (outlined).
  static const IconData event_note_outlined = IconData(0xf02e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">event_repeat</i> &#x2014; material icon named "event repeat".
  static const IconData event_repeat = IconData(0xf04fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">event_repeat</i> &#x2014; material icon named "event repeat" (sharp).
  static const IconData event_repeat_sharp = IconData(0xf0407, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">event_repeat</i> &#x2014; material icon named "event repeat" (round).
  static const IconData event_repeat_rounded = IconData(0xf0314, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">event_repeat</i> &#x2014; material icon named "event repeat" (outlined).
  static const IconData event_repeat_outlined = IconData(0xf05f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">event_seat</i> &#x2014; material icon named "event seat".
  static const IconData event_seat = IconData(0xe242, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">event_seat</i> &#x2014; material icon named "event seat" (sharp).
  static const IconData event_seat_sharp = IconData(0xe93d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">event_seat</i> &#x2014; material icon named "event seat" (round).
  static const IconData event_seat_rounded = IconData(0xf71d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">event_seat</i> &#x2014; material icon named "event seat" (outlined).
  static const IconData event_seat_outlined = IconData(0xf030, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">exit_to_app</i> &#x2014; material icon named "exit to app".
  static const IconData exit_to_app = IconData(0xe243, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">exit_to_app</i> &#x2014; material icon named "exit to app" (sharp).
  static const IconData exit_to_app_sharp = IconData(0xe93f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">exit_to_app</i> &#x2014; material icon named "exit to app" (round).
  static const IconData exit_to_app_rounded = IconData(0xf71e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">exit_to_app</i> &#x2014; material icon named "exit to app" (outlined).
  static const IconData exit_to_app_outlined = IconData(0xf031, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">expand</i> &#x2014; material icon named "expand".
  static const IconData expand = IconData(0xe244, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">expand</i> &#x2014; material icon named "expand" (sharp).
  static const IconData expand_sharp = IconData(0xe942, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">expand</i> &#x2014; material icon named "expand" (round).
  static const IconData expand_rounded = IconData(0xf721, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">expand</i> &#x2014; material icon named "expand" (outlined).
  static const IconData expand_outlined = IconData(0xf034, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">expand_circle_down</i> &#x2014; material icon named "expand circle down".
  static const IconData expand_circle_down = IconData(0xf04fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">expand_circle_down</i> &#x2014; material icon named "expand circle down" (sharp).
  static const IconData expand_circle_down_sharp = IconData(0xf0408, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">expand_circle_down</i> &#x2014; material icon named "expand circle down" (round).
  static const IconData expand_circle_down_rounded = IconData(0xf0315, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">expand_circle_down</i> &#x2014; material icon named "expand circle down" (outlined).
  static const IconData expand_circle_down_outlined = IconData(0xf05f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">expand_less</i> &#x2014; material icon named "expand less".
  static const IconData expand_less = IconData(0xe245, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">expand_less</i> &#x2014; material icon named "expand less" (sharp).
  static const IconData expand_less_sharp = IconData(0xe940, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">expand_less</i> &#x2014; material icon named "expand less" (round).
  static const IconData expand_less_rounded = IconData(0xf71f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">expand_less</i> &#x2014; material icon named "expand less" (outlined).
  static const IconData expand_less_outlined = IconData(0xf032, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">expand_more</i> &#x2014; material icon named "expand more".
  static const IconData expand_more = IconData(0xe246, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">expand_more</i> &#x2014; material icon named "expand more" (sharp).
  static const IconData expand_more_sharp = IconData(0xe941, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">expand_more</i> &#x2014; material icon named "expand more" (round).
  static const IconData expand_more_rounded = IconData(0xf720, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">expand_more</i> &#x2014; material icon named "expand more" (outlined).
  static const IconData expand_more_outlined = IconData(0xf033, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">explicit</i> &#x2014; material icon named "explicit".
  static const IconData explicit = IconData(0xe247, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">explicit</i> &#x2014; material icon named "explicit" (sharp).
  static const IconData explicit_sharp = IconData(0xe943, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">explicit</i> &#x2014; material icon named "explicit" (round).
  static const IconData explicit_rounded = IconData(0xf722, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">explicit</i> &#x2014; material icon named "explicit" (outlined).
  static const IconData explicit_outlined = IconData(0xf035, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">explore</i> &#x2014; material icon named "explore".
  static const IconData explore = IconData(0xe248, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">explore</i> &#x2014; material icon named "explore" (sharp).
  static const IconData explore_sharp = IconData(0xe945, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">explore</i> &#x2014; material icon named "explore" (round).
  static const IconData explore_rounded = IconData(0xf724, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">explore</i> &#x2014; material icon named "explore" (outlined).
  static const IconData explore_outlined = IconData(0xf037, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">explore_off</i> &#x2014; material icon named "explore off".
  static const IconData explore_off = IconData(0xe249, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">explore_off</i> &#x2014; material icon named "explore off" (sharp).
  static const IconData explore_off_sharp = IconData(0xe944, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">explore_off</i> &#x2014; material icon named "explore off" (round).
  static const IconData explore_off_rounded = IconData(0xf723, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">explore_off</i> &#x2014; material icon named "explore off" (outlined).
  static const IconData explore_off_outlined = IconData(0xf036, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">exposure</i> &#x2014; material icon named "exposure".
  static const IconData exposure = IconData(0xe24a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">exposure</i> &#x2014; material icon named "exposure" (sharp).
  static const IconData exposure_sharp = IconData(0xe94a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">exposure</i> &#x2014; material icon named "exposure" (round).
  static const IconData exposure_rounded = IconData(0xf729, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">exposure</i> &#x2014; material icon named "exposure" (outlined).
  static const IconData exposure_outlined = IconData(0xf03a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">exposure_minus_1</i> &#x2014; material icon named "exposure minus 1".
  static const IconData exposure_minus_1 = IconData(0xe24b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">exposure_minus_1</i> &#x2014; material icon named "exposure minus 1" (sharp).
  static const IconData exposure_minus_1_sharp = IconData(0xe946, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">exposure_minus_1</i> &#x2014; material icon named "exposure minus 1" (round).
  static const IconData exposure_minus_1_rounded = IconData(0xf725, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">exposure_minus_1</i> &#x2014; material icon named "exposure minus 1" (outlined).
  static const IconData exposure_minus_1_outlined = IconData(0xf038, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">exposure_minus_2</i> &#x2014; material icon named "exposure minus 2".
  static const IconData exposure_minus_2 = IconData(0xe24c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">exposure_minus_2</i> &#x2014; material icon named "exposure minus 2" (sharp).
  static const IconData exposure_minus_2_sharp = IconData(0xe947, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">exposure_minus_2</i> &#x2014; material icon named "exposure minus 2" (round).
  static const IconData exposure_minus_2_rounded = IconData(0xf726, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">exposure_minus_2</i> &#x2014; material icon named "exposure minus 2" (outlined).
  static const IconData exposure_minus_2_outlined = IconData(0xf039, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">exposure_neg_1</i> &#x2014; material icon named "exposure neg 1".
  static const IconData exposure_neg_1 = IconData(0xe24b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">exposure_neg_1</i> &#x2014; material icon named "exposure neg 1" (sharp).
  static const IconData exposure_neg_1_sharp = IconData(0xe946, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">exposure_neg_1</i> &#x2014; material icon named "exposure neg 1" (round).
  static const IconData exposure_neg_1_rounded = IconData(0xf725, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">exposure_neg_1</i> &#x2014; material icon named "exposure neg 1" (outlined).
  static const IconData exposure_neg_1_outlined = IconData(0xf038, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">exposure_neg_2</i> &#x2014; material icon named "exposure neg 2".
  static const IconData exposure_neg_2 = IconData(0xe24c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">exposure_neg_2</i> &#x2014; material icon named "exposure neg 2" (sharp).
  static const IconData exposure_neg_2_sharp = IconData(0xe947, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">exposure_neg_2</i> &#x2014; material icon named "exposure neg 2" (round).
  static const IconData exposure_neg_2_rounded = IconData(0xf726, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">exposure_neg_2</i> &#x2014; material icon named "exposure neg 2" (outlined).
  static const IconData exposure_neg_2_outlined = IconData(0xf039, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">exposure_plus_1</i> &#x2014; material icon named "exposure plus 1".
  static const IconData exposure_plus_1 = IconData(0xe24d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">exposure_plus_1</i> &#x2014; material icon named "exposure plus 1" (sharp).
  static const IconData exposure_plus_1_sharp = IconData(0xe948, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">exposure_plus_1</i> &#x2014; material icon named "exposure plus 1" (round).
  static const IconData exposure_plus_1_rounded = IconData(0xf727, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">exposure_plus_1</i> &#x2014; material icon named "exposure plus 1" (outlined).
  static const IconData exposure_plus_1_outlined = IconData(0xf03b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">exposure_plus_2</i> &#x2014; material icon named "exposure plus 2".
  static const IconData exposure_plus_2 = IconData(0xe24e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">exposure_plus_2</i> &#x2014; material icon named "exposure plus 2" (sharp).
  static const IconData exposure_plus_2_sharp = IconData(0xe949, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">exposure_plus_2</i> &#x2014; material icon named "exposure plus 2" (round).
  static const IconData exposure_plus_2_rounded = IconData(0xf728, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">exposure_plus_2</i> &#x2014; material icon named "exposure plus 2" (outlined).
  static const IconData exposure_plus_2_outlined = IconData(0xf03c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">exposure_zero</i> &#x2014; material icon named "exposure zero".
  static const IconData exposure_zero = IconData(0xe24f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">exposure_zero</i> &#x2014; material icon named "exposure zero" (sharp).
  static const IconData exposure_zero_sharp = IconData(0xe94b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">exposure_zero</i> &#x2014; material icon named "exposure zero" (round).
  static const IconData exposure_zero_rounded = IconData(0xf72a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">exposure_zero</i> &#x2014; material icon named "exposure zero" (outlined).
  static const IconData exposure_zero_outlined = IconData(0xf03d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">extension</i> &#x2014; material icon named "extension".
  static const IconData extension = IconData(0xe250, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">extension</i> &#x2014; material icon named "extension" (sharp).
  static const IconData extension_sharp = IconData(0xe94d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">extension</i> &#x2014; material icon named "extension" (round).
  static const IconData extension_rounded = IconData(0xf72c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">extension</i> &#x2014; material icon named "extension" (outlined).
  static const IconData extension_outlined = IconData(0xf03f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">extension_off</i> &#x2014; material icon named "extension off".
  static const IconData extension_off = IconData(0xe251, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">extension_off</i> &#x2014; material icon named "extension off" (sharp).
  static const IconData extension_off_sharp = IconData(0xe94c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">extension_off</i> &#x2014; material icon named "extension off" (round).
  static const IconData extension_off_rounded = IconData(0xf72b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">extension_off</i> &#x2014; material icon named "extension off" (outlined).
  static const IconData extension_off_outlined = IconData(0xf03e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">face</i> &#x2014; material icon named "face".
  static const IconData face = IconData(0xe252, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">face</i> &#x2014; material icon named "face" (sharp).
  static const IconData face_sharp = IconData(0xe950, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">face</i> &#x2014; material icon named "face" (round).
  static const IconData face_rounded = IconData(0xf72f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">face</i> &#x2014; material icon named "face" (outlined).
  static const IconData face_outlined = IconData(0xf040, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">face_retouching_natural</i> &#x2014; material icon named "face retouching natural".
  static const IconData face_retouching_natural = IconData(0xe253, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">face_retouching_natural</i> &#x2014; material icon named "face retouching natural" (sharp).
  static const IconData face_retouching_natural_sharp = IconData(0xe94e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">face_retouching_natural</i> &#x2014; material icon named "face retouching natural" (round).
  static const IconData face_retouching_natural_rounded = IconData(0xf72d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">face_retouching_natural</i> &#x2014; material icon named "face retouching natural" (outlined).
  static const IconData face_retouching_natural_outlined = IconData(0xf041, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">face_retouching_off</i> &#x2014; material icon named "face retouching off".
  static const IconData face_retouching_off = IconData(0xe254, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">face_retouching_off</i> &#x2014; material icon named "face retouching off" (sharp).
  static const IconData face_retouching_off_sharp = IconData(0xe94f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">face_retouching_off</i> &#x2014; material icon named "face retouching off" (round).
  static const IconData face_retouching_off_rounded = IconData(0xf72e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">face_retouching_off</i> &#x2014; material icon named "face retouching off" (outlined).
  static const IconData face_retouching_off_outlined = IconData(0xf042, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">face_unlock</i> &#x2014; material icon named "face unlock" (sharp).
  static const IconData face_unlock_sharp = IconData(0xe951, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">face_unlock</i> &#x2014; material icon named "face unlock" (round).
  static const IconData face_unlock_rounded = IconData(0xf730, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">face_unlock</i> &#x2014; material icon named "face unlock" (outlined).
  static const IconData face_unlock_outlined = IconData(0xf043, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">facebook</i> &#x2014; material icon named "facebook".
  static const IconData facebook = IconData(0xe255, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">facebook</i> &#x2014; material icon named "facebook" (sharp).
  static const IconData facebook_sharp = IconData(0xe952, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">facebook</i> &#x2014; material icon named "facebook" (round).
  static const IconData facebook_rounded = IconData(0xf731, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">facebook</i> &#x2014; material icon named "facebook" (outlined).
  static const IconData facebook_outlined = IconData(0xf044, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fact_check</i> &#x2014; material icon named "fact check".
  static const IconData fact_check = IconData(0xe256, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fact_check</i> &#x2014; material icon named "fact check" (sharp).
  static const IconData fact_check_sharp = IconData(0xe953, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fact_check</i> &#x2014; material icon named "fact check" (round).
  static const IconData fact_check_rounded = IconData(0xf732, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fact_check</i> &#x2014; material icon named "fact check" (outlined).
  static const IconData fact_check_outlined = IconData(0xf045, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">factory</i> &#x2014; material icon named "factory".
  static const IconData factory = IconData(0xf04fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">factory</i> &#x2014; material icon named "factory" (sharp).
  static const IconData factory_sharp = IconData(0xf0409, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">factory</i> &#x2014; material icon named "factory" (round).
  static const IconData factory_rounded = IconData(0xf0316, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">factory</i> &#x2014; material icon named "factory" (outlined).
  static const IconData factory_outlined = IconData(0xf05f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">family_restroom</i> &#x2014; material icon named "family restroom".
  static const IconData family_restroom = IconData(0xe257, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">family_restroom</i> &#x2014; material icon named "family restroom" (sharp).
  static const IconData family_restroom_sharp = IconData(0xe954, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">family_restroom</i> &#x2014; material icon named "family restroom" (round).
  static const IconData family_restroom_rounded = IconData(0xf733, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">family_restroom</i> &#x2014; material icon named "family restroom" (outlined).
  static const IconData family_restroom_outlined = IconData(0xf046, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fast_forward</i> &#x2014; material icon named "fast forward".
  static const IconData fast_forward = IconData(0xe258, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fast_forward</i> &#x2014; material icon named "fast forward" (sharp).
  static const IconData fast_forward_sharp = IconData(0xe955, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fast_forward</i> &#x2014; material icon named "fast forward" (round).
  static const IconData fast_forward_rounded = IconData(0xf734, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fast_forward</i> &#x2014; material icon named "fast forward" (outlined).
  static const IconData fast_forward_outlined = IconData(0xf047, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fast_rewind</i> &#x2014; material icon named "fast rewind".
  static const IconData fast_rewind = IconData(0xe259, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fast_rewind</i> &#x2014; material icon named "fast rewind" (sharp).
  static const IconData fast_rewind_sharp = IconData(0xe956, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fast_rewind</i> &#x2014; material icon named "fast rewind" (round).
  static const IconData fast_rewind_rounded = IconData(0xf735, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fast_rewind</i> &#x2014; material icon named "fast rewind" (outlined).
  static const IconData fast_rewind_outlined = IconData(0xf048, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fastfood</i> &#x2014; material icon named "fastfood".
  static const IconData fastfood = IconData(0xe25a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fastfood</i> &#x2014; material icon named "fastfood" (sharp).
  static const IconData fastfood_sharp = IconData(0xe957, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fastfood</i> &#x2014; material icon named "fastfood" (round).
  static const IconData fastfood_rounded = IconData(0xf736, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fastfood</i> &#x2014; material icon named "fastfood" (outlined).
  static const IconData fastfood_outlined = IconData(0xf049, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">favorite</i> &#x2014; material icon named "favorite".
  static const IconData favorite = IconData(0xe25b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">favorite</i> &#x2014; material icon named "favorite" (sharp).
  static const IconData favorite_sharp = IconData(0xe959, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">favorite</i> &#x2014; material icon named "favorite" (round).
  static const IconData favorite_rounded = IconData(0xf738, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">favorite</i> &#x2014; material icon named "favorite" (outlined).
  static const IconData favorite_outlined = IconData(0xf04b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">favorite_border</i> &#x2014; material icon named "favorite border".
  static const IconData favorite_border = IconData(0xe25c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">favorite_border</i> &#x2014; material icon named "favorite border" (sharp).
  static const IconData favorite_border_sharp = IconData(0xe958, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">favorite_border</i> &#x2014; material icon named "favorite border" (round).
  static const IconData favorite_border_rounded = IconData(0xf737, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">favorite_border</i> &#x2014; material icon named "favorite border" (outlined).
  static const IconData favorite_border_outlined = IconData(0xf04a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">favorite_outline</i> &#x2014; material icon named "favorite outline".
  static const IconData favorite_outline = IconData(0xe25c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">favorite_outline</i> &#x2014; material icon named "favorite outline" (sharp).
  static const IconData favorite_outline_sharp = IconData(0xe958, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">favorite_outline</i> &#x2014; material icon named "favorite outline" (round).
  static const IconData favorite_outline_rounded = IconData(0xf737, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">favorite_outline</i> &#x2014; material icon named "favorite outline" (outlined).
  static const IconData favorite_outline_outlined = IconData(0xf04a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fax</i> &#x2014; material icon named "fax".
  static const IconData fax = IconData(0xf04fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fax</i> &#x2014; material icon named "fax" (sharp).
  static const IconData fax_sharp = IconData(0xf040a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fax</i> &#x2014; material icon named "fax" (round).
  static const IconData fax_rounded = IconData(0xf0317, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fax</i> &#x2014; material icon named "fax" (outlined).
  static const IconData fax_outlined = IconData(0xf05f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">featured_play_list</i> &#x2014; material icon named "featured play list".
  static const IconData featured_play_list = IconData(0xe25d, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">featured_play_list</i> &#x2014; material icon named "featured play list" (sharp).
  static const IconData featured_play_list_sharp = IconData(0xe95a, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">featured_play_list</i> &#x2014; material icon named "featured play list" (round).
  static const IconData featured_play_list_rounded = IconData(0xf739, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">featured_play_list</i> &#x2014; material icon named "featured play list" (outlined).
  static const IconData featured_play_list_outlined = IconData(0xf04c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">featured_video</i> &#x2014; material icon named "featured video".
  static const IconData featured_video = IconData(0xe25e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">featured_video</i> &#x2014; material icon named "featured video" (sharp).
  static const IconData featured_video_sharp = IconData(0xe95b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">featured_video</i> &#x2014; material icon named "featured video" (round).
  static const IconData featured_video_rounded = IconData(0xf73a, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">featured_video</i> &#x2014; material icon named "featured video" (outlined).
  static const IconData featured_video_outlined = IconData(0xf04d, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">feed</i> &#x2014; material icon named "feed".
  static const IconData feed = IconData(0xe25f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">feed</i> &#x2014; material icon named "feed" (sharp).
  static const IconData feed_sharp = IconData(0xe95c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">feed</i> &#x2014; material icon named "feed" (round).
  static const IconData feed_rounded = IconData(0xf73b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">feed</i> &#x2014; material icon named "feed" (outlined).
  static const IconData feed_outlined = IconData(0xf04e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">feedback</i> &#x2014; material icon named "feedback".
  static const IconData feedback = IconData(0xe260, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">feedback</i> &#x2014; material icon named "feedback" (sharp).
  static const IconData feedback_sharp = IconData(0xe95d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">feedback</i> &#x2014; material icon named "feedback" (round).
  static const IconData feedback_rounded = IconData(0xf73c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">feedback</i> &#x2014; material icon named "feedback" (outlined).
  static const IconData feedback_outlined = IconData(0xf04f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">female</i> &#x2014; material icon named "female".
  static const IconData female = IconData(0xe261, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">female</i> &#x2014; material icon named "female" (sharp).
  static const IconData female_sharp = IconData(0xe95e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">female</i> &#x2014; material icon named "female" (round).
  static const IconData female_rounded = IconData(0xf73d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">female</i> &#x2014; material icon named "female" (outlined).
  static const IconData female_outlined = IconData(0xf050, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fence</i> &#x2014; material icon named "fence".
  static const IconData fence = IconData(0xe262, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fence</i> &#x2014; material icon named "fence" (sharp).
  static const IconData fence_sharp = IconData(0xe95f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fence</i> &#x2014; material icon named "fence" (round).
  static const IconData fence_rounded = IconData(0xf73e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fence</i> &#x2014; material icon named "fence" (outlined).
  static const IconData fence_outlined = IconData(0xf051, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">festival</i> &#x2014; material icon named "festival".
  static const IconData festival = IconData(0xe263, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">festival</i> &#x2014; material icon named "festival" (sharp).
  static const IconData festival_sharp = IconData(0xe960, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">festival</i> &#x2014; material icon named "festival" (round).
  static const IconData festival_rounded = IconData(0xf73f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">festival</i> &#x2014; material icon named "festival" (outlined).
  static const IconData festival_outlined = IconData(0xf052, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fiber_dvr</i> &#x2014; material icon named "fiber dvr".
  static const IconData fiber_dvr = IconData(0xe264, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fiber_dvr</i> &#x2014; material icon named "fiber dvr" (sharp).
  static const IconData fiber_dvr_sharp = IconData(0xe961, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fiber_dvr</i> &#x2014; material icon named "fiber dvr" (round).
  static const IconData fiber_dvr_rounded = IconData(0xf740, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fiber_dvr</i> &#x2014; material icon named "fiber dvr" (outlined).
  static const IconData fiber_dvr_outlined = IconData(0xf053, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fiber_manual_record</i> &#x2014; material icon named "fiber manual record".
  static const IconData fiber_manual_record = IconData(0xe265, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fiber_manual_record</i> &#x2014; material icon named "fiber manual record" (sharp).
  static const IconData fiber_manual_record_sharp = IconData(0xe962, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fiber_manual_record</i> &#x2014; material icon named "fiber manual record" (round).
  static const IconData fiber_manual_record_rounded = IconData(0xf741, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fiber_manual_record</i> &#x2014; material icon named "fiber manual record" (outlined).
  static const IconData fiber_manual_record_outlined = IconData(0xf054, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fiber_new</i> &#x2014; material icon named "fiber new".
  static const IconData fiber_new = IconData(0xe266, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fiber_new</i> &#x2014; material icon named "fiber new" (sharp).
  static const IconData fiber_new_sharp = IconData(0xe963, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fiber_new</i> &#x2014; material icon named "fiber new" (round).
  static const IconData fiber_new_rounded = IconData(0xf742, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fiber_new</i> &#x2014; material icon named "fiber new" (outlined).
  static const IconData fiber_new_outlined = IconData(0xf055, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fiber_pin</i> &#x2014; material icon named "fiber pin".
  static const IconData fiber_pin = IconData(0xe267, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fiber_pin</i> &#x2014; material icon named "fiber pin" (sharp).
  static const IconData fiber_pin_sharp = IconData(0xe964, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fiber_pin</i> &#x2014; material icon named "fiber pin" (round).
  static const IconData fiber_pin_rounded = IconData(0xf743, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fiber_pin</i> &#x2014; material icon named "fiber pin" (outlined).
  static const IconData fiber_pin_outlined = IconData(0xf056, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fiber_smart_record</i> &#x2014; material icon named "fiber smart record".
  static const IconData fiber_smart_record = IconData(0xe268, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fiber_smart_record</i> &#x2014; material icon named "fiber smart record" (sharp).
  static const IconData fiber_smart_record_sharp = IconData(0xe965, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fiber_smart_record</i> &#x2014; material icon named "fiber smart record" (round).
  static const IconData fiber_smart_record_rounded = IconData(0xf744, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fiber_smart_record</i> &#x2014; material icon named "fiber smart record" (outlined).
  static const IconData fiber_smart_record_outlined = IconData(0xf057, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">file_copy</i> &#x2014; material icon named "file copy".
  static const IconData file_copy = IconData(0xe269, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">file_copy</i> &#x2014; material icon named "file copy" (sharp).
  static const IconData file_copy_sharp = IconData(0xe966, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">file_copy</i> &#x2014; material icon named "file copy" (round).
  static const IconData file_copy_rounded = IconData(0xf745, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">file_copy</i> &#x2014; material icon named "file copy" (outlined).
  static const IconData file_copy_outlined = IconData(0xf058, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">file_download</i> &#x2014; material icon named "file download".
  static const IconData file_download = IconData(0xe26a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">file_download</i> &#x2014; material icon named "file download" (sharp).
  static const IconData file_download_sharp = IconData(0xe969, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">file_download</i> &#x2014; material icon named "file download" (round).
  static const IconData file_download_rounded = IconData(0xf748, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">file_download</i> &#x2014; material icon named "file download" (outlined).
  static const IconData file_download_outlined = IconData(0xf05b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">file_download_done</i> &#x2014; material icon named "file download done".
  static const IconData file_download_done = IconData(0xe26b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">file_download_done</i> &#x2014; material icon named "file download done" (sharp).
  static const IconData file_download_done_sharp = IconData(0xe967, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">file_download_done</i> &#x2014; material icon named "file download done" (round).
  static const IconData file_download_done_rounded = IconData(0xf746, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">file_download_done</i> &#x2014; material icon named "file download done" (outlined).
  static const IconData file_download_done_outlined = IconData(0xf059, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">file_download_off</i> &#x2014; material icon named "file download off".
  static const IconData file_download_off = IconData(0xe26c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">file_download_off</i> &#x2014; material icon named "file download off" (sharp).
  static const IconData file_download_off_sharp = IconData(0xe968, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">file_download_off</i> &#x2014; material icon named "file download off" (round).
  static const IconData file_download_off_rounded = IconData(0xf747, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">file_download_off</i> &#x2014; material icon named "file download off" (outlined).
  static const IconData file_download_off_outlined = IconData(0xf05a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">file_open</i> &#x2014; material icon named "file open".
  static const IconData file_open = IconData(0xf04ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">file_open</i> &#x2014; material icon named "file open" (sharp).
  static const IconData file_open_sharp = IconData(0xf040b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">file_open</i> &#x2014; material icon named "file open" (round).
  static const IconData file_open_rounded = IconData(0xf0318, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">file_open</i> &#x2014; material icon named "file open" (outlined).
  static const IconData file_open_outlined = IconData(0xf05f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">file_present</i> &#x2014; material icon named "file present".
  static const IconData file_present = IconData(0xe26d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">file_present</i> &#x2014; material icon named "file present" (sharp).
  static const IconData file_present_sharp = IconData(0xe96a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">file_present</i> &#x2014; material icon named "file present" (round).
  static const IconData file_present_rounded = IconData(0xf749, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">file_present</i> &#x2014; material icon named "file present" (outlined).
  static const IconData file_present_outlined = IconData(0xf05c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">file_upload</i> &#x2014; material icon named "file upload".
  static const IconData file_upload = IconData(0xe26e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">file_upload</i> &#x2014; material icon named "file upload" (sharp).
  static const IconData file_upload_sharp = IconData(0xe96b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">file_upload</i> &#x2014; material icon named "file upload" (round).
  static const IconData file_upload_rounded = IconData(0xf74a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">file_upload</i> &#x2014; material icon named "file upload" (outlined).
  static const IconData file_upload_outlined = IconData(0xf05d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter</i> &#x2014; material icon named "filter".
  static const IconData filter = IconData(0xe26f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter</i> &#x2014; material icon named "filter" (sharp).
  static const IconData filter_sharp = IconData(0xe97e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter</i> &#x2014; material icon named "filter" (round).
  static const IconData filter_rounded = IconData(0xf75d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter</i> &#x2014; material icon named "filter" (outlined).
  static const IconData filter_outlined = IconData(0xf070, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_1</i> &#x2014; material icon named "filter 1".
  static const IconData filter_1 = IconData(0xe270, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_1</i> &#x2014; material icon named "filter 1" (sharp).
  static const IconData filter_1_sharp = IconData(0xe96c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_1</i> &#x2014; material icon named "filter 1" (round).
  static const IconData filter_1_rounded = IconData(0xf74b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_1</i> &#x2014; material icon named "filter 1" (outlined).
  static const IconData filter_1_outlined = IconData(0xf05e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_2</i> &#x2014; material icon named "filter 2".
  static const IconData filter_2 = IconData(0xe271, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_2</i> &#x2014; material icon named "filter 2" (sharp).
  static const IconData filter_2_sharp = IconData(0xe96d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_2</i> &#x2014; material icon named "filter 2" (round).
  static const IconData filter_2_rounded = IconData(0xf74c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_2</i> &#x2014; material icon named "filter 2" (outlined).
  static const IconData filter_2_outlined = IconData(0xf05f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_3</i> &#x2014; material icon named "filter 3".
  static const IconData filter_3 = IconData(0xe272, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_3</i> &#x2014; material icon named "filter 3" (sharp).
  static const IconData filter_3_sharp = IconData(0xe96e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_3</i> &#x2014; material icon named "filter 3" (round).
  static const IconData filter_3_rounded = IconData(0xf74d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_3</i> &#x2014; material icon named "filter 3" (outlined).
  static const IconData filter_3_outlined = IconData(0xf060, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_4</i> &#x2014; material icon named "filter 4".
  static const IconData filter_4 = IconData(0xe273, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_4</i> &#x2014; material icon named "filter 4" (sharp).
  static const IconData filter_4_sharp = IconData(0xe96f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_4</i> &#x2014; material icon named "filter 4" (round).
  static const IconData filter_4_rounded = IconData(0xf74e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_4</i> &#x2014; material icon named "filter 4" (outlined).
  static const IconData filter_4_outlined = IconData(0xf061, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_5</i> &#x2014; material icon named "filter 5".
  static const IconData filter_5 = IconData(0xe274, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_5</i> &#x2014; material icon named "filter 5" (sharp).
  static const IconData filter_5_sharp = IconData(0xe970, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_5</i> &#x2014; material icon named "filter 5" (round).
  static const IconData filter_5_rounded = IconData(0xf74f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_5</i> &#x2014; material icon named "filter 5" (outlined).
  static const IconData filter_5_outlined = IconData(0xf062, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_6</i> &#x2014; material icon named "filter 6".
  static const IconData filter_6 = IconData(0xe275, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_6</i> &#x2014; material icon named "filter 6" (sharp).
  static const IconData filter_6_sharp = IconData(0xe971, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_6</i> &#x2014; material icon named "filter 6" (round).
  static const IconData filter_6_rounded = IconData(0xf750, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_6</i> &#x2014; material icon named "filter 6" (outlined).
  static const IconData filter_6_outlined = IconData(0xf063, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_7</i> &#x2014; material icon named "filter 7".
  static const IconData filter_7 = IconData(0xe276, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_7</i> &#x2014; material icon named "filter 7" (sharp).
  static const IconData filter_7_sharp = IconData(0xe972, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_7</i> &#x2014; material icon named "filter 7" (round).
  static const IconData filter_7_rounded = IconData(0xf751, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_7</i> &#x2014; material icon named "filter 7" (outlined).
  static const IconData filter_7_outlined = IconData(0xf064, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_8</i> &#x2014; material icon named "filter 8".
  static const IconData filter_8 = IconData(0xe277, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_8</i> &#x2014; material icon named "filter 8" (sharp).
  static const IconData filter_8_sharp = IconData(0xe973, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_8</i> &#x2014; material icon named "filter 8" (round).
  static const IconData filter_8_rounded = IconData(0xf752, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_8</i> &#x2014; material icon named "filter 8" (outlined).
  static const IconData filter_8_outlined = IconData(0xf065, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_9</i> &#x2014; material icon named "filter 9".
  static const IconData filter_9 = IconData(0xe278, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_9</i> &#x2014; material icon named "filter 9" (sharp).
  static const IconData filter_9_sharp = IconData(0xe975, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_9</i> &#x2014; material icon named "filter 9" (round).
  static const IconData filter_9_rounded = IconData(0xf754, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_9</i> &#x2014; material icon named "filter 9" (outlined).
  static const IconData filter_9_outlined = IconData(0xf066, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_9_plus</i> &#x2014; material icon named "filter 9 plus".
  static const IconData filter_9_plus = IconData(0xe279, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_9_plus</i> &#x2014; material icon named "filter 9 plus" (sharp).
  static const IconData filter_9_plus_sharp = IconData(0xe974, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_9_plus</i> &#x2014; material icon named "filter 9 plus" (round).
  static const IconData filter_9_plus_rounded = IconData(0xf753, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_9_plus</i> &#x2014; material icon named "filter 9 plus" (outlined).
  static const IconData filter_9_plus_outlined = IconData(0xf067, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_alt</i> &#x2014; material icon named "filter alt".
  static const IconData filter_alt = IconData(0xe27a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_alt</i> &#x2014; material icon named "filter alt" (sharp).
  static const IconData filter_alt_sharp = IconData(0xe976, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_alt</i> &#x2014; material icon named "filter alt" (round).
  static const IconData filter_alt_rounded = IconData(0xf755, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_alt</i> &#x2014; material icon named "filter alt" (outlined).
  static const IconData filter_alt_outlined = IconData(0xf068, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_alt_off</i> &#x2014; material icon named "filter alt off".
  static const IconData filter_alt_off = IconData(0xf0500, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_alt_off</i> &#x2014; material icon named "filter alt off" (sharp).
  static const IconData filter_alt_off_sharp = IconData(0xf040c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_alt_off</i> &#x2014; material icon named "filter alt off" (round).
  static const IconData filter_alt_off_rounded = IconData(0xf0319, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_alt_off</i> &#x2014; material icon named "filter alt off" (outlined).
  static const IconData filter_alt_off_outlined = IconData(0xf05fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_b_and_w</i> &#x2014; material icon named "filter b and w".
  static const IconData filter_b_and_w = IconData(0xe27b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_b_and_w</i> &#x2014; material icon named "filter b and w" (sharp).
  static const IconData filter_b_and_w_sharp = IconData(0xe977, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_b_and_w</i> &#x2014; material icon named "filter b and w" (round).
  static const IconData filter_b_and_w_rounded = IconData(0xf756, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_b_and_w</i> &#x2014; material icon named "filter b and w" (outlined).
  static const IconData filter_b_and_w_outlined = IconData(0xf069, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_center_focus</i> &#x2014; material icon named "filter center focus".
  static const IconData filter_center_focus = IconData(0xe27c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_center_focus</i> &#x2014; material icon named "filter center focus" (sharp).
  static const IconData filter_center_focus_sharp = IconData(0xe978, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_center_focus</i> &#x2014; material icon named "filter center focus" (round).
  static const IconData filter_center_focus_rounded = IconData(0xf757, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_center_focus</i> &#x2014; material icon named "filter center focus" (outlined).
  static const IconData filter_center_focus_outlined = IconData(0xf06a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_drama</i> &#x2014; material icon named "filter drama".
  static const IconData filter_drama = IconData(0xe27d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_drama</i> &#x2014; material icon named "filter drama" (sharp).
  static const IconData filter_drama_sharp = IconData(0xe979, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_drama</i> &#x2014; material icon named "filter drama" (round).
  static const IconData filter_drama_rounded = IconData(0xf758, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_drama</i> &#x2014; material icon named "filter drama" (outlined).
  static const IconData filter_drama_outlined = IconData(0xf06b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_frames</i> &#x2014; material icon named "filter frames".
  static const IconData filter_frames = IconData(0xe27e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_frames</i> &#x2014; material icon named "filter frames" (sharp).
  static const IconData filter_frames_sharp = IconData(0xe97a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_frames</i> &#x2014; material icon named "filter frames" (round).
  static const IconData filter_frames_rounded = IconData(0xf759, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_frames</i> &#x2014; material icon named "filter frames" (outlined).
  static const IconData filter_frames_outlined = IconData(0xf06c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_hdr</i> &#x2014; material icon named "filter hdr".
  static const IconData filter_hdr = IconData(0xe27f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_hdr</i> &#x2014; material icon named "filter hdr" (sharp).
  static const IconData filter_hdr_sharp = IconData(0xe97b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_hdr</i> &#x2014; material icon named "filter hdr" (round).
  static const IconData filter_hdr_rounded = IconData(0xf75a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_hdr</i> &#x2014; material icon named "filter hdr" (outlined).
  static const IconData filter_hdr_outlined = IconData(0xf06d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_list</i> &#x2014; material icon named "filter list".
  static const IconData filter_list = IconData(0xe280, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_list</i> &#x2014; material icon named "filter list" (sharp).
  static const IconData filter_list_sharp = IconData(0xe97c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_list</i> &#x2014; material icon named "filter list" (round).
  static const IconData filter_list_rounded = IconData(0xf75b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_list</i> &#x2014; material icon named "filter list" (outlined).
  static const IconData filter_list_outlined = IconData(0xf06e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_list_alt</i> &#x2014; material icon named "filter list alt".
  static const IconData filter_list_alt = IconData(0xe281, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_list_off</i> &#x2014; material icon named "filter list off".
  static const IconData filter_list_off = IconData(0xf0501, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_list_off</i> &#x2014; material icon named "filter list off" (sharp).
  static const IconData filter_list_off_sharp = IconData(0xf040d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_list_off</i> &#x2014; material icon named "filter list off" (round).
  static const IconData filter_list_off_rounded = IconData(0xf031a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_list_off</i> &#x2014; material icon named "filter list off" (outlined).
  static const IconData filter_list_off_outlined = IconData(0xf05fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_none</i> &#x2014; material icon named "filter none".
  static const IconData filter_none = IconData(0xe282, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_none</i> &#x2014; material icon named "filter none" (sharp).
  static const IconData filter_none_sharp = IconData(0xe97d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_none</i> &#x2014; material icon named "filter none" (round).
  static const IconData filter_none_rounded = IconData(0xf75c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_none</i> &#x2014; material icon named "filter none" (outlined).
  static const IconData filter_none_outlined = IconData(0xf06f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_tilt_shift</i> &#x2014; material icon named "filter tilt shift".
  static const IconData filter_tilt_shift = IconData(0xe283, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_tilt_shift</i> &#x2014; material icon named "filter tilt shift" (sharp).
  static const IconData filter_tilt_shift_sharp = IconData(0xe97f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_tilt_shift</i> &#x2014; material icon named "filter tilt shift" (round).
  static const IconData filter_tilt_shift_rounded = IconData(0xf75e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_tilt_shift</i> &#x2014; material icon named "filter tilt shift" (outlined).
  static const IconData filter_tilt_shift_outlined = IconData(0xf071, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">filter_vintage</i> &#x2014; material icon named "filter vintage".
  static const IconData filter_vintage = IconData(0xe284, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">filter_vintage</i> &#x2014; material icon named "filter vintage" (sharp).
  static const IconData filter_vintage_sharp = IconData(0xe980, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">filter_vintage</i> &#x2014; material icon named "filter vintage" (round).
  static const IconData filter_vintage_rounded = IconData(0xf75f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">filter_vintage</i> &#x2014; material icon named "filter vintage" (outlined).
  static const IconData filter_vintage_outlined = IconData(0xf072, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">find_in_page</i> &#x2014; material icon named "find in page".
  static const IconData find_in_page = IconData(0xe285, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">find_in_page</i> &#x2014; material icon named "find in page" (sharp).
  static const IconData find_in_page_sharp = IconData(0xe981, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">find_in_page</i> &#x2014; material icon named "find in page" (round).
  static const IconData find_in_page_rounded = IconData(0xf760, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">find_in_page</i> &#x2014; material icon named "find in page" (outlined).
  static const IconData find_in_page_outlined = IconData(0xf073, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">find_replace</i> &#x2014; material icon named "find replace".
  static const IconData find_replace = IconData(0xe286, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">find_replace</i> &#x2014; material icon named "find replace" (sharp).
  static const IconData find_replace_sharp = IconData(0xe982, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">find_replace</i> &#x2014; material icon named "find replace" (round).
  static const IconData find_replace_rounded = IconData(0xf761, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">find_replace</i> &#x2014; material icon named "find replace" (outlined).
  static const IconData find_replace_outlined = IconData(0xf074, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fingerprint</i> &#x2014; material icon named "fingerprint".
  static const IconData fingerprint = IconData(0xe287, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fingerprint</i> &#x2014; material icon named "fingerprint" (sharp).
  static const IconData fingerprint_sharp = IconData(0xe983, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fingerprint</i> &#x2014; material icon named "fingerprint" (round).
  static const IconData fingerprint_rounded = IconData(0xf762, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fingerprint</i> &#x2014; material icon named "fingerprint" (outlined).
  static const IconData fingerprint_outlined = IconData(0xf075, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fire_extinguisher</i> &#x2014; material icon named "fire extinguisher".
  static const IconData fire_extinguisher = IconData(0xe288, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fire_extinguisher</i> &#x2014; material icon named "fire extinguisher" (sharp).
  static const IconData fire_extinguisher_sharp = IconData(0xe984, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fire_extinguisher</i> &#x2014; material icon named "fire extinguisher" (round).
  static const IconData fire_extinguisher_rounded = IconData(0xf763, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fire_extinguisher</i> &#x2014; material icon named "fire extinguisher" (outlined).
  static const IconData fire_extinguisher_outlined = IconData(0xf076, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fire_hydrant</i> &#x2014; material icon named "fire hydrant".
  static const IconData fire_hydrant = IconData(0xe289, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fire_hydrant_alt</i> &#x2014; material icon named "fire hydrant alt".
  static const IconData fire_hydrant_alt = IconData(0xf07a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fire_hydrant_alt</i> &#x2014; material icon named "fire hydrant alt" (sharp).
  static const IconData fire_hydrant_alt_sharp = IconData(0xf0749, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fire_hydrant_alt</i> &#x2014; material icon named "fire hydrant alt" (round).
  static const IconData fire_hydrant_alt_rounded = IconData(0xf07f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fire_hydrant_alt</i> &#x2014; material icon named "fire hydrant alt" (outlined).
  static const IconData fire_hydrant_alt_outlined = IconData(0xf06f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fire_truck</i> &#x2014; material icon named "fire truck".
  static const IconData fire_truck = IconData(0xf07a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fire_truck</i> &#x2014; material icon named "fire truck" (sharp).
  static const IconData fire_truck_sharp = IconData(0xf074a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fire_truck</i> &#x2014; material icon named "fire truck" (round).
  static const IconData fire_truck_rounded = IconData(0xf07fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fire_truck</i> &#x2014; material icon named "fire truck" (outlined).
  static const IconData fire_truck_outlined = IconData(0xf06f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fireplace</i> &#x2014; material icon named "fireplace".
  static const IconData fireplace = IconData(0xe28a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fireplace</i> &#x2014; material icon named "fireplace" (sharp).
  static const IconData fireplace_sharp = IconData(0xe985, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fireplace</i> &#x2014; material icon named "fireplace" (round).
  static const IconData fireplace_rounded = IconData(0xf764, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fireplace</i> &#x2014; material icon named "fireplace" (outlined).
  static const IconData fireplace_outlined = IconData(0xf077, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">first_page</i> &#x2014; material icon named "first page".
  static const IconData first_page = IconData(0xe28b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">first_page</i> &#x2014; material icon named "first page" (sharp).
  static const IconData first_page_sharp = IconData(0xe986, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">first_page</i> &#x2014; material icon named "first page" (round).
  static const IconData first_page_rounded = IconData(0xf765, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">first_page</i> &#x2014; material icon named "first page" (outlined).
  static const IconData first_page_outlined = IconData(0xf078, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">fit_screen</i> &#x2014; material icon named "fit screen".
  static const IconData fit_screen = IconData(0xe28c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fit_screen</i> &#x2014; material icon named "fit screen" (sharp).
  static const IconData fit_screen_sharp = IconData(0xe987, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fit_screen</i> &#x2014; material icon named "fit screen" (round).
  static const IconData fit_screen_rounded = IconData(0xf766, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fit_screen</i> &#x2014; material icon named "fit screen" (outlined).
  static const IconData fit_screen_outlined = IconData(0xf079, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fitbit</i> &#x2014; material icon named "fitbit".
  static const IconData fitbit = IconData(0xf0502, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fitbit</i> &#x2014; material icon named "fitbit" (sharp).
  static const IconData fitbit_sharp = IconData(0xf040e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fitbit</i> &#x2014; material icon named "fitbit" (round).
  static const IconData fitbit_rounded = IconData(0xf031b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fitbit</i> &#x2014; material icon named "fitbit" (outlined).
  static const IconData fitbit_outlined = IconData(0xf05fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fitness_center</i> &#x2014; material icon named "fitness center".
  static const IconData fitness_center = IconData(0xe28d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fitness_center</i> &#x2014; material icon named "fitness center" (sharp).
  static const IconData fitness_center_sharp = IconData(0xe988, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fitness_center</i> &#x2014; material icon named "fitness center" (round).
  static const IconData fitness_center_rounded = IconData(0xf767, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fitness_center</i> &#x2014; material icon named "fitness center" (outlined).
  static const IconData fitness_center_outlined = IconData(0xf07a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flag</i> &#x2014; material icon named "flag".
  static const IconData flag = IconData(0xe28e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flag</i> &#x2014; material icon named "flag" (sharp).
  static const IconData flag_sharp = IconData(0xe989, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flag</i> &#x2014; material icon named "flag" (round).
  static const IconData flag_rounded = IconData(0xf768, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flag</i> &#x2014; material icon named "flag" (outlined).
  static const IconData flag_outlined = IconData(0xf07b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flag_circle</i> &#x2014; material icon named "flag circle".
  static const IconData flag_circle = IconData(0xf0503, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flag_circle</i> &#x2014; material icon named "flag circle" (sharp).
  static const IconData flag_circle_sharp = IconData(0xf040f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flag_circle</i> &#x2014; material icon named "flag circle" (round).
  static const IconData flag_circle_rounded = IconData(0xf031c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flag_circle</i> &#x2014; material icon named "flag circle" (outlined).
  static const IconData flag_circle_outlined = IconData(0xf05fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flaky</i> &#x2014; material icon named "flaky".
  static const IconData flaky = IconData(0xe28f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flaky</i> &#x2014; material icon named "flaky" (sharp).
  static const IconData flaky_sharp = IconData(0xe98a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flaky</i> &#x2014; material icon named "flaky" (round).
  static const IconData flaky_rounded = IconData(0xf769, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flaky</i> &#x2014; material icon named "flaky" (outlined).
  static const IconData flaky_outlined = IconData(0xf07c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flare</i> &#x2014; material icon named "flare".
  static const IconData flare = IconData(0xe290, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flare</i> &#x2014; material icon named "flare" (sharp).
  static const IconData flare_sharp = IconData(0xe98b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flare</i> &#x2014; material icon named "flare" (round).
  static const IconData flare_rounded = IconData(0xf76a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flare</i> &#x2014; material icon named "flare" (outlined).
  static const IconData flare_outlined = IconData(0xf07d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flash_auto</i> &#x2014; material icon named "flash auto".
  static const IconData flash_auto = IconData(0xe291, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flash_auto</i> &#x2014; material icon named "flash auto" (sharp).
  static const IconData flash_auto_sharp = IconData(0xe98c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flash_auto</i> &#x2014; material icon named "flash auto" (round).
  static const IconData flash_auto_rounded = IconData(0xf76b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flash_auto</i> &#x2014; material icon named "flash auto" (outlined).
  static const IconData flash_auto_outlined = IconData(0xf07e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flash_off</i> &#x2014; material icon named "flash off".
  static const IconData flash_off = IconData(0xe292, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flash_off</i> &#x2014; material icon named "flash off" (sharp).
  static const IconData flash_off_sharp = IconData(0xe98d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flash_off</i> &#x2014; material icon named "flash off" (round).
  static const IconData flash_off_rounded = IconData(0xf76c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flash_off</i> &#x2014; material icon named "flash off" (outlined).
  static const IconData flash_off_outlined = IconData(0xf07f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flash_on</i> &#x2014; material icon named "flash on".
  static const IconData flash_on = IconData(0xe293, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flash_on</i> &#x2014; material icon named "flash on" (sharp).
  static const IconData flash_on_sharp = IconData(0xe98e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flash_on</i> &#x2014; material icon named "flash on" (round).
  static const IconData flash_on_rounded = IconData(0xf76d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flash_on</i> &#x2014; material icon named "flash on" (outlined).
  static const IconData flash_on_outlined = IconData(0xf080, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flashlight_off</i> &#x2014; material icon named "flashlight off".
  static const IconData flashlight_off = IconData(0xe294, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flashlight_off</i> &#x2014; material icon named "flashlight off" (sharp).
  static const IconData flashlight_off_sharp = IconData(0xe98f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flashlight_off</i> &#x2014; material icon named "flashlight off" (round).
  static const IconData flashlight_off_rounded = IconData(0xf76e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flashlight_off</i> &#x2014; material icon named "flashlight off" (outlined).
  static const IconData flashlight_off_outlined = IconData(0xf081, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flashlight_on</i> &#x2014; material icon named "flashlight on".
  static const IconData flashlight_on = IconData(0xe295, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flashlight_on</i> &#x2014; material icon named "flashlight on" (sharp).
  static const IconData flashlight_on_sharp = IconData(0xe990, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flashlight_on</i> &#x2014; material icon named "flashlight on" (round).
  static const IconData flashlight_on_rounded = IconData(0xf76f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flashlight_on</i> &#x2014; material icon named "flashlight on" (outlined).
  static const IconData flashlight_on_outlined = IconData(0xf082, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flatware</i> &#x2014; material icon named "flatware".
  static const IconData flatware = IconData(0xe296, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flatware</i> &#x2014; material icon named "flatware" (sharp).
  static const IconData flatware_sharp = IconData(0xe991, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flatware</i> &#x2014; material icon named "flatware" (round).
  static const IconData flatware_rounded = IconData(0xf770, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flatware</i> &#x2014; material icon named "flatware" (outlined).
  static const IconData flatware_outlined = IconData(0xf083, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flight</i> &#x2014; material icon named "flight".
  static const IconData flight = IconData(0xe297, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flight</i> &#x2014; material icon named "flight" (sharp).
  static const IconData flight_sharp = IconData(0xe993, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flight</i> &#x2014; material icon named "flight" (round).
  static const IconData flight_rounded = IconData(0xf772, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flight</i> &#x2014; material icon named "flight" (outlined).
  static const IconData flight_outlined = IconData(0xf085, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flight_class</i> &#x2014; material icon named "flight class".
  static const IconData flight_class = IconData(0xf0504, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flight_class</i> &#x2014; material icon named "flight class" (sharp).
  static const IconData flight_class_sharp = IconData(0xf0410, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flight_class</i> &#x2014; material icon named "flight class" (round).
  static const IconData flight_class_rounded = IconData(0xf031d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flight_class</i> &#x2014; material icon named "flight class" (outlined).
  static const IconData flight_class_outlined = IconData(0xf05fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flight_land</i> &#x2014; material icon named "flight land".
  static const IconData flight_land = IconData(0xe298, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">flight_land</i> &#x2014; material icon named "flight land" (sharp).
  static const IconData flight_land_sharp = IconData(0xe992, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">flight_land</i> &#x2014; material icon named "flight land" (round).
  static const IconData flight_land_rounded = IconData(0xf771, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">flight_land</i> &#x2014; material icon named "flight land" (outlined).
  static const IconData flight_land_outlined = IconData(0xf084, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">flight_takeoff</i> &#x2014; material icon named "flight takeoff".
  static const IconData flight_takeoff = IconData(0xe299, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">flight_takeoff</i> &#x2014; material icon named "flight takeoff" (sharp).
  static const IconData flight_takeoff_sharp = IconData(0xe994, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">flight_takeoff</i> &#x2014; material icon named "flight takeoff" (round).
  static const IconData flight_takeoff_rounded = IconData(0xf773, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">flight_takeoff</i> &#x2014; material icon named "flight takeoff" (outlined).
  static const IconData flight_takeoff_outlined = IconData(0xf086, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">flip</i> &#x2014; material icon named "flip".
  static const IconData flip = IconData(0xe29a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flip</i> &#x2014; material icon named "flip" (sharp).
  static const IconData flip_sharp = IconData(0xe997, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flip</i> &#x2014; material icon named "flip" (round).
  static const IconData flip_rounded = IconData(0xf776, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flip</i> &#x2014; material icon named "flip" (outlined).
  static const IconData flip_outlined = IconData(0xf089, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flip_camera_android</i> &#x2014; material icon named "flip camera android".
  static const IconData flip_camera_android = IconData(0xe29b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flip_camera_android</i> &#x2014; material icon named "flip camera android" (sharp).
  static const IconData flip_camera_android_sharp = IconData(0xe995, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flip_camera_android</i> &#x2014; material icon named "flip camera android" (round).
  static const IconData flip_camera_android_rounded = IconData(0xf774, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flip_camera_android</i> &#x2014; material icon named "flip camera android" (outlined).
  static const IconData flip_camera_android_outlined = IconData(0xf087, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flip_camera_ios</i> &#x2014; material icon named "flip camera ios".
  static const IconData flip_camera_ios = IconData(0xe29c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flip_camera_ios</i> &#x2014; material icon named "flip camera ios" (sharp).
  static const IconData flip_camera_ios_sharp = IconData(0xe996, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flip_camera_ios</i> &#x2014; material icon named "flip camera ios" (round).
  static const IconData flip_camera_ios_rounded = IconData(0xf775, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flip_camera_ios</i> &#x2014; material icon named "flip camera ios" (outlined).
  static const IconData flip_camera_ios_outlined = IconData(0xf088, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flip_to_back</i> &#x2014; material icon named "flip to back".
  static const IconData flip_to_back = IconData(0xe29d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flip_to_back</i> &#x2014; material icon named "flip to back" (sharp).
  static const IconData flip_to_back_sharp = IconData(0xe998, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flip_to_back</i> &#x2014; material icon named "flip to back" (round).
  static const IconData flip_to_back_rounded = IconData(0xf777, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flip_to_back</i> &#x2014; material icon named "flip to back" (outlined).
  static const IconData flip_to_back_outlined = IconData(0xf08a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flip_to_front</i> &#x2014; material icon named "flip to front".
  static const IconData flip_to_front = IconData(0xe29e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flip_to_front</i> &#x2014; material icon named "flip to front" (sharp).
  static const IconData flip_to_front_sharp = IconData(0xe999, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flip_to_front</i> &#x2014; material icon named "flip to front" (round).
  static const IconData flip_to_front_rounded = IconData(0xf778, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flip_to_front</i> &#x2014; material icon named "flip to front" (outlined).
  static const IconData flip_to_front_outlined = IconData(0xf08b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flood</i> &#x2014; material icon named "flood".
  static const IconData flood = IconData(0xf07a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flood</i> &#x2014; material icon named "flood" (sharp).
  static const IconData flood_sharp = IconData(0xf074b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flood</i> &#x2014; material icon named "flood" (round).
  static const IconData flood_rounded = IconData(0xf07fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flood</i> &#x2014; material icon named "flood" (outlined).
  static const IconData flood_outlined = IconData(0xf06f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flourescent</i> &#x2014; material icon named "flourescent".
  static const IconData flourescent = IconData(0xe29f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flourescent</i> &#x2014; material icon named "flourescent" (sharp).
  static const IconData flourescent_sharp = IconData(0xe99a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flourescent</i> &#x2014; material icon named "flourescent" (round).
  static const IconData flourescent_rounded = IconData(0xf779, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flourescent</i> &#x2014; material icon named "flourescent" (outlined).
  static const IconData flourescent_outlined = IconData(0xf08c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">flutter_dash</i> &#x2014; material icon named "flutter dash".
  static const IconData flutter_dash = IconData(0xe2a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">flutter_dash</i> &#x2014; material icon named "flutter dash" (sharp).
  static const IconData flutter_dash_sharp = IconData(0xe99b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">flutter_dash</i> &#x2014; material icon named "flutter dash" (round).
  static const IconData flutter_dash_rounded = IconData(0xf77a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">flutter_dash</i> &#x2014; material icon named "flutter dash" (outlined).
  static const IconData flutter_dash_outlined = IconData(0xf08d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fmd_bad</i> &#x2014; material icon named "fmd bad".
  static const IconData fmd_bad = IconData(0xe2a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fmd_bad</i> &#x2014; material icon named "fmd bad" (sharp).
  static const IconData fmd_bad_sharp = IconData(0xe99c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fmd_bad</i> &#x2014; material icon named "fmd bad" (round).
  static const IconData fmd_bad_rounded = IconData(0xf77b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fmd_bad</i> &#x2014; material icon named "fmd bad" (outlined).
  static const IconData fmd_bad_outlined = IconData(0xf08e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fmd_good</i> &#x2014; material icon named "fmd good".
  static const IconData fmd_good = IconData(0xe2a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fmd_good</i> &#x2014; material icon named "fmd good" (sharp).
  static const IconData fmd_good_sharp = IconData(0xe99d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fmd_good</i> &#x2014; material icon named "fmd good" (round).
  static const IconData fmd_good_rounded = IconData(0xf77c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fmd_good</i> &#x2014; material icon named "fmd good" (outlined).
  static const IconData fmd_good_outlined = IconData(0xf08f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">foggy</i> &#x2014; material icon named "foggy".
  static const IconData foggy = IconData(0xf0505, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">folder</i> &#x2014; material icon named "folder".
  static const IconData folder = IconData(0xe2a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">folder</i> &#x2014; material icon named "folder" (sharp).
  static const IconData folder_sharp = IconData(0xe9a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">folder</i> &#x2014; material icon named "folder" (round).
  static const IconData folder_rounded = IconData(0xf77e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">folder</i> &#x2014; material icon named "folder" (outlined).
  static const IconData folder_outlined = IconData(0xf091, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">folder_copy</i> &#x2014; material icon named "folder copy".
  static const IconData folder_copy = IconData(0xf0506, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">folder_copy</i> &#x2014; material icon named "folder copy" (sharp).
  static const IconData folder_copy_sharp = IconData(0xf0411, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">folder_copy</i> &#x2014; material icon named "folder copy" (round).
  static const IconData folder_copy_rounded = IconData(0xf031e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">folder_copy</i> &#x2014; material icon named "folder copy" (outlined).
  static const IconData folder_copy_outlined = IconData(0xf05ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">folder_delete</i> &#x2014; material icon named "folder delete".
  static const IconData folder_delete = IconData(0xf0507, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">folder_delete</i> &#x2014; material icon named "folder delete" (sharp).
  static const IconData folder_delete_sharp = IconData(0xf0412, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">folder_delete</i> &#x2014; material icon named "folder delete" (round).
  static const IconData folder_delete_rounded = IconData(0xf031f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">folder_delete</i> &#x2014; material icon named "folder delete" (outlined).
  static const IconData folder_delete_outlined = IconData(0xf0600, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">folder_off</i> &#x2014; material icon named "folder off".
  static const IconData folder_off = IconData(0xf0508, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">folder_off</i> &#x2014; material icon named "folder off" (sharp).
  static const IconData folder_off_sharp = IconData(0xf0413, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">folder_off</i> &#x2014; material icon named "folder off" (round).
  static const IconData folder_off_rounded = IconData(0xf0320, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">folder_off</i> &#x2014; material icon named "folder off" (outlined).
  static const IconData folder_off_outlined = IconData(0xf0601, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">folder_open</i> &#x2014; material icon named "folder open".
  static const IconData folder_open = IconData(0xe2a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">folder_open</i> &#x2014; material icon named "folder open" (sharp).
  static const IconData folder_open_sharp = IconData(0xe99e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">folder_open</i> &#x2014; material icon named "folder open" (round).
  static const IconData folder_open_rounded = IconData(0xf77d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">folder_open</i> &#x2014; material icon named "folder open" (outlined).
  static const IconData folder_open_outlined = IconData(0xf090, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">folder_shared</i> &#x2014; material icon named "folder shared".
  static const IconData folder_shared = IconData(0xe2a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">folder_shared</i> &#x2014; material icon named "folder shared" (sharp).
  static const IconData folder_shared_sharp = IconData(0xe99f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">folder_shared</i> &#x2014; material icon named "folder shared" (round).
  static const IconData folder_shared_rounded = IconData(0xf77f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">folder_shared</i> &#x2014; material icon named "folder shared" (outlined).
  static const IconData folder_shared_outlined = IconData(0xf092, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">folder_special</i> &#x2014; material icon named "folder special".
  static const IconData folder_special = IconData(0xe2a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">folder_special</i> &#x2014; material icon named "folder special" (sharp).
  static const IconData folder_special_sharp = IconData(0xe9a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">folder_special</i> &#x2014; material icon named "folder special" (round).
  static const IconData folder_special_rounded = IconData(0xf780, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">folder_special</i> &#x2014; material icon named "folder special" (outlined).
  static const IconData folder_special_outlined = IconData(0xf093, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">folder_zip</i> &#x2014; material icon named "folder zip".
  static const IconData folder_zip = IconData(0xf0509, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">folder_zip</i> &#x2014; material icon named "folder zip" (sharp).
  static const IconData folder_zip_sharp = IconData(0xf0414, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">folder_zip</i> &#x2014; material icon named "folder zip" (round).
  static const IconData folder_zip_rounded = IconData(0xf0321, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">folder_zip</i> &#x2014; material icon named "folder zip" (outlined).
  static const IconData folder_zip_outlined = IconData(0xf0602, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">follow_the_signs</i> &#x2014; material icon named "follow the signs".
  static const IconData follow_the_signs = IconData(0xe2a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">follow_the_signs</i> &#x2014; material icon named "follow the signs" (sharp).
  static const IconData follow_the_signs_sharp = IconData(0xe9a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">follow_the_signs</i> &#x2014; material icon named "follow the signs" (round).
  static const IconData follow_the_signs_rounded = IconData(0xf781, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">follow_the_signs</i> &#x2014; material icon named "follow the signs" (outlined).
  static const IconData follow_the_signs_outlined = IconData(0xf094, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">font_download</i> &#x2014; material icon named "font download".
  static const IconData font_download = IconData(0xe2a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">font_download</i> &#x2014; material icon named "font download" (sharp).
  static const IconData font_download_sharp = IconData(0xe9a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">font_download</i> &#x2014; material icon named "font download" (round).
  static const IconData font_download_rounded = IconData(0xf783, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">font_download</i> &#x2014; material icon named "font download" (outlined).
  static const IconData font_download_outlined = IconData(0xf096, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">font_download_off</i> &#x2014; material icon named "font download off".
  static const IconData font_download_off = IconData(0xe2a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">font_download_off</i> &#x2014; material icon named "font download off" (sharp).
  static const IconData font_download_off_sharp = IconData(0xe9a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">font_download_off</i> &#x2014; material icon named "font download off" (round).
  static const IconData font_download_off_rounded = IconData(0xf782, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">font_download_off</i> &#x2014; material icon named "font download off" (outlined).
  static const IconData font_download_off_outlined = IconData(0xf095, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">food_bank</i> &#x2014; material icon named "food bank".
  static const IconData food_bank = IconData(0xe2aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">food_bank</i> &#x2014; material icon named "food bank" (sharp).
  static const IconData food_bank_sharp = IconData(0xe9a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">food_bank</i> &#x2014; material icon named "food bank" (round).
  static const IconData food_bank_rounded = IconData(0xf784, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">food_bank</i> &#x2014; material icon named "food bank" (outlined).
  static const IconData food_bank_outlined = IconData(0xf097, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">forest</i> &#x2014; material icon named "forest".
  static const IconData forest = IconData(0xf050a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">forest</i> &#x2014; material icon named "forest" (sharp).
  static const IconData forest_sharp = IconData(0xf0415, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">forest</i> &#x2014; material icon named "forest" (round).
  static const IconData forest_rounded = IconData(0xf0322, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">forest</i> &#x2014; material icon named "forest" (outlined).
  static const IconData forest_outlined = IconData(0xf0603, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fork_left</i> &#x2014; material icon named "fork left".
  static const IconData fork_left = IconData(0xf050b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fork_left</i> &#x2014; material icon named "fork left" (sharp).
  static const IconData fork_left_sharp = IconData(0xf0416, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fork_left</i> &#x2014; material icon named "fork left" (round).
  static const IconData fork_left_rounded = IconData(0xf0323, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fork_left</i> &#x2014; material icon named "fork left" (outlined).
  static const IconData fork_left_outlined = IconData(0xf0604, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fork_right</i> &#x2014; material icon named "fork right".
  static const IconData fork_right = IconData(0xf050c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fork_right</i> &#x2014; material icon named "fork right" (sharp).
  static const IconData fork_right_sharp = IconData(0xf0417, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fork_right</i> &#x2014; material icon named "fork right" (round).
  static const IconData fork_right_rounded = IconData(0xf0324, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fork_right</i> &#x2014; material icon named "fork right" (outlined).
  static const IconData fork_right_outlined = IconData(0xf0605, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_align_center</i> &#x2014; material icon named "format align center".
  static const IconData format_align_center = IconData(0xe2ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_align_center</i> &#x2014; material icon named "format align center" (sharp).
  static const IconData format_align_center_sharp = IconData(0xe9a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_align_center</i> &#x2014; material icon named "format align center" (round).
  static const IconData format_align_center_rounded = IconData(0xf785, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_align_center</i> &#x2014; material icon named "format align center" (outlined).
  static const IconData format_align_center_outlined = IconData(0xf098, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_align_justify</i> &#x2014; material icon named "format align justify".
  static const IconData format_align_justify = IconData(0xe2ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_align_justify</i> &#x2014; material icon named "format align justify" (sharp).
  static const IconData format_align_justify_sharp = IconData(0xe9a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_align_justify</i> &#x2014; material icon named "format align justify" (round).
  static const IconData format_align_justify_rounded = IconData(0xf786, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_align_justify</i> &#x2014; material icon named "format align justify" (outlined).
  static const IconData format_align_justify_outlined = IconData(0xf099, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_align_left</i> &#x2014; material icon named "format align left".
  static const IconData format_align_left = IconData(0xe2ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_align_left</i> &#x2014; material icon named "format align left" (sharp).
  static const IconData format_align_left_sharp = IconData(0xe9a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_align_left</i> &#x2014; material icon named "format align left" (round).
  static const IconData format_align_left_rounded = IconData(0xf787, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_align_left</i> &#x2014; material icon named "format align left" (outlined).
  static const IconData format_align_left_outlined = IconData(0xf09a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_align_right</i> &#x2014; material icon named "format align right".
  static const IconData format_align_right = IconData(0xe2ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_align_right</i> &#x2014; material icon named "format align right" (sharp).
  static const IconData format_align_right_sharp = IconData(0xe9a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_align_right</i> &#x2014; material icon named "format align right" (round).
  static const IconData format_align_right_rounded = IconData(0xf788, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_align_right</i> &#x2014; material icon named "format align right" (outlined).
  static const IconData format_align_right_outlined = IconData(0xf09b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_bold</i> &#x2014; material icon named "format bold".
  static const IconData format_bold = IconData(0xe2af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_bold</i> &#x2014; material icon named "format bold" (sharp).
  static const IconData format_bold_sharp = IconData(0xe9aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_bold</i> &#x2014; material icon named "format bold" (round).
  static const IconData format_bold_rounded = IconData(0xf789, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_bold</i> &#x2014; material icon named "format bold" (outlined).
  static const IconData format_bold_outlined = IconData(0xf09c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_clear</i> &#x2014; material icon named "format clear".
  static const IconData format_clear = IconData(0xe2b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_clear</i> &#x2014; material icon named "format clear" (sharp).
  static const IconData format_clear_sharp = IconData(0xe9ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_clear</i> &#x2014; material icon named "format clear" (round).
  static const IconData format_clear_rounded = IconData(0xf78a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_clear</i> &#x2014; material icon named "format clear" (outlined).
  static const IconData format_clear_outlined = IconData(0xf09d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_color_fill</i> &#x2014; material icon named "format color fill".
  static const IconData format_color_fill = IconData(0xe2b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_color_fill</i> &#x2014; material icon named "format color fill" (sharp).
  static const IconData format_color_fill_sharp = IconData(0xe9ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_color_fill</i> &#x2014; material icon named "format color fill" (round).
  static const IconData format_color_fill_rounded = IconData(0xf78b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_color_fill</i> &#x2014; material icon named "format color fill" (outlined).
  static const IconData format_color_fill_outlined = IconData(0xf09e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_color_reset</i> &#x2014; material icon named "format color reset".
  static const IconData format_color_reset = IconData(0xe2b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_color_reset</i> &#x2014; material icon named "format color reset" (sharp).
  static const IconData format_color_reset_sharp = IconData(0xe9ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_color_reset</i> &#x2014; material icon named "format color reset" (round).
  static const IconData format_color_reset_rounded = IconData(0xf78c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_color_reset</i> &#x2014; material icon named "format color reset" (outlined).
  static const IconData format_color_reset_outlined = IconData(0xf09f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_color_text</i> &#x2014; material icon named "format color text".
  static const IconData format_color_text = IconData(0xe2b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_color_text</i> &#x2014; material icon named "format color text" (sharp).
  static const IconData format_color_text_sharp = IconData(0xe9ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_color_text</i> &#x2014; material icon named "format color text" (round).
  static const IconData format_color_text_rounded = IconData(0xf78d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_color_text</i> &#x2014; material icon named "format color text" (outlined).
  static const IconData format_color_text_outlined = IconData(0xf0a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_indent_decrease</i> &#x2014; material icon named "format indent decrease".
  static const IconData format_indent_decrease = IconData(0xe2b4, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">format_indent_decrease</i> &#x2014; material icon named "format indent decrease" (sharp).
  static const IconData format_indent_decrease_sharp = IconData(0xe9af, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">format_indent_decrease</i> &#x2014; material icon named "format indent decrease" (round).
  static const IconData format_indent_decrease_rounded = IconData(0xf78e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">format_indent_decrease</i> &#x2014; material icon named "format indent decrease" (outlined).
  static const IconData format_indent_decrease_outlined = IconData(0xf0a1, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">format_indent_increase</i> &#x2014; material icon named "format indent increase".
  static const IconData format_indent_increase = IconData(0xe2b5, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">format_indent_increase</i> &#x2014; material icon named "format indent increase" (sharp).
  static const IconData format_indent_increase_sharp = IconData(0xe9b0, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">format_indent_increase</i> &#x2014; material icon named "format indent increase" (round).
  static const IconData format_indent_increase_rounded = IconData(0xf78f, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">format_indent_increase</i> &#x2014; material icon named "format indent increase" (outlined).
  static const IconData format_indent_increase_outlined = IconData(0xf0a2, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">format_italic</i> &#x2014; material icon named "format italic".
  static const IconData format_italic = IconData(0xe2b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_italic</i> &#x2014; material icon named "format italic" (sharp).
  static const IconData format_italic_sharp = IconData(0xe9b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_italic</i> &#x2014; material icon named "format italic" (round).
  static const IconData format_italic_rounded = IconData(0xf790, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_italic</i> &#x2014; material icon named "format italic" (outlined).
  static const IconData format_italic_outlined = IconData(0xf0a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_line_spacing</i> &#x2014; material icon named "format line spacing".
  static const IconData format_line_spacing = IconData(0xe2b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_line_spacing</i> &#x2014; material icon named "format line spacing" (sharp).
  static const IconData format_line_spacing_sharp = IconData(0xe9b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_line_spacing</i> &#x2014; material icon named "format line spacing" (round).
  static const IconData format_line_spacing_rounded = IconData(0xf791, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_line_spacing</i> &#x2014; material icon named "format line spacing" (outlined).
  static const IconData format_line_spacing_outlined = IconData(0xf0a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_list_bulleted</i> &#x2014; material icon named "format list bulleted".
  static const IconData format_list_bulleted = IconData(0xe2b8, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">format_list_bulleted</i> &#x2014; material icon named "format list bulleted" (sharp).
  static const IconData format_list_bulleted_sharp = IconData(0xe9b3, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">format_list_bulleted</i> &#x2014; material icon named "format list bulleted" (round).
  static const IconData format_list_bulleted_rounded = IconData(0xf792, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">format_list_bulleted</i> &#x2014; material icon named "format list bulleted" (outlined).
  static const IconData format_list_bulleted_outlined = IconData(0xf0a5, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">format_list_numbered</i> &#x2014; material icon named "format list numbered".
  static const IconData format_list_numbered = IconData(0xe2b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_list_numbered</i> &#x2014; material icon named "format list numbered" (sharp).
  static const IconData format_list_numbered_sharp = IconData(0xe9b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_list_numbered</i> &#x2014; material icon named "format list numbered" (round).
  static const IconData format_list_numbered_rounded = IconData(0xf793, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_list_numbered</i> &#x2014; material icon named "format list numbered" (outlined).
  static const IconData format_list_numbered_outlined = IconData(0xf0a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_list_numbered_rtl</i> &#x2014; material icon named "format list numbered rtl".
  static const IconData format_list_numbered_rtl = IconData(0xe2ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_list_numbered_rtl</i> &#x2014; material icon named "format list numbered rtl" (sharp).
  static const IconData format_list_numbered_rtl_sharp = IconData(0xe9b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_list_numbered_rtl</i> &#x2014; material icon named "format list numbered rtl" (round).
  static const IconData format_list_numbered_rtl_rounded = IconData(0xf794, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_list_numbered_rtl</i> &#x2014; material icon named "format list numbered rtl" (outlined).
  static const IconData format_list_numbered_rtl_outlined = IconData(0xf0a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_overline</i> &#x2014; material icon named "format overline".
  static const IconData format_overline = IconData(0xf050d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_overline</i> &#x2014; material icon named "format overline" (sharp).
  static const IconData format_overline_sharp = IconData(0xf0418, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_overline</i> &#x2014; material icon named "format overline" (round).
  static const IconData format_overline_rounded = IconData(0xf0325, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_overline</i> &#x2014; material icon named "format overline" (outlined).
  static const IconData format_overline_outlined = IconData(0xf0606, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_paint</i> &#x2014; material icon named "format paint".
  static const IconData format_paint = IconData(0xe2bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_paint</i> &#x2014; material icon named "format paint" (sharp).
  static const IconData format_paint_sharp = IconData(0xe9b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_paint</i> &#x2014; material icon named "format paint" (round).
  static const IconData format_paint_rounded = IconData(0xf795, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_paint</i> &#x2014; material icon named "format paint" (outlined).
  static const IconData format_paint_outlined = IconData(0xf0a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_quote</i> &#x2014; material icon named "format quote".
  static const IconData format_quote = IconData(0xe2bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_quote</i> &#x2014; material icon named "format quote" (sharp).
  static const IconData format_quote_sharp = IconData(0xe9b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_quote</i> &#x2014; material icon named "format quote" (round).
  static const IconData format_quote_rounded = IconData(0xf796, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_quote</i> &#x2014; material icon named "format quote" (outlined).
  static const IconData format_quote_outlined = IconData(0xf0a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_shapes</i> &#x2014; material icon named "format shapes".
  static const IconData format_shapes = IconData(0xe2bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_shapes</i> &#x2014; material icon named "format shapes" (sharp).
  static const IconData format_shapes_sharp = IconData(0xe9b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_shapes</i> &#x2014; material icon named "format shapes" (round).
  static const IconData format_shapes_rounded = IconData(0xf797, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_shapes</i> &#x2014; material icon named "format shapes" (outlined).
  static const IconData format_shapes_outlined = IconData(0xf0aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_size</i> &#x2014; material icon named "format size".
  static const IconData format_size = IconData(0xe2be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_size</i> &#x2014; material icon named "format size" (sharp).
  static const IconData format_size_sharp = IconData(0xe9b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_size</i> &#x2014; material icon named "format size" (round).
  static const IconData format_size_rounded = IconData(0xf798, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_size</i> &#x2014; material icon named "format size" (outlined).
  static const IconData format_size_outlined = IconData(0xf0ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_strikethrough</i> &#x2014; material icon named "format strikethrough".
  static const IconData format_strikethrough = IconData(0xe2bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_strikethrough</i> &#x2014; material icon named "format strikethrough" (sharp).
  static const IconData format_strikethrough_sharp = IconData(0xe9ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_strikethrough</i> &#x2014; material icon named "format strikethrough" (round).
  static const IconData format_strikethrough_rounded = IconData(0xf799, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_strikethrough</i> &#x2014; material icon named "format strikethrough" (outlined).
  static const IconData format_strikethrough_outlined = IconData(0xf0ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_textdirection_l_to_r</i> &#x2014; material icon named "format textdirection l to r".
  static const IconData format_textdirection_l_to_r = IconData(0xe2c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_textdirection_l_to_r</i> &#x2014; material icon named "format textdirection l to r" (sharp).
  static const IconData format_textdirection_l_to_r_sharp = IconData(0xe9bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_textdirection_l_to_r</i> &#x2014; material icon named "format textdirection l to r" (round).
  static const IconData format_textdirection_l_to_r_rounded = IconData(0xf79a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_textdirection_l_to_r</i> &#x2014; material icon named "format textdirection l to r" (outlined).
  static const IconData format_textdirection_l_to_r_outlined = IconData(0xf0ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_textdirection_r_to_l</i> &#x2014; material icon named "format textdirection r to l".
  static const IconData format_textdirection_r_to_l = IconData(0xe2c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_textdirection_r_to_l</i> &#x2014; material icon named "format textdirection r to l" (sharp).
  static const IconData format_textdirection_r_to_l_sharp = IconData(0xe9bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_textdirection_r_to_l</i> &#x2014; material icon named "format textdirection r to l" (round).
  static const IconData format_textdirection_r_to_l_rounded = IconData(0xf79b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_textdirection_r_to_l</i> &#x2014; material icon named "format textdirection r to l" (outlined).
  static const IconData format_textdirection_r_to_l_outlined = IconData(0xf0ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_underline</i> &#x2014; material icon named "format underline".
  static const IconData format_underline = IconData(0xe2c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_underline</i> &#x2014; material icon named "format underline" (sharp).
  static const IconData format_underline_sharp = IconData(0xe9bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_underline</i> &#x2014; material icon named "format underline" (round).
  static const IconData format_underline_rounded = IconData(0xf79c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_underline</i> &#x2014; material icon named "format underline" (outlined).
  static const IconData format_underline_outlined = IconData(0xf0af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">format_underlined</i> &#x2014; material icon named "format underlined".
  static const IconData format_underlined = IconData(0xe2c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">format_underlined</i> &#x2014; material icon named "format underlined" (sharp).
  static const IconData format_underlined_sharp = IconData(0xe9bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">format_underlined</i> &#x2014; material icon named "format underlined" (round).
  static const IconData format_underlined_rounded = IconData(0xf79c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">format_underlined</i> &#x2014; material icon named "format underlined" (outlined).
  static const IconData format_underlined_outlined = IconData(0xf0af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fort</i> &#x2014; material icon named "fort".
  static const IconData fort = IconData(0xf050e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fort</i> &#x2014; material icon named "fort" (sharp).
  static const IconData fort_sharp = IconData(0xf0419, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fort</i> &#x2014; material icon named "fort" (round).
  static const IconData fort_rounded = IconData(0xf0326, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fort</i> &#x2014; material icon named "fort" (outlined).
  static const IconData fort_outlined = IconData(0xf0607, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">forum</i> &#x2014; material icon named "forum".
  static const IconData forum = IconData(0xe2c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">forum</i> &#x2014; material icon named "forum" (sharp).
  static const IconData forum_sharp = IconData(0xe9be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">forum</i> &#x2014; material icon named "forum" (round).
  static const IconData forum_rounded = IconData(0xf79d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">forum</i> &#x2014; material icon named "forum" (outlined).
  static const IconData forum_outlined = IconData(0xf0b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">forward</i> &#x2014; material icon named "forward".
  static const IconData forward = IconData(0xe2c4, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">forward</i> &#x2014; material icon named "forward" (sharp).
  static const IconData forward_sharp = IconData(0xe9c2, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">forward</i> &#x2014; material icon named "forward" (round).
  static const IconData forward_rounded = IconData(0xf7a1, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">forward</i> &#x2014; material icon named "forward" (outlined).
  static const IconData forward_outlined = IconData(0xf0b4, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">forward_10</i> &#x2014; material icon named "forward 10".
  static const IconData forward_10 = IconData(0xe2c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">forward_10</i> &#x2014; material icon named "forward 10" (sharp).
  static const IconData forward_10_sharp = IconData(0xe9bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">forward_10</i> &#x2014; material icon named "forward 10" (round).
  static const IconData forward_10_rounded = IconData(0xf79e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">forward_10</i> &#x2014; material icon named "forward 10" (outlined).
  static const IconData forward_10_outlined = IconData(0xf0b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">forward_30</i> &#x2014; material icon named "forward 30".
  static const IconData forward_30 = IconData(0xe2c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">forward_30</i> &#x2014; material icon named "forward 30" (sharp).
  static const IconData forward_30_sharp = IconData(0xe9c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">forward_30</i> &#x2014; material icon named "forward 30" (round).
  static const IconData forward_30_rounded = IconData(0xf79f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">forward_30</i> &#x2014; material icon named "forward 30" (outlined).
  static const IconData forward_30_outlined = IconData(0xf0b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">forward_5</i> &#x2014; material icon named "forward 5".
  static const IconData forward_5 = IconData(0xe2c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">forward_5</i> &#x2014; material icon named "forward 5" (sharp).
  static const IconData forward_5_sharp = IconData(0xe9c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">forward_5</i> &#x2014; material icon named "forward 5" (round).
  static const IconData forward_5_rounded = IconData(0xf7a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">forward_5</i> &#x2014; material icon named "forward 5" (outlined).
  static const IconData forward_5_outlined = IconData(0xf0b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">forward_to_inbox</i> &#x2014; material icon named "forward to inbox".
  static const IconData forward_to_inbox = IconData(0xe2c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">forward_to_inbox</i> &#x2014; material icon named "forward to inbox" (sharp).
  static const IconData forward_to_inbox_sharp = IconData(0xe9c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">forward_to_inbox</i> &#x2014; material icon named "forward to inbox" (round).
  static const IconData forward_to_inbox_rounded = IconData(0xf7a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">forward_to_inbox</i> &#x2014; material icon named "forward to inbox" (outlined).
  static const IconData forward_to_inbox_outlined = IconData(0xf0b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">foundation</i> &#x2014; material icon named "foundation".
  static const IconData foundation = IconData(0xe2c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">foundation</i> &#x2014; material icon named "foundation" (sharp).
  static const IconData foundation_sharp = IconData(0xe9c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">foundation</i> &#x2014; material icon named "foundation" (round).
  static const IconData foundation_rounded = IconData(0xf7a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">foundation</i> &#x2014; material icon named "foundation" (outlined).
  static const IconData foundation_outlined = IconData(0xf0b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">free_breakfast</i> &#x2014; material icon named "free breakfast".
  static const IconData free_breakfast = IconData(0xe2ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">free_breakfast</i> &#x2014; material icon named "free breakfast" (sharp).
  static const IconData free_breakfast_sharp = IconData(0xe9c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">free_breakfast</i> &#x2014; material icon named "free breakfast" (round).
  static const IconData free_breakfast_rounded = IconData(0xf7a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">free_breakfast</i> &#x2014; material icon named "free breakfast" (outlined).
  static const IconData free_breakfast_outlined = IconData(0xf0b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">free_cancellation</i> &#x2014; material icon named "free cancellation".
  static const IconData free_cancellation = IconData(0xf050f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">free_cancellation</i> &#x2014; material icon named "free cancellation" (sharp).
  static const IconData free_cancellation_sharp = IconData(0xf041a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">free_cancellation</i> &#x2014; material icon named "free cancellation" (round).
  static const IconData free_cancellation_rounded = IconData(0xf0327, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">free_cancellation</i> &#x2014; material icon named "free cancellation" (outlined).
  static const IconData free_cancellation_outlined = IconData(0xf0608, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">front_hand</i> &#x2014; material icon named "front hand".
  static const IconData front_hand = IconData(0xf0510, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">front_hand</i> &#x2014; material icon named "front hand" (sharp).
  static const IconData front_hand_sharp = IconData(0xf041b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">front_hand</i> &#x2014; material icon named "front hand" (round).
  static const IconData front_hand_rounded = IconData(0xf0328, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">front_hand</i> &#x2014; material icon named "front hand" (outlined).
  static const IconData front_hand_outlined = IconData(0xf0609, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fullscreen</i> &#x2014; material icon named "fullscreen".
  static const IconData fullscreen = IconData(0xe2cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fullscreen</i> &#x2014; material icon named "fullscreen" (sharp).
  static const IconData fullscreen_sharp = IconData(0xe9c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fullscreen</i> &#x2014; material icon named "fullscreen" (round).
  static const IconData fullscreen_rounded = IconData(0xf7a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fullscreen</i> &#x2014; material icon named "fullscreen" (outlined).
  static const IconData fullscreen_outlined = IconData(0xf0b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">fullscreen_exit</i> &#x2014; material icon named "fullscreen exit".
  static const IconData fullscreen_exit = IconData(0xe2cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">fullscreen_exit</i> &#x2014; material icon named "fullscreen exit" (sharp).
  static const IconData fullscreen_exit_sharp = IconData(0xe9c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">fullscreen_exit</i> &#x2014; material icon named "fullscreen exit" (round).
  static const IconData fullscreen_exit_rounded = IconData(0xf7a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">fullscreen_exit</i> &#x2014; material icon named "fullscreen exit" (outlined).
  static const IconData fullscreen_exit_outlined = IconData(0xf0b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">functions</i> &#x2014; material icon named "functions".
  static const IconData functions = IconData(0xe2cd, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">functions</i> &#x2014; material icon named "functions" (sharp).
  static const IconData functions_sharp = IconData(0xe9c8, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">functions</i> &#x2014; material icon named "functions" (round).
  static const IconData functions_rounded = IconData(0xf7a7, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">functions</i> &#x2014; material icon named "functions" (outlined).
  static const IconData functions_outlined = IconData(0xf0ba, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">g_mobiledata</i> &#x2014; material icon named "g mobiledata".
  static const IconData g_mobiledata = IconData(0xe2ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">g_mobiledata</i> &#x2014; material icon named "g mobiledata" (sharp).
  static const IconData g_mobiledata_sharp = IconData(0xe9c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">g_mobiledata</i> &#x2014; material icon named "g mobiledata" (round).
  static const IconData g_mobiledata_rounded = IconData(0xf7a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">g_mobiledata</i> &#x2014; material icon named "g mobiledata" (outlined).
  static const IconData g_mobiledata_outlined = IconData(0xf0bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">g_translate</i> &#x2014; material icon named "g translate".
  static const IconData g_translate = IconData(0xe2cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">g_translate</i> &#x2014; material icon named "g translate" (sharp).
  static const IconData g_translate_sharp = IconData(0xe9ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">g_translate</i> &#x2014; material icon named "g translate" (round).
  static const IconData g_translate_rounded = IconData(0xf7a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">g_translate</i> &#x2014; material icon named "g translate" (outlined).
  static const IconData g_translate_outlined = IconData(0xf0bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">gamepad</i> &#x2014; material icon named "gamepad".
  static const IconData gamepad = IconData(0xe2d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">gamepad</i> &#x2014; material icon named "gamepad" (sharp).
  static const IconData gamepad_sharp = IconData(0xe9cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">gamepad</i> &#x2014; material icon named "gamepad" (round).
  static const IconData gamepad_rounded = IconData(0xf7aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">gamepad</i> &#x2014; material icon named "gamepad" (outlined).
  static const IconData gamepad_outlined = IconData(0xf0bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">games</i> &#x2014; material icon named "games".
  static const IconData games = IconData(0xe2d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">games</i> &#x2014; material icon named "games" (sharp).
  static const IconData games_sharp = IconData(0xe9cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">games</i> &#x2014; material icon named "games" (round).
  static const IconData games_rounded = IconData(0xf7ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">games</i> &#x2014; material icon named "games" (outlined).
  static const IconData games_outlined = IconData(0xf0be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">garage</i> &#x2014; material icon named "garage".
  static const IconData garage = IconData(0xe2d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">garage</i> &#x2014; material icon named "garage" (sharp).
  static const IconData garage_sharp = IconData(0xe9cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">garage</i> &#x2014; material icon named "garage" (round).
  static const IconData garage_rounded = IconData(0xf7ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">garage</i> &#x2014; material icon named "garage" (outlined).
  static const IconData garage_outlined = IconData(0xf0bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">gas_meter</i> &#x2014; material icon named "gas meter".
  static const IconData gas_meter = IconData(0xf07a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">gas_meter</i> &#x2014; material icon named "gas meter" (sharp).
  static const IconData gas_meter_sharp = IconData(0xf074c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">gas_meter</i> &#x2014; material icon named "gas meter" (round).
  static const IconData gas_meter_rounded = IconData(0xf07fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">gas_meter</i> &#x2014; material icon named "gas meter" (outlined).
  static const IconData gas_meter_outlined = IconData(0xf06f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">gavel</i> &#x2014; material icon named "gavel".
  static const IconData gavel = IconData(0xe2d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">gavel</i> &#x2014; material icon named "gavel" (sharp).
  static const IconData gavel_sharp = IconData(0xe9ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">gavel</i> &#x2014; material icon named "gavel" (round).
  static const IconData gavel_rounded = IconData(0xf7ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">gavel</i> &#x2014; material icon named "gavel" (outlined).
  static const IconData gavel_outlined = IconData(0xf0c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">generating_tokens</i> &#x2014; material icon named "generating tokens".
  static const IconData generating_tokens = IconData(0xf0511, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">generating_tokens</i> &#x2014; material icon named "generating tokens" (sharp).
  static const IconData generating_tokens_sharp = IconData(0xf041c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">generating_tokens</i> &#x2014; material icon named "generating tokens" (round).
  static const IconData generating_tokens_rounded = IconData(0xf0329, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">generating_tokens</i> &#x2014; material icon named "generating tokens" (outlined).
  static const IconData generating_tokens_outlined = IconData(0xf060a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">gesture</i> &#x2014; material icon named "gesture".
  static const IconData gesture = IconData(0xe2d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">gesture</i> &#x2014; material icon named "gesture" (sharp).
  static const IconData gesture_sharp = IconData(0xe9cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">gesture</i> &#x2014; material icon named "gesture" (round).
  static const IconData gesture_rounded = IconData(0xf7ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">gesture</i> &#x2014; material icon named "gesture" (outlined).
  static const IconData gesture_outlined = IconData(0xf0c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">get_app</i> &#x2014; material icon named "get app".
  static const IconData get_app = IconData(0xe2d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">get_app</i> &#x2014; material icon named "get app" (sharp).
  static const IconData get_app_sharp = IconData(0xe9d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">get_app</i> &#x2014; material icon named "get app" (round).
  static const IconData get_app_rounded = IconData(0xf7af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">get_app</i> &#x2014; material icon named "get app" (outlined).
  static const IconData get_app_outlined = IconData(0xf0c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">gif</i> &#x2014; material icon named "gif".
  static const IconData gif = IconData(0xe2d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">gif</i> &#x2014; material icon named "gif" (sharp).
  static const IconData gif_sharp = IconData(0xe9d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">gif</i> &#x2014; material icon named "gif" (round).
  static const IconData gif_rounded = IconData(0xf7b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">gif</i> &#x2014; material icon named "gif" (outlined).
  static const IconData gif_outlined = IconData(0xf0c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">gif_box</i> &#x2014; material icon named "gif box".
  static const IconData gif_box = IconData(0xf0512, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">gif_box</i> &#x2014; material icon named "gif box" (sharp).
  static const IconData gif_box_sharp = IconData(0xf041d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">gif_box</i> &#x2014; material icon named "gif box" (round).
  static const IconData gif_box_rounded = IconData(0xf032a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">gif_box</i> &#x2014; material icon named "gif box" (outlined).
  static const IconData gif_box_outlined = IconData(0xf060b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">girl</i> &#x2014; material icon named "girl".
  static const IconData girl = IconData(0xf0513, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">girl</i> &#x2014; material icon named "girl" (sharp).
  static const IconData girl_sharp = IconData(0xf041e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">girl</i> &#x2014; material icon named "girl" (round).
  static const IconData girl_rounded = IconData(0xf032b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">girl</i> &#x2014; material icon named "girl" (outlined).
  static const IconData girl_outlined = IconData(0xf060c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">gite</i> &#x2014; material icon named "gite".
  static const IconData gite = IconData(0xe2d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">gite</i> &#x2014; material icon named "gite" (sharp).
  static const IconData gite_sharp = IconData(0xe9d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">gite</i> &#x2014; material icon named "gite" (round).
  static const IconData gite_rounded = IconData(0xf7b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">gite</i> &#x2014; material icon named "gite" (outlined).
  static const IconData gite_outlined = IconData(0xf0c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">golf_course</i> &#x2014; material icon named "golf course".
  static const IconData golf_course = IconData(0xe2d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">golf_course</i> &#x2014; material icon named "golf course" (sharp).
  static const IconData golf_course_sharp = IconData(0xe9d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">golf_course</i> &#x2014; material icon named "golf course" (round).
  static const IconData golf_course_rounded = IconData(0xf7b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">golf_course</i> &#x2014; material icon named "golf course" (outlined).
  static const IconData golf_course_outlined = IconData(0xf0c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">gpp_bad</i> &#x2014; material icon named "gpp bad".
  static const IconData gpp_bad = IconData(0xe2d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">gpp_bad</i> &#x2014; material icon named "gpp bad" (sharp).
  static const IconData gpp_bad_sharp = IconData(0xe9d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">gpp_bad</i> &#x2014; material icon named "gpp bad" (round).
  static const IconData gpp_bad_rounded = IconData(0xf7b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">gpp_bad</i> &#x2014; material icon named "gpp bad" (outlined).
  static const IconData gpp_bad_outlined = IconData(0xf0c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">gpp_good</i> &#x2014; material icon named "gpp good".
  static const IconData gpp_good = IconData(0xe2da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">gpp_good</i> &#x2014; material icon named "gpp good" (sharp).
  static const IconData gpp_good_sharp = IconData(0xe9d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">gpp_good</i> &#x2014; material icon named "gpp good" (round).
  static const IconData gpp_good_rounded = IconData(0xf7b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">gpp_good</i> &#x2014; material icon named "gpp good" (outlined).
  static const IconData gpp_good_outlined = IconData(0xf0c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">gpp_maybe</i> &#x2014; material icon named "gpp maybe".
  static const IconData gpp_maybe = IconData(0xe2db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">gpp_maybe</i> &#x2014; material icon named "gpp maybe" (sharp).
  static const IconData gpp_maybe_sharp = IconData(0xe9d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">gpp_maybe</i> &#x2014; material icon named "gpp maybe" (round).
  static const IconData gpp_maybe_rounded = IconData(0xf7b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">gpp_maybe</i> &#x2014; material icon named "gpp maybe" (outlined).
  static const IconData gpp_maybe_outlined = IconData(0xf0c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">gps_fixed</i> &#x2014; material icon named "gps fixed".
  static const IconData gps_fixed = IconData(0xe2dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">gps_fixed</i> &#x2014; material icon named "gps fixed" (sharp).
  static const IconData gps_fixed_sharp = IconData(0xe9d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">gps_fixed</i> &#x2014; material icon named "gps fixed" (round).
  static const IconData gps_fixed_rounded = IconData(0xf7b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">gps_fixed</i> &#x2014; material icon named "gps fixed" (outlined).
  static const IconData gps_fixed_outlined = IconData(0xf0c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">gps_not_fixed</i> &#x2014; material icon named "gps not fixed".
  static const IconData gps_not_fixed = IconData(0xe2dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">gps_not_fixed</i> &#x2014; material icon named "gps not fixed" (sharp).
  static const IconData gps_not_fixed_sharp = IconData(0xe9d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">gps_not_fixed</i> &#x2014; material icon named "gps not fixed" (round).
  static const IconData gps_not_fixed_rounded = IconData(0xf7b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">gps_not_fixed</i> &#x2014; material icon named "gps not fixed" (outlined).
  static const IconData gps_not_fixed_outlined = IconData(0xf0ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">gps_off</i> &#x2014; material icon named "gps off".
  static const IconData gps_off = IconData(0xe2de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">gps_off</i> &#x2014; material icon named "gps off" (sharp).
  static const IconData gps_off_sharp = IconData(0xe9d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">gps_off</i> &#x2014; material icon named "gps off" (round).
  static const IconData gps_off_rounded = IconData(0xf7b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">gps_off</i> &#x2014; material icon named "gps off" (outlined).
  static const IconData gps_off_outlined = IconData(0xf0cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">grade</i> &#x2014; material icon named "grade".
  static const IconData grade = IconData(0xe2df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">grade</i> &#x2014; material icon named "grade" (sharp).
  static const IconData grade_sharp = IconData(0xe9da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">grade</i> &#x2014; material icon named "grade" (round).
  static const IconData grade_rounded = IconData(0xf7b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">grade</i> &#x2014; material icon named "grade" (outlined).
  static const IconData grade_outlined = IconData(0xf0cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">gradient</i> &#x2014; material icon named "gradient".
  static const IconData gradient = IconData(0xe2e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">gradient</i> &#x2014; material icon named "gradient" (sharp).
  static const IconData gradient_sharp = IconData(0xe9db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">gradient</i> &#x2014; material icon named "gradient" (round).
  static const IconData gradient_rounded = IconData(0xf7ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">gradient</i> &#x2014; material icon named "gradient" (outlined).
  static const IconData gradient_outlined = IconData(0xf0cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">grading</i> &#x2014; material icon named "grading".
  static const IconData grading = IconData(0xe2e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">grading</i> &#x2014; material icon named "grading" (sharp).
  static const IconData grading_sharp = IconData(0xe9dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">grading</i> &#x2014; material icon named "grading" (round).
  static const IconData grading_rounded = IconData(0xf7bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">grading</i> &#x2014; material icon named "grading" (outlined).
  static const IconData grading_outlined = IconData(0xf0ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">grain</i> &#x2014; material icon named "grain".
  static const IconData grain = IconData(0xe2e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">grain</i> &#x2014; material icon named "grain" (sharp).
  static const IconData grain_sharp = IconData(0xe9dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">grain</i> &#x2014; material icon named "grain" (round).
  static const IconData grain_rounded = IconData(0xf7bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">grain</i> &#x2014; material icon named "grain" (outlined).
  static const IconData grain_outlined = IconData(0xf0cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">graphic_eq</i> &#x2014; material icon named "graphic eq".
  static const IconData graphic_eq = IconData(0xe2e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">graphic_eq</i> &#x2014; material icon named "graphic eq" (sharp).
  static const IconData graphic_eq_sharp = IconData(0xe9de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">graphic_eq</i> &#x2014; material icon named "graphic eq" (round).
  static const IconData graphic_eq_rounded = IconData(0xf7bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">graphic_eq</i> &#x2014; material icon named "graphic eq" (outlined).
  static const IconData graphic_eq_outlined = IconData(0xf0d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">grass</i> &#x2014; material icon named "grass".
  static const IconData grass = IconData(0xe2e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">grass</i> &#x2014; material icon named "grass" (sharp).
  static const IconData grass_sharp = IconData(0xe9df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">grass</i> &#x2014; material icon named "grass" (round).
  static const IconData grass_rounded = IconData(0xf7be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">grass</i> &#x2014; material icon named "grass" (outlined).
  static const IconData grass_outlined = IconData(0xf0d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">grid_3x3</i> &#x2014; material icon named "grid 3x3".
  static const IconData grid_3x3 = IconData(0xe2e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">grid_3x3</i> &#x2014; material icon named "grid 3x3" (sharp).
  static const IconData grid_3x3_sharp = IconData(0xe9e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">grid_3x3</i> &#x2014; material icon named "grid 3x3" (round).
  static const IconData grid_3x3_rounded = IconData(0xf7bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">grid_3x3</i> &#x2014; material icon named "grid 3x3" (outlined).
  static const IconData grid_3x3_outlined = IconData(0xf0d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">grid_4x4</i> &#x2014; material icon named "grid 4x4".
  static const IconData grid_4x4 = IconData(0xe2e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">grid_4x4</i> &#x2014; material icon named "grid 4x4" (sharp).
  static const IconData grid_4x4_sharp = IconData(0xe9e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">grid_4x4</i> &#x2014; material icon named "grid 4x4" (round).
  static const IconData grid_4x4_rounded = IconData(0xf7c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">grid_4x4</i> &#x2014; material icon named "grid 4x4" (outlined).
  static const IconData grid_4x4_outlined = IconData(0xf0d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">grid_goldenratio</i> &#x2014; material icon named "grid goldenratio".
  static const IconData grid_goldenratio = IconData(0xe2e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">grid_goldenratio</i> &#x2014; material icon named "grid goldenratio" (sharp).
  static const IconData grid_goldenratio_sharp = IconData(0xe9e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">grid_goldenratio</i> &#x2014; material icon named "grid goldenratio" (round).
  static const IconData grid_goldenratio_rounded = IconData(0xf7c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">grid_goldenratio</i> &#x2014; material icon named "grid goldenratio" (outlined).
  static const IconData grid_goldenratio_outlined = IconData(0xf0d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">grid_off</i> &#x2014; material icon named "grid off".
  static const IconData grid_off = IconData(0xe2e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">grid_off</i> &#x2014; material icon named "grid off" (sharp).
  static const IconData grid_off_sharp = IconData(0xe9e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">grid_off</i> &#x2014; material icon named "grid off" (round).
  static const IconData grid_off_rounded = IconData(0xf7c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">grid_off</i> &#x2014; material icon named "grid off" (outlined).
  static const IconData grid_off_outlined = IconData(0xf0d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">grid_on</i> &#x2014; material icon named "grid on".
  static const IconData grid_on = IconData(0xe2e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">grid_on</i> &#x2014; material icon named "grid on" (sharp).
  static const IconData grid_on_sharp = IconData(0xe9e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">grid_on</i> &#x2014; material icon named "grid on" (round).
  static const IconData grid_on_rounded = IconData(0xf7c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">grid_on</i> &#x2014; material icon named "grid on" (outlined).
  static const IconData grid_on_outlined = IconData(0xf0d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">grid_view</i> &#x2014; material icon named "grid view".
  static const IconData grid_view = IconData(0xe2ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">grid_view</i> &#x2014; material icon named "grid view" (sharp).
  static const IconData grid_view_sharp = IconData(0xe9e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">grid_view</i> &#x2014; material icon named "grid view" (round).
  static const IconData grid_view_rounded = IconData(0xf7c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">grid_view</i> &#x2014; material icon named "grid view" (outlined).
  static const IconData grid_view_outlined = IconData(0xf0d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">group</i> &#x2014; material icon named "group".
  static const IconData group = IconData(0xe2eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">group</i> &#x2014; material icon named "group" (sharp).
  static const IconData group_sharp = IconData(0xe9e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">group</i> &#x2014; material icon named "group" (round).
  static const IconData group_rounded = IconData(0xf7c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">group</i> &#x2014; material icon named "group" (outlined).
  static const IconData group_outlined = IconData(0xf0d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">group_add</i> &#x2014; material icon named "group add".
  static const IconData group_add = IconData(0xe2ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">group_add</i> &#x2014; material icon named "group add" (sharp).
  static const IconData group_add_sharp = IconData(0xe9e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">group_add</i> &#x2014; material icon named "group add" (round).
  static const IconData group_add_rounded = IconData(0xf7c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">group_add</i> &#x2014; material icon named "group add" (outlined).
  static const IconData group_add_outlined = IconData(0xf0d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">group_off</i> &#x2014; material icon named "group off".
  static const IconData group_off = IconData(0xf0514, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">group_off</i> &#x2014; material icon named "group off" (sharp).
  static const IconData group_off_sharp = IconData(0xf041f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">group_off</i> &#x2014; material icon named "group off" (round).
  static const IconData group_off_rounded = IconData(0xf032c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">group_off</i> &#x2014; material icon named "group off" (outlined).
  static const IconData group_off_outlined = IconData(0xf060d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">group_remove</i> &#x2014; material icon named "group remove".
  static const IconData group_remove = IconData(0xf0515, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">group_remove</i> &#x2014; material icon named "group remove" (sharp).
  static const IconData group_remove_sharp = IconData(0xf0420, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">group_remove</i> &#x2014; material icon named "group remove" (round).
  static const IconData group_remove_rounded = IconData(0xf032d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">group_remove</i> &#x2014; material icon named "group remove" (outlined).
  static const IconData group_remove_outlined = IconData(0xf060e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">group_work</i> &#x2014; material icon named "group work".
  static const IconData group_work = IconData(0xe2ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">group_work</i> &#x2014; material icon named "group work" (sharp).
  static const IconData group_work_sharp = IconData(0xe9e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">group_work</i> &#x2014; material icon named "group work" (round).
  static const IconData group_work_rounded = IconData(0xf7c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">group_work</i> &#x2014; material icon named "group work" (outlined).
  static const IconData group_work_outlined = IconData(0xf0da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">groups</i> &#x2014; material icon named "groups".
  static const IconData groups = IconData(0xe2ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">groups</i> &#x2014; material icon named "groups" (sharp).
  static const IconData groups_sharp = IconData(0xe9e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">groups</i> &#x2014; material icon named "groups" (round).
  static const IconData groups_rounded = IconData(0xf7c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">groups</i> &#x2014; material icon named "groups" (outlined).
  static const IconData groups_outlined = IconData(0xf0db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">h_mobiledata</i> &#x2014; material icon named "h mobiledata".
  static const IconData h_mobiledata = IconData(0xe2ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">h_mobiledata</i> &#x2014; material icon named "h mobiledata" (sharp).
  static const IconData h_mobiledata_sharp = IconData(0xe9ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">h_mobiledata</i> &#x2014; material icon named "h mobiledata" (round).
  static const IconData h_mobiledata_rounded = IconData(0xf7c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">h_mobiledata</i> &#x2014; material icon named "h mobiledata" (outlined).
  static const IconData h_mobiledata_outlined = IconData(0xf0dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">h_plus_mobiledata</i> &#x2014; material icon named "h plus mobiledata".
  static const IconData h_plus_mobiledata = IconData(0xe2f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">h_plus_mobiledata</i> &#x2014; material icon named "h plus mobiledata" (sharp).
  static const IconData h_plus_mobiledata_sharp = IconData(0xe9eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">h_plus_mobiledata</i> &#x2014; material icon named "h plus mobiledata" (round).
  static const IconData h_plus_mobiledata_rounded = IconData(0xf7ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">h_plus_mobiledata</i> &#x2014; material icon named "h plus mobiledata" (outlined).
  static const IconData h_plus_mobiledata_outlined = IconData(0xf0dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hail</i> &#x2014; material icon named "hail".
  static const IconData hail = IconData(0xe2f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hail</i> &#x2014; material icon named "hail" (sharp).
  static const IconData hail_sharp = IconData(0xe9ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hail</i> &#x2014; material icon named "hail" (round).
  static const IconData hail_rounded = IconData(0xf7cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hail</i> &#x2014; material icon named "hail" (outlined).
  static const IconData hail_outlined = IconData(0xf0de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">handshake</i> &#x2014; material icon named "handshake".
  static const IconData handshake = IconData(0xf06be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">handshake</i> &#x2014; material icon named "handshake" (sharp).
  static const IconData handshake_sharp = IconData(0xf06b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">handshake</i> &#x2014; material icon named "handshake" (round).
  static const IconData handshake_rounded = IconData(0xf06cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">handshake</i> &#x2014; material icon named "handshake" (outlined).
  static const IconData handshake_outlined = IconData(0xf06a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">handyman</i> &#x2014; material icon named "handyman".
  static const IconData handyman = IconData(0xe2f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">handyman</i> &#x2014; material icon named "handyman" (sharp).
  static const IconData handyman_sharp = IconData(0xe9ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">handyman</i> &#x2014; material icon named "handyman" (round).
  static const IconData handyman_rounded = IconData(0xf7cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">handyman</i> &#x2014; material icon named "handyman" (outlined).
  static const IconData handyman_outlined = IconData(0xf0df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hardware</i> &#x2014; material icon named "hardware".
  static const IconData hardware = IconData(0xe2f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hardware</i> &#x2014; material icon named "hardware" (sharp).
  static const IconData hardware_sharp = IconData(0xe9ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hardware</i> &#x2014; material icon named "hardware" (round).
  static const IconData hardware_rounded = IconData(0xf7cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hardware</i> &#x2014; material icon named "hardware" (outlined).
  static const IconData hardware_outlined = IconData(0xf0e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hd</i> &#x2014; material icon named "hd".
  static const IconData hd = IconData(0xe2f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hd</i> &#x2014; material icon named "hd" (sharp).
  static const IconData hd_sharp = IconData(0xe9ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hd</i> &#x2014; material icon named "hd" (round).
  static const IconData hd_rounded = IconData(0xf7ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hd</i> &#x2014; material icon named "hd" (outlined).
  static const IconData hd_outlined = IconData(0xf0e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hdr_auto</i> &#x2014; material icon named "hdr auto".
  static const IconData hdr_auto = IconData(0xe2f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hdr_auto</i> &#x2014; material icon named "hdr auto" (sharp).
  static const IconData hdr_auto_sharp = IconData(0xe9f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hdr_auto</i> &#x2014; material icon named "hdr auto" (round).
  static const IconData hdr_auto_rounded = IconData(0xf7cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hdr_auto</i> &#x2014; material icon named "hdr auto" (outlined).
  static const IconData hdr_auto_outlined = IconData(0xf0e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hdr_auto_select</i> &#x2014; material icon named "hdr auto select".
  static const IconData hdr_auto_select = IconData(0xe2f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hdr_auto_select</i> &#x2014; material icon named "hdr auto select" (sharp).
  static const IconData hdr_auto_select_sharp = IconData(0xe9f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hdr_auto_select</i> &#x2014; material icon named "hdr auto select" (round).
  static const IconData hdr_auto_select_rounded = IconData(0xf7d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hdr_auto_select</i> &#x2014; material icon named "hdr auto select" (outlined).
  static const IconData hdr_auto_select_outlined = IconData(0xf0e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hdr_enhanced_select</i> &#x2014; material icon named "hdr enhanced select".
  static const IconData hdr_enhanced_select = IconData(0xe2f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hdr_enhanced_select</i> &#x2014; material icon named "hdr enhanced select" (sharp).
  static const IconData hdr_enhanced_select_sharp = IconData(0xe9f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hdr_enhanced_select</i> &#x2014; material icon named "hdr enhanced select" (round).
  static const IconData hdr_enhanced_select_rounded = IconData(0xf7d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hdr_enhanced_select</i> &#x2014; material icon named "hdr enhanced select" (outlined).
  static const IconData hdr_enhanced_select_outlined = IconData(0xf0e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hdr_off</i> &#x2014; material icon named "hdr off".
  static const IconData hdr_off = IconData(0xe2f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hdr_off</i> &#x2014; material icon named "hdr off" (sharp).
  static const IconData hdr_off_sharp = IconData(0xe9f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hdr_off</i> &#x2014; material icon named "hdr off" (round).
  static const IconData hdr_off_rounded = IconData(0xf7d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hdr_off</i> &#x2014; material icon named "hdr off" (outlined).
  static const IconData hdr_off_outlined = IconData(0xf0e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hdr_off_select</i> &#x2014; material icon named "hdr off select".
  static const IconData hdr_off_select = IconData(0xe2f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hdr_off_select</i> &#x2014; material icon named "hdr off select" (sharp).
  static const IconData hdr_off_select_sharp = IconData(0xe9f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hdr_off_select</i> &#x2014; material icon named "hdr off select" (round).
  static const IconData hdr_off_select_rounded = IconData(0xf7d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hdr_off_select</i> &#x2014; material icon named "hdr off select" (outlined).
  static const IconData hdr_off_select_outlined = IconData(0xf0e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hdr_on</i> &#x2014; material icon named "hdr on".
  static const IconData hdr_on = IconData(0xe2fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hdr_on</i> &#x2014; material icon named "hdr on" (sharp).
  static const IconData hdr_on_sharp = IconData(0xe9f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hdr_on</i> &#x2014; material icon named "hdr on" (round).
  static const IconData hdr_on_rounded = IconData(0xf7d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hdr_on</i> &#x2014; material icon named "hdr on" (outlined).
  static const IconData hdr_on_outlined = IconData(0xf0e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hdr_on_select</i> &#x2014; material icon named "hdr on select".
  static const IconData hdr_on_select = IconData(0xe2fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hdr_on_select</i> &#x2014; material icon named "hdr on select" (sharp).
  static const IconData hdr_on_select_sharp = IconData(0xe9f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hdr_on_select</i> &#x2014; material icon named "hdr on select" (round).
  static const IconData hdr_on_select_rounded = IconData(0xf7d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hdr_on_select</i> &#x2014; material icon named "hdr on select" (outlined).
  static const IconData hdr_on_select_outlined = IconData(0xf0e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hdr_plus</i> &#x2014; material icon named "hdr plus".
  static const IconData hdr_plus = IconData(0xe2fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hdr_plus</i> &#x2014; material icon named "hdr plus" (sharp).
  static const IconData hdr_plus_sharp = IconData(0xe9f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hdr_plus</i> &#x2014; material icon named "hdr plus" (round).
  static const IconData hdr_plus_rounded = IconData(0xf7d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hdr_plus</i> &#x2014; material icon named "hdr plus" (outlined).
  static const IconData hdr_plus_outlined = IconData(0xf0e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hdr_strong</i> &#x2014; material icon named "hdr strong".
  static const IconData hdr_strong = IconData(0xe2fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hdr_strong</i> &#x2014; material icon named "hdr strong" (sharp).
  static const IconData hdr_strong_sharp = IconData(0xe9f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hdr_strong</i> &#x2014; material icon named "hdr strong" (round).
  static const IconData hdr_strong_rounded = IconData(0xf7d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hdr_strong</i> &#x2014; material icon named "hdr strong" (outlined).
  static const IconData hdr_strong_outlined = IconData(0xf0ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hdr_weak</i> &#x2014; material icon named "hdr weak".
  static const IconData hdr_weak = IconData(0xe2fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hdr_weak</i> &#x2014; material icon named "hdr weak" (sharp).
  static const IconData hdr_weak_sharp = IconData(0xe9f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hdr_weak</i> &#x2014; material icon named "hdr weak" (round).
  static const IconData hdr_weak_rounded = IconData(0xf7d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hdr_weak</i> &#x2014; material icon named "hdr weak" (outlined).
  static const IconData hdr_weak_outlined = IconData(0xf0eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">headphones</i> &#x2014; material icon named "headphones".
  static const IconData headphones = IconData(0xe2ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">headphones</i> &#x2014; material icon named "headphones" (sharp).
  static const IconData headphones_sharp = IconData(0xe9fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">headphones</i> &#x2014; material icon named "headphones" (round).
  static const IconData headphones_rounded = IconData(0xf7da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">headphones</i> &#x2014; material icon named "headphones" (outlined).
  static const IconData headphones_outlined = IconData(0xf0ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">headphones_battery</i> &#x2014; material icon named "headphones battery".
  static const IconData headphones_battery = IconData(0xe300, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">headphones_battery</i> &#x2014; material icon named "headphones battery" (sharp).
  static const IconData headphones_battery_sharp = IconData(0xe9fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">headphones_battery</i> &#x2014; material icon named "headphones battery" (round).
  static const IconData headphones_battery_rounded = IconData(0xf7d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">headphones_battery</i> &#x2014; material icon named "headphones battery" (outlined).
  static const IconData headphones_battery_outlined = IconData(0xf0ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">headset</i> &#x2014; material icon named "headset".
  static const IconData headset = IconData(0xe301, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">headset</i> &#x2014; material icon named "headset" (sharp).
  static const IconData headset_sharp = IconData(0xe9fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">headset</i> &#x2014; material icon named "headset" (round).
  static const IconData headset_rounded = IconData(0xf7dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">headset</i> &#x2014; material icon named "headset" (outlined).
  static const IconData headset_outlined = IconData(0xf0f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">headset_mic</i> &#x2014; material icon named "headset mic".
  static const IconData headset_mic = IconData(0xe302, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">headset_mic</i> &#x2014; material icon named "headset mic" (sharp).
  static const IconData headset_mic_sharp = IconData(0xe9fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">headset_mic</i> &#x2014; material icon named "headset mic" (round).
  static const IconData headset_mic_rounded = IconData(0xf7db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">headset_mic</i> &#x2014; material icon named "headset mic" (outlined).
  static const IconData headset_mic_outlined = IconData(0xf0ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">headset_off</i> &#x2014; material icon named "headset off".
  static const IconData headset_off = IconData(0xe303, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">headset_off</i> &#x2014; material icon named "headset off" (sharp).
  static const IconData headset_off_sharp = IconData(0xe9fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">headset_off</i> &#x2014; material icon named "headset off" (round).
  static const IconData headset_off_rounded = IconData(0xf7dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">headset_off</i> &#x2014; material icon named "headset off" (outlined).
  static const IconData headset_off_outlined = IconData(0xf0ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">healing</i> &#x2014; material icon named "healing".
  static const IconData healing = IconData(0xe304, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">healing</i> &#x2014; material icon named "healing" (sharp).
  static const IconData healing_sharp = IconData(0xe9ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">healing</i> &#x2014; material icon named "healing" (round).
  static const IconData healing_rounded = IconData(0xf7de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">healing</i> &#x2014; material icon named "healing" (outlined).
  static const IconData healing_outlined = IconData(0xf0f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">health_and_safety</i> &#x2014; material icon named "health and safety".
  static const IconData health_and_safety = IconData(0xe305, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">health_and_safety</i> &#x2014; material icon named "health and safety" (sharp).
  static const IconData health_and_safety_sharp = IconData(0xea00, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">health_and_safety</i> &#x2014; material icon named "health and safety" (round).
  static const IconData health_and_safety_rounded = IconData(0xf7df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">health_and_safety</i> &#x2014; material icon named "health and safety" (outlined).
  static const IconData health_and_safety_outlined = IconData(0xf0f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hearing</i> &#x2014; material icon named "hearing".
  static const IconData hearing = IconData(0xe306, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hearing</i> &#x2014; material icon named "hearing" (sharp).
  static const IconData hearing_sharp = IconData(0xea02, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hearing</i> &#x2014; material icon named "hearing" (round).
  static const IconData hearing_rounded = IconData(0xf7e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hearing</i> &#x2014; material icon named "hearing" (outlined).
  static const IconData hearing_outlined = IconData(0xf0f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hearing_disabled</i> &#x2014; material icon named "hearing disabled".
  static const IconData hearing_disabled = IconData(0xe307, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hearing_disabled</i> &#x2014; material icon named "hearing disabled" (sharp).
  static const IconData hearing_disabled_sharp = IconData(0xea01, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hearing_disabled</i> &#x2014; material icon named "hearing disabled" (round).
  static const IconData hearing_disabled_rounded = IconData(0xf7e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hearing_disabled</i> &#x2014; material icon named "hearing disabled" (outlined).
  static const IconData hearing_disabled_outlined = IconData(0xf0f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">heart_broken</i> &#x2014; material icon named "heart broken".
  static const IconData heart_broken = IconData(0xf0516, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">heart_broken</i> &#x2014; material icon named "heart broken" (sharp).
  static const IconData heart_broken_sharp = IconData(0xf0421, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">heart_broken</i> &#x2014; material icon named "heart broken" (round).
  static const IconData heart_broken_rounded = IconData(0xf032e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">heart_broken</i> &#x2014; material icon named "heart broken" (outlined).
  static const IconData heart_broken_outlined = IconData(0xf060f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">heat_pump</i> &#x2014; material icon named "heat pump".
  static const IconData heat_pump = IconData(0xf07a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">heat_pump</i> &#x2014; material icon named "heat pump" (sharp).
  static const IconData heat_pump_sharp = IconData(0xf074d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">heat_pump</i> &#x2014; material icon named "heat pump" (round).
  static const IconData heat_pump_rounded = IconData(0xf07fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">heat_pump</i> &#x2014; material icon named "heat pump" (outlined).
  static const IconData heat_pump_outlined = IconData(0xf06f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">height</i> &#x2014; material icon named "height".
  static const IconData height = IconData(0xe308, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">height</i> &#x2014; material icon named "height" (sharp).
  static const IconData height_sharp = IconData(0xea03, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">height</i> &#x2014; material icon named "height" (round).
  static const IconData height_rounded = IconData(0xf7e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">height</i> &#x2014; material icon named "height" (outlined).
  static const IconData height_outlined = IconData(0xf0f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">help</i> &#x2014; material icon named "help".
  static const IconData help = IconData(0xe309, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">help</i> &#x2014; material icon named "help" (sharp).
  static const IconData help_sharp = IconData(0xea06, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">help</i> &#x2014; material icon named "help" (round).
  static const IconData help_rounded = IconData(0xf7e5, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">help</i> &#x2014; material icon named "help" (outlined).
  static const IconData help_outlined = IconData(0xf0f8, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">help_center</i> &#x2014; material icon named "help center".
  static const IconData help_center = IconData(0xe30a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">help_center</i> &#x2014; material icon named "help center" (sharp).
  static const IconData help_center_sharp = IconData(0xea04, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">help_center</i> &#x2014; material icon named "help center" (round).
  static const IconData help_center_rounded = IconData(0xf7e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">help_center</i> &#x2014; material icon named "help center" (outlined).
  static const IconData help_center_outlined = IconData(0xf0f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">help_outline</i> &#x2014; material icon named "help outline".
  static const IconData help_outline = IconData(0xe30b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">help_outline</i> &#x2014; material icon named "help outline" (sharp).
  static const IconData help_outline_sharp = IconData(0xea05, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">help_outline</i> &#x2014; material icon named "help outline" (round).
  static const IconData help_outline_rounded = IconData(0xf7e4, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">help_outline</i> &#x2014; material icon named "help outline" (outlined).
  static const IconData help_outline_outlined = IconData(0xf0f7, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">hevc</i> &#x2014; material icon named "hevc".
  static const IconData hevc = IconData(0xe30c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hevc</i> &#x2014; material icon named "hevc" (sharp).
  static const IconData hevc_sharp = IconData(0xea07, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hevc</i> &#x2014; material icon named "hevc" (round).
  static const IconData hevc_rounded = IconData(0xf7e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hevc</i> &#x2014; material icon named "hevc" (outlined).
  static const IconData hevc_outlined = IconData(0xf0f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hexagon</i> &#x2014; material icon named "hexagon".
  static const IconData hexagon = IconData(0xf0517, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hexagon</i> &#x2014; material icon named "hexagon" (sharp).
  static const IconData hexagon_sharp = IconData(0xf0422, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hexagon</i> &#x2014; material icon named "hexagon" (round).
  static const IconData hexagon_rounded = IconData(0xf032f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hexagon</i> &#x2014; material icon named "hexagon" (outlined).
  static const IconData hexagon_outlined = IconData(0xf0610, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hide_image</i> &#x2014; material icon named "hide image".
  static const IconData hide_image = IconData(0xe30d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hide_image</i> &#x2014; material icon named "hide image" (sharp).
  static const IconData hide_image_sharp = IconData(0xea08, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hide_image</i> &#x2014; material icon named "hide image" (round).
  static const IconData hide_image_rounded = IconData(0xf7e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hide_image</i> &#x2014; material icon named "hide image" (outlined).
  static const IconData hide_image_outlined = IconData(0xf0fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hide_source</i> &#x2014; material icon named "hide source".
  static const IconData hide_source = IconData(0xe30e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hide_source</i> &#x2014; material icon named "hide source" (sharp).
  static const IconData hide_source_sharp = IconData(0xea09, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hide_source</i> &#x2014; material icon named "hide source" (round).
  static const IconData hide_source_rounded = IconData(0xf7e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hide_source</i> &#x2014; material icon named "hide source" (outlined).
  static const IconData hide_source_outlined = IconData(0xf0fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">high_quality</i> &#x2014; material icon named "high quality".
  static const IconData high_quality = IconData(0xe30f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">high_quality</i> &#x2014; material icon named "high quality" (sharp).
  static const IconData high_quality_sharp = IconData(0xea0a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">high_quality</i> &#x2014; material icon named "high quality" (round).
  static const IconData high_quality_rounded = IconData(0xf7e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">high_quality</i> &#x2014; material icon named "high quality" (outlined).
  static const IconData high_quality_outlined = IconData(0xf0fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">highlight</i> &#x2014; material icon named "highlight".
  static const IconData highlight = IconData(0xe310, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">highlight</i> &#x2014; material icon named "highlight" (sharp).
  static const IconData highlight_sharp = IconData(0xea0d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">highlight</i> &#x2014; material icon named "highlight" (round).
  static const IconData highlight_rounded = IconData(0xf7ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">highlight</i> &#x2014; material icon named "highlight" (outlined).
  static const IconData highlight_outlined = IconData(0xf0ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">highlight_alt</i> &#x2014; material icon named "highlight alt".
  static const IconData highlight_alt = IconData(0xe311, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">highlight_alt</i> &#x2014; material icon named "highlight alt" (sharp).
  static const IconData highlight_alt_sharp = IconData(0xea0b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">highlight_alt</i> &#x2014; material icon named "highlight alt" (round).
  static const IconData highlight_alt_rounded = IconData(0xf7ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">highlight_alt</i> &#x2014; material icon named "highlight alt" (outlined).
  static const IconData highlight_alt_outlined = IconData(0xf0fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">highlight_off</i> &#x2014; material icon named "highlight off".
  static const IconData highlight_off = IconData(0xe312, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">highlight_off</i> &#x2014; material icon named "highlight off" (sharp).
  static const IconData highlight_off_sharp = IconData(0xea0c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">highlight_off</i> &#x2014; material icon named "highlight off" (round).
  static const IconData highlight_off_rounded = IconData(0xf7eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">highlight_off</i> &#x2014; material icon named "highlight off" (outlined).
  static const IconData highlight_off_outlined = IconData(0xf0fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">highlight_remove</i> &#x2014; material icon named "highlight remove".
  static const IconData highlight_remove = IconData(0xe312, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">highlight_remove</i> &#x2014; material icon named "highlight remove" (sharp).
  static const IconData highlight_remove_sharp = IconData(0xea0c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">highlight_remove</i> &#x2014; material icon named "highlight remove" (round).
  static const IconData highlight_remove_rounded = IconData(0xf7eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">highlight_remove</i> &#x2014; material icon named "highlight remove" (outlined).
  static const IconData highlight_remove_outlined = IconData(0xf0fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hiking</i> &#x2014; material icon named "hiking".
  static const IconData hiking = IconData(0xe313, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hiking</i> &#x2014; material icon named "hiking" (sharp).
  static const IconData hiking_sharp = IconData(0xea0e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hiking</i> &#x2014; material icon named "hiking" (round).
  static const IconData hiking_rounded = IconData(0xf7ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hiking</i> &#x2014; material icon named "hiking" (outlined).
  static const IconData hiking_outlined = IconData(0xf100, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">history</i> &#x2014; material icon named "history".
  static const IconData history = IconData(0xe314, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">history</i> &#x2014; material icon named "history" (sharp).
  static const IconData history_sharp = IconData(0xea10, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">history</i> &#x2014; material icon named "history" (round).
  static const IconData history_rounded = IconData(0xf7ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">history</i> &#x2014; material icon named "history" (outlined).
  static const IconData history_outlined = IconData(0xf102, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">history_edu</i> &#x2014; material icon named "history edu".
  static const IconData history_edu = IconData(0xe315, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">history_edu</i> &#x2014; material icon named "history edu" (sharp).
  static const IconData history_edu_sharp = IconData(0xea0f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">history_edu</i> &#x2014; material icon named "history edu" (round).
  static const IconData history_edu_rounded = IconData(0xf7ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">history_edu</i> &#x2014; material icon named "history edu" (outlined).
  static const IconData history_edu_outlined = IconData(0xf101, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">history_toggle_off</i> &#x2014; material icon named "history toggle off".
  static const IconData history_toggle_off = IconData(0xe316, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">history_toggle_off</i> &#x2014; material icon named "history toggle off" (sharp).
  static const IconData history_toggle_off_sharp = IconData(0xea11, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">history_toggle_off</i> &#x2014; material icon named "history toggle off" (round).
  static const IconData history_toggle_off_rounded = IconData(0xf7f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">history_toggle_off</i> &#x2014; material icon named "history toggle off" (outlined).
  static const IconData history_toggle_off_outlined = IconData(0xf103, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hive</i> &#x2014; material icon named "hive".
  static const IconData hive = IconData(0xf0518, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hive</i> &#x2014; material icon named "hive" (sharp).
  static const IconData hive_sharp = IconData(0xf0423, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hive</i> &#x2014; material icon named "hive" (round).
  static const IconData hive_rounded = IconData(0xf0330, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hive</i> &#x2014; material icon named "hive" (outlined).
  static const IconData hive_outlined = IconData(0xf0611, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hls</i> &#x2014; material icon named "hls".
  static const IconData hls = IconData(0xf0519, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hls</i> &#x2014; material icon named "hls" (sharp).
  static const IconData hls_sharp = IconData(0xf0425, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hls</i> &#x2014; material icon named "hls" (round).
  static const IconData hls_rounded = IconData(0xf0332, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hls</i> &#x2014; material icon named "hls" (outlined).
  static const IconData hls_outlined = IconData(0xf0613, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hls_off</i> &#x2014; material icon named "hls off".
  static const IconData hls_off = IconData(0xf051a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hls_off</i> &#x2014; material icon named "hls off" (sharp).
  static const IconData hls_off_sharp = IconData(0xf0424, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hls_off</i> &#x2014; material icon named "hls off" (round).
  static const IconData hls_off_rounded = IconData(0xf0331, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hls_off</i> &#x2014; material icon named "hls off" (outlined).
  static const IconData hls_off_outlined = IconData(0xf0612, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">holiday_village</i> &#x2014; material icon named "holiday village".
  static const IconData holiday_village = IconData(0xe317, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">holiday_village</i> &#x2014; material icon named "holiday village" (sharp).
  static const IconData holiday_village_sharp = IconData(0xea12, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">holiday_village</i> &#x2014; material icon named "holiday village" (round).
  static const IconData holiday_village_rounded = IconData(0xf7f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">holiday_village</i> &#x2014; material icon named "holiday village" (outlined).
  static const IconData holiday_village_outlined = IconData(0xf104, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">home</i> &#x2014; material icon named "home".
  static const IconData home = IconData(0xe318, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">home</i> &#x2014; material icon named "home" (sharp).
  static const IconData home_sharp = IconData(0xea16, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">home</i> &#x2014; material icon named "home" (round).
  static const IconData home_rounded = IconData(0xf7f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">home</i> &#x2014; material icon named "home" (outlined).
  static const IconData home_outlined = IconData(0xf107, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">home_filled</i> &#x2014; material icon named "home filled".
  static const IconData home_filled = IconData(0xe319, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">home_max</i> &#x2014; material icon named "home max".
  static const IconData home_max = IconData(0xe31a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">home_max</i> &#x2014; material icon named "home max" (sharp).
  static const IconData home_max_sharp = IconData(0xea13, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">home_max</i> &#x2014; material icon named "home max" (round).
  static const IconData home_max_rounded = IconData(0xf7f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">home_max</i> &#x2014; material icon named "home max" (outlined).
  static const IconData home_max_outlined = IconData(0xf105, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">home_mini</i> &#x2014; material icon named "home mini".
  static const IconData home_mini = IconData(0xe31b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">home_mini</i> &#x2014; material icon named "home mini" (sharp).
  static const IconData home_mini_sharp = IconData(0xea14, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">home_mini</i> &#x2014; material icon named "home mini" (round).
  static const IconData home_mini_rounded = IconData(0xf7f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">home_mini</i> &#x2014; material icon named "home mini" (outlined).
  static const IconData home_mini_outlined = IconData(0xf106, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">home_repair_service</i> &#x2014; material icon named "home repair service".
  static const IconData home_repair_service = IconData(0xe31c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">home_repair_service</i> &#x2014; material icon named "home repair service" (sharp).
  static const IconData home_repair_service_sharp = IconData(0xea15, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">home_repair_service</i> &#x2014; material icon named "home repair service" (round).
  static const IconData home_repair_service_rounded = IconData(0xf7f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">home_repair_service</i> &#x2014; material icon named "home repair service" (outlined).
  static const IconData home_repair_service_outlined = IconData(0xf108, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">home_work</i> &#x2014; material icon named "home work".
  static const IconData home_work = IconData(0xe31d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">home_work</i> &#x2014; material icon named "home work" (sharp).
  static const IconData home_work_sharp = IconData(0xea17, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">home_work</i> &#x2014; material icon named "home work" (round).
  static const IconData home_work_rounded = IconData(0xf7f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">home_work</i> &#x2014; material icon named "home work" (outlined).
  static const IconData home_work_outlined = IconData(0xf109, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">horizontal_distribute</i> &#x2014; material icon named "horizontal distribute".
  static const IconData horizontal_distribute = IconData(0xe31e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">horizontal_distribute</i> &#x2014; material icon named "horizontal distribute" (sharp).
  static const IconData horizontal_distribute_sharp = IconData(0xea18, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">horizontal_distribute</i> &#x2014; material icon named "horizontal distribute" (round).
  static const IconData horizontal_distribute_rounded = IconData(0xf7f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">horizontal_distribute</i> &#x2014; material icon named "horizontal distribute" (outlined).
  static const IconData horizontal_distribute_outlined = IconData(0xf10a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">horizontal_rule</i> &#x2014; material icon named "horizontal rule".
  static const IconData horizontal_rule = IconData(0xe31f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">horizontal_rule</i> &#x2014; material icon named "horizontal rule" (sharp).
  static const IconData horizontal_rule_sharp = IconData(0xea19, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">horizontal_rule</i> &#x2014; material icon named "horizontal rule" (round).
  static const IconData horizontal_rule_rounded = IconData(0xf7f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">horizontal_rule</i> &#x2014; material icon named "horizontal rule" (outlined).
  static const IconData horizontal_rule_outlined = IconData(0xf10b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">horizontal_split</i> &#x2014; material icon named "horizontal split".
  static const IconData horizontal_split = IconData(0xe320, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">horizontal_split</i> &#x2014; material icon named "horizontal split" (sharp).
  static const IconData horizontal_split_sharp = IconData(0xea1a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">horizontal_split</i> &#x2014; material icon named "horizontal split" (round).
  static const IconData horizontal_split_rounded = IconData(0xf7f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">horizontal_split</i> &#x2014; material icon named "horizontal split" (outlined).
  static const IconData horizontal_split_outlined = IconData(0xf10c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hot_tub</i> &#x2014; material icon named "hot tub".
  static const IconData hot_tub = IconData(0xe321, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hot_tub</i> &#x2014; material icon named "hot tub" (sharp).
  static const IconData hot_tub_sharp = IconData(0xea1b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hot_tub</i> &#x2014; material icon named "hot tub" (round).
  static const IconData hot_tub_rounded = IconData(0xf7fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hot_tub</i> &#x2014; material icon named "hot tub" (outlined).
  static const IconData hot_tub_outlined = IconData(0xf10d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hotel</i> &#x2014; material icon named "hotel".
  static const IconData hotel = IconData(0xe322, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hotel</i> &#x2014; material icon named "hotel" (sharp).
  static const IconData hotel_sharp = IconData(0xea1c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hotel</i> &#x2014; material icon named "hotel" (round).
  static const IconData hotel_rounded = IconData(0xf7fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hotel</i> &#x2014; material icon named "hotel" (outlined).
  static const IconData hotel_outlined = IconData(0xf10e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hotel_class</i> &#x2014; material icon named "hotel class".
  static const IconData hotel_class = IconData(0xf051b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hotel_class</i> &#x2014; material icon named "hotel class" (sharp).
  static const IconData hotel_class_sharp = IconData(0xf0426, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hotel_class</i> &#x2014; material icon named "hotel class" (round).
  static const IconData hotel_class_rounded = IconData(0xf0333, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hotel_class</i> &#x2014; material icon named "hotel class" (outlined).
  static const IconData hotel_class_outlined = IconData(0xf0614, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hourglass_bottom</i> &#x2014; material icon named "hourglass bottom".
  static const IconData hourglass_bottom = IconData(0xe323, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hourglass_bottom</i> &#x2014; material icon named "hourglass bottom" (sharp).
  static const IconData hourglass_bottom_sharp = IconData(0xea1d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hourglass_bottom</i> &#x2014; material icon named "hourglass bottom" (round).
  static const IconData hourglass_bottom_rounded = IconData(0xf7fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hourglass_bottom</i> &#x2014; material icon named "hourglass bottom" (outlined).
  static const IconData hourglass_bottom_outlined = IconData(0xf10f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hourglass_disabled</i> &#x2014; material icon named "hourglass disabled".
  static const IconData hourglass_disabled = IconData(0xe324, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hourglass_disabled</i> &#x2014; material icon named "hourglass disabled" (sharp).
  static const IconData hourglass_disabled_sharp = IconData(0xea1e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hourglass_disabled</i> &#x2014; material icon named "hourglass disabled" (round).
  static const IconData hourglass_disabled_rounded = IconData(0xf7fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hourglass_disabled</i> &#x2014; material icon named "hourglass disabled" (outlined).
  static const IconData hourglass_disabled_outlined = IconData(0xf110, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hourglass_empty</i> &#x2014; material icon named "hourglass empty".
  static const IconData hourglass_empty = IconData(0xe325, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hourglass_empty</i> &#x2014; material icon named "hourglass empty" (sharp).
  static const IconData hourglass_empty_sharp = IconData(0xea1f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hourglass_empty</i> &#x2014; material icon named "hourglass empty" (round).
  static const IconData hourglass_empty_rounded = IconData(0xf7fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hourglass_empty</i> &#x2014; material icon named "hourglass empty" (outlined).
  static const IconData hourglass_empty_outlined = IconData(0xf111, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hourglass_full</i> &#x2014; material icon named "hourglass full".
  static const IconData hourglass_full = IconData(0xe326, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hourglass_full</i> &#x2014; material icon named "hourglass full" (sharp).
  static const IconData hourglass_full_sharp = IconData(0xea20, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hourglass_full</i> &#x2014; material icon named "hourglass full" (round).
  static const IconData hourglass_full_rounded = IconData(0xf7ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hourglass_full</i> &#x2014; material icon named "hourglass full" (outlined).
  static const IconData hourglass_full_outlined = IconData(0xf112, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hourglass_top</i> &#x2014; material icon named "hourglass top".
  static const IconData hourglass_top = IconData(0xe327, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hourglass_top</i> &#x2014; material icon named "hourglass top" (sharp).
  static const IconData hourglass_top_sharp = IconData(0xea21, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hourglass_top</i> &#x2014; material icon named "hourglass top" (round).
  static const IconData hourglass_top_rounded = IconData(0xf800, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hourglass_top</i> &#x2014; material icon named "hourglass top" (outlined).
  static const IconData hourglass_top_outlined = IconData(0xf113, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">house</i> &#x2014; material icon named "house".
  static const IconData house = IconData(0xe328, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">house</i> &#x2014; material icon named "house" (sharp).
  static const IconData house_sharp = IconData(0xea22, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">house</i> &#x2014; material icon named "house" (round).
  static const IconData house_rounded = IconData(0xf801, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">house</i> &#x2014; material icon named "house" (outlined).
  static const IconData house_outlined = IconData(0xf114, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">house_siding</i> &#x2014; material icon named "house siding".
  static const IconData house_siding = IconData(0xe329, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">house_siding</i> &#x2014; material icon named "house siding" (sharp).
  static const IconData house_siding_sharp = IconData(0xea23, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">house_siding</i> &#x2014; material icon named "house siding" (round).
  static const IconData house_siding_rounded = IconData(0xf802, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">house_siding</i> &#x2014; material icon named "house siding" (outlined).
  static const IconData house_siding_outlined = IconData(0xf115, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">houseboat</i> &#x2014; material icon named "houseboat".
  static const IconData houseboat = IconData(0xe32a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">houseboat</i> &#x2014; material icon named "houseboat" (sharp).
  static const IconData houseboat_sharp = IconData(0xea24, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">houseboat</i> &#x2014; material icon named "houseboat" (round).
  static const IconData houseboat_rounded = IconData(0xf803, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">houseboat</i> &#x2014; material icon named "houseboat" (outlined).
  static const IconData houseboat_outlined = IconData(0xf116, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">how_to_reg</i> &#x2014; material icon named "how to reg".
  static const IconData how_to_reg = IconData(0xe32b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">how_to_reg</i> &#x2014; material icon named "how to reg" (sharp).
  static const IconData how_to_reg_sharp = IconData(0xea25, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">how_to_reg</i> &#x2014; material icon named "how to reg" (round).
  static const IconData how_to_reg_rounded = IconData(0xf804, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">how_to_reg</i> &#x2014; material icon named "how to reg" (outlined).
  static const IconData how_to_reg_outlined = IconData(0xf117, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">how_to_vote</i> &#x2014; material icon named "how to vote".
  static const IconData how_to_vote = IconData(0xe32c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">how_to_vote</i> &#x2014; material icon named "how to vote" (sharp).
  static const IconData how_to_vote_sharp = IconData(0xea26, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">how_to_vote</i> &#x2014; material icon named "how to vote" (round).
  static const IconData how_to_vote_rounded = IconData(0xf805, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">how_to_vote</i> &#x2014; material icon named "how to vote" (outlined).
  static const IconData how_to_vote_outlined = IconData(0xf118, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">html</i> &#x2014; material icon named "html".
  static const IconData html = IconData(0xf051c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">html</i> &#x2014; material icon named "html" (sharp).
  static const IconData html_sharp = IconData(0xf0427, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">html</i> &#x2014; material icon named "html" (round).
  static const IconData html_rounded = IconData(0xf0334, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">html</i> &#x2014; material icon named "html" (outlined).
  static const IconData html_outlined = IconData(0xf0615, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">http</i> &#x2014; material icon named "http".
  static const IconData http = IconData(0xe32d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">http</i> &#x2014; material icon named "http" (sharp).
  static const IconData http_sharp = IconData(0xea27, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">http</i> &#x2014; material icon named "http" (round).
  static const IconData http_rounded = IconData(0xf806, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">http</i> &#x2014; material icon named "http" (outlined).
  static const IconData http_outlined = IconData(0xf119, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">https</i> &#x2014; material icon named "https".
  static const IconData https = IconData(0xe32e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">https</i> &#x2014; material icon named "https" (sharp).
  static const IconData https_sharp = IconData(0xea28, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">https</i> &#x2014; material icon named "https" (round).
  static const IconData https_rounded = IconData(0xf807, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">https</i> &#x2014; material icon named "https" (outlined).
  static const IconData https_outlined = IconData(0xf11a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hub</i> &#x2014; material icon named "hub".
  static const IconData hub = IconData(0xf051d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hub</i> &#x2014; material icon named "hub" (sharp).
  static const IconData hub_sharp = IconData(0xf0428, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hub</i> &#x2014; material icon named "hub" (round).
  static const IconData hub_rounded = IconData(0xf0335, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hub</i> &#x2014; material icon named "hub" (outlined).
  static const IconData hub_outlined = IconData(0xf0616, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">hvac</i> &#x2014; material icon named "hvac".
  static const IconData hvac = IconData(0xe32f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">hvac</i> &#x2014; material icon named "hvac" (sharp).
  static const IconData hvac_sharp = IconData(0xea29, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">hvac</i> &#x2014; material icon named "hvac" (round).
  static const IconData hvac_rounded = IconData(0xf808, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">hvac</i> &#x2014; material icon named "hvac" (outlined).
  static const IconData hvac_outlined = IconData(0xf11b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">ice_skating</i> &#x2014; material icon named "ice skating".
  static const IconData ice_skating = IconData(0xe330, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">ice_skating</i> &#x2014; material icon named "ice skating" (sharp).
  static const IconData ice_skating_sharp = IconData(0xea2a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">ice_skating</i> &#x2014; material icon named "ice skating" (round).
  static const IconData ice_skating_rounded = IconData(0xf809, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">ice_skating</i> &#x2014; material icon named "ice skating" (outlined).
  static const IconData ice_skating_outlined = IconData(0xf11c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">icecream</i> &#x2014; material icon named "icecream".
  static const IconData icecream = IconData(0xe331, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">icecream</i> &#x2014; material icon named "icecream" (sharp).
  static const IconData icecream_sharp = IconData(0xea2b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">icecream</i> &#x2014; material icon named "icecream" (round).
  static const IconData icecream_rounded = IconData(0xf80a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">icecream</i> &#x2014; material icon named "icecream" (outlined).
  static const IconData icecream_outlined = IconData(0xf11d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">image</i> &#x2014; material icon named "image".
  static const IconData image = IconData(0xe332, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">image</i> &#x2014; material icon named "image" (sharp).
  static const IconData image_sharp = IconData(0xea2f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">image</i> &#x2014; material icon named "image" (round).
  static const IconData image_rounded = IconData(0xf80d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">image</i> &#x2014; material icon named "image" (outlined).
  static const IconData image_outlined = IconData(0xf120, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">image_aspect_ratio</i> &#x2014; material icon named "image aspect ratio".
  static const IconData image_aspect_ratio = IconData(0xe333, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">image_aspect_ratio</i> &#x2014; material icon named "image aspect ratio" (sharp).
  static const IconData image_aspect_ratio_sharp = IconData(0xea2c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">image_aspect_ratio</i> &#x2014; material icon named "image aspect ratio" (round).
  static const IconData image_aspect_ratio_rounded = IconData(0xf80b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">image_aspect_ratio</i> &#x2014; material icon named "image aspect ratio" (outlined).
  static const IconData image_aspect_ratio_outlined = IconData(0xf11e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">image_not_supported</i> &#x2014; material icon named "image not supported".
  static const IconData image_not_supported = IconData(0xe334, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">image_not_supported</i> &#x2014; material icon named "image not supported" (sharp).
  static const IconData image_not_supported_sharp = IconData(0xea2d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">image_not_supported</i> &#x2014; material icon named "image not supported" (round).
  static const IconData image_not_supported_rounded = IconData(0xf80c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">image_not_supported</i> &#x2014; material icon named "image not supported" (outlined).
  static const IconData image_not_supported_outlined = IconData(0xf11f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">image_search</i> &#x2014; material icon named "image search".
  static const IconData image_search = IconData(0xe335, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">image_search</i> &#x2014; material icon named "image search" (sharp).
  static const IconData image_search_sharp = IconData(0xea2e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">image_search</i> &#x2014; material icon named "image search" (round).
  static const IconData image_search_rounded = IconData(0xf80e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">image_search</i> &#x2014; material icon named "image search" (outlined).
  static const IconData image_search_outlined = IconData(0xf121, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">imagesearch_roller</i> &#x2014; material icon named "imagesearch roller".
  static const IconData imagesearch_roller = IconData(0xe336, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">imagesearch_roller</i> &#x2014; material icon named "imagesearch roller" (sharp).
  static const IconData imagesearch_roller_sharp = IconData(0xea30, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">imagesearch_roller</i> &#x2014; material icon named "imagesearch roller" (round).
  static const IconData imagesearch_roller_rounded = IconData(0xf80f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">imagesearch_roller</i> &#x2014; material icon named "imagesearch roller" (outlined).
  static const IconData imagesearch_roller_outlined = IconData(0xf122, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">import_contacts</i> &#x2014; material icon named "import contacts".
  static const IconData import_contacts = IconData(0xe337, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">import_contacts</i> &#x2014; material icon named "import contacts" (sharp).
  static const IconData import_contacts_sharp = IconData(0xea31, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">import_contacts</i> &#x2014; material icon named "import contacts" (round).
  static const IconData import_contacts_rounded = IconData(0xf810, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">import_contacts</i> &#x2014; material icon named "import contacts" (outlined).
  static const IconData import_contacts_outlined = IconData(0xf123, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">import_export</i> &#x2014; material icon named "import export".
  static const IconData import_export = IconData(0xe338, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">import_export</i> &#x2014; material icon named "import export" (sharp).
  static const IconData import_export_sharp = IconData(0xea32, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">import_export</i> &#x2014; material icon named "import export" (round).
  static const IconData import_export_rounded = IconData(0xf811, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">import_export</i> &#x2014; material icon named "import export" (outlined).
  static const IconData import_export_outlined = IconData(0xf124, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">important_devices</i> &#x2014; material icon named "important devices".
  static const IconData important_devices = IconData(0xe339, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">important_devices</i> &#x2014; material icon named "important devices" (sharp).
  static const IconData important_devices_sharp = IconData(0xea33, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">important_devices</i> &#x2014; material icon named "important devices" (round).
  static const IconData important_devices_rounded = IconData(0xf812, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">important_devices</i> &#x2014; material icon named "important devices" (outlined).
  static const IconData important_devices_outlined = IconData(0xf125, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">inbox</i> &#x2014; material icon named "inbox".
  static const IconData inbox = IconData(0xe33a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">inbox</i> &#x2014; material icon named "inbox" (sharp).
  static const IconData inbox_sharp = IconData(0xea34, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">inbox</i> &#x2014; material icon named "inbox" (round).
  static const IconData inbox_rounded = IconData(0xf813, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">inbox</i> &#x2014; material icon named "inbox" (outlined).
  static const IconData inbox_outlined = IconData(0xf126, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">incomplete_circle</i> &#x2014; material icon named "incomplete circle".
  static const IconData incomplete_circle = IconData(0xf051e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">incomplete_circle</i> &#x2014; material icon named "incomplete circle" (sharp).
  static const IconData incomplete_circle_sharp = IconData(0xf0429, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">incomplete_circle</i> &#x2014; material icon named "incomplete circle" (round).
  static const IconData incomplete_circle_rounded = IconData(0xf0336, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">incomplete_circle</i> &#x2014; material icon named "incomplete circle" (outlined).
  static const IconData incomplete_circle_outlined = IconData(0xf0617, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">indeterminate_check_box</i> &#x2014; material icon named "indeterminate check box".
  static const IconData indeterminate_check_box = IconData(0xe33b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">indeterminate_check_box</i> &#x2014; material icon named "indeterminate check box" (sharp).
  static const IconData indeterminate_check_box_sharp = IconData(0xea35, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">indeterminate_check_box</i> &#x2014; material icon named "indeterminate check box" (round).
  static const IconData indeterminate_check_box_rounded = IconData(0xf814, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">indeterminate_check_box</i> &#x2014; material icon named "indeterminate check box" (outlined).
  static const IconData indeterminate_check_box_outlined = IconData(0xf127, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">info</i> &#x2014; material icon named "info".
  static const IconData info = IconData(0xe33c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">info</i> &#x2014; material icon named "info" (sharp).
  static const IconData info_sharp = IconData(0xea37, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">info</i> &#x2014; material icon named "info" (round).
  static const IconData info_rounded = IconData(0xf816, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">info</i> &#x2014; material icon named "info" (outlined).
  static const IconData info_outlined = IconData(0xf128, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">info_outline</i> &#x2014; material icon named "info outline".
  static const IconData info_outline = IconData(0xe33d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">info_outline</i> &#x2014; material icon named "info outline" (sharp).
  static const IconData info_outline_sharp = IconData(0xea36, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">info_outline</i> &#x2014; material icon named "info outline" (round).
  static const IconData info_outline_rounded = IconData(0xf815, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">input</i> &#x2014; material icon named "input".
  static const IconData input = IconData(0xe33e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">input</i> &#x2014; material icon named "input" (sharp).
  static const IconData input_sharp = IconData(0xea38, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">input</i> &#x2014; material icon named "input" (round).
  static const IconData input_rounded = IconData(0xf817, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">input</i> &#x2014; material icon named "input" (outlined).
  static const IconData input_outlined = IconData(0xf129, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">insert_chart</i> &#x2014; material icon named "insert chart".
  static const IconData insert_chart = IconData(0xe33f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">insert_chart</i> &#x2014; material icon named "insert chart" (sharp).
  static const IconData insert_chart_sharp = IconData(0xea3a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">insert_chart</i> &#x2014; material icon named "insert chart" (round).
  static const IconData insert_chart_rounded = IconData(0xf819, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">insert_chart</i> &#x2014; material icon named "insert chart".
  static const IconData insert_chart_outlined = IconData(0xf12a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">insert_chart_outlined</i> &#x2014; material icon named "insert chart outlined" (sharp).
  static const IconData insert_chart_outlined_sharp = IconData(0xea39, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">insert_chart_outlined</i> &#x2014; material icon named "insert chart outlined" (round).
  static const IconData insert_chart_outlined_rounded = IconData(0xf818, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">insert_chart_outlined</i> &#x2014; material icon named "insert chart outlined" (outlined).
  static const IconData insert_chart_outlined_outlined = IconData(0xf12b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">insert_comment</i> &#x2014; material icon named "insert comment".
  static const IconData insert_comment = IconData(0xe341, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">insert_comment</i> &#x2014; material icon named "insert comment" (sharp).
  static const IconData insert_comment_sharp = IconData(0xea3b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">insert_comment</i> &#x2014; material icon named "insert comment" (round).
  static const IconData insert_comment_rounded = IconData(0xf81a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">insert_comment</i> &#x2014; material icon named "insert comment" (outlined).
  static const IconData insert_comment_outlined = IconData(0xf12c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">insert_drive_file</i> &#x2014; material icon named "insert drive file".
  static const IconData insert_drive_file = IconData(0xe342, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">insert_drive_file</i> &#x2014; material icon named "insert drive file" (sharp).
  static const IconData insert_drive_file_sharp = IconData(0xea3c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">insert_drive_file</i> &#x2014; material icon named "insert drive file" (round).
  static const IconData insert_drive_file_rounded = IconData(0xf81b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">insert_drive_file</i> &#x2014; material icon named "insert drive file" (outlined).
  static const IconData insert_drive_file_outlined = IconData(0xf12d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">insert_emoticon</i> &#x2014; material icon named "insert emoticon".
  static const IconData insert_emoticon = IconData(0xe343, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">insert_emoticon</i> &#x2014; material icon named "insert emoticon" (sharp).
  static const IconData insert_emoticon_sharp = IconData(0xea3d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">insert_emoticon</i> &#x2014; material icon named "insert emoticon" (round).
  static const IconData insert_emoticon_rounded = IconData(0xf81c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">insert_emoticon</i> &#x2014; material icon named "insert emoticon" (outlined).
  static const IconData insert_emoticon_outlined = IconData(0xf12e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">insert_invitation</i> &#x2014; material icon named "insert invitation".
  static const IconData insert_invitation = IconData(0xe344, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">insert_invitation</i> &#x2014; material icon named "insert invitation" (sharp).
  static const IconData insert_invitation_sharp = IconData(0xea3e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">insert_invitation</i> &#x2014; material icon named "insert invitation" (round).
  static const IconData insert_invitation_rounded = IconData(0xf81d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">insert_invitation</i> &#x2014; material icon named "insert invitation" (outlined).
  static const IconData insert_invitation_outlined = IconData(0xf12f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">insert_link</i> &#x2014; material icon named "insert link".
  static const IconData insert_link = IconData(0xe345, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">insert_link</i> &#x2014; material icon named "insert link" (sharp).
  static const IconData insert_link_sharp = IconData(0xea3f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">insert_link</i> &#x2014; material icon named "insert link" (round).
  static const IconData insert_link_rounded = IconData(0xf81e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">insert_link</i> &#x2014; material icon named "insert link" (outlined).
  static const IconData insert_link_outlined = IconData(0xf130, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">insert_page_break</i> &#x2014; material icon named "insert page break".
  static const IconData insert_page_break = IconData(0xf0520, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">insert_page_break</i> &#x2014; material icon named "insert page break" (sharp).
  static const IconData insert_page_break_sharp = IconData(0xf042a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">insert_page_break</i> &#x2014; material icon named "insert page break" (round).
  static const IconData insert_page_break_rounded = IconData(0xf0337, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">insert_page_break</i> &#x2014; material icon named "insert page break" (outlined).
  static const IconData insert_page_break_outlined = IconData(0xf0618, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">insert_photo</i> &#x2014; material icon named "insert photo".
  static const IconData insert_photo = IconData(0xe346, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">insert_photo</i> &#x2014; material icon named "insert photo" (sharp).
  static const IconData insert_photo_sharp = IconData(0xea40, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">insert_photo</i> &#x2014; material icon named "insert photo" (round).
  static const IconData insert_photo_rounded = IconData(0xf81f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">insert_photo</i> &#x2014; material icon named "insert photo" (outlined).
  static const IconData insert_photo_outlined = IconData(0xf131, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">insights</i> &#x2014; material icon named "insights".
  static const IconData insights = IconData(0xe347, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">insights</i> &#x2014; material icon named "insights" (sharp).
  static const IconData insights_sharp = IconData(0xea41, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">insights</i> &#x2014; material icon named "insights" (round).
  static const IconData insights_rounded = IconData(0xf820, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">insights</i> &#x2014; material icon named "insights" (outlined).
  static const IconData insights_outlined = IconData(0xf132, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">install_desktop</i> &#x2014; material icon named "install desktop".
  static const IconData install_desktop = IconData(0xf0521, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">install_desktop</i> &#x2014; material icon named "install desktop" (sharp).
  static const IconData install_desktop_sharp = IconData(0xf042b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">install_desktop</i> &#x2014; material icon named "install desktop" (round).
  static const IconData install_desktop_rounded = IconData(0xf0338, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">install_desktop</i> &#x2014; material icon named "install desktop" (outlined).
  static const IconData install_desktop_outlined = IconData(0xf0619, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">install_mobile</i> &#x2014; material icon named "install mobile".
  static const IconData install_mobile = IconData(0xf0522, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">install_mobile</i> &#x2014; material icon named "install mobile" (sharp).
  static const IconData install_mobile_sharp = IconData(0xf042c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">install_mobile</i> &#x2014; material icon named "install mobile" (round).
  static const IconData install_mobile_rounded = IconData(0xf0339, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">install_mobile</i> &#x2014; material icon named "install mobile" (outlined).
  static const IconData install_mobile_outlined = IconData(0xf061a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">integration_instructions</i> &#x2014; material icon named "integration instructions".
  static const IconData integration_instructions = IconData(0xe348, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">integration_instructions</i> &#x2014; material icon named "integration instructions" (sharp).
  static const IconData integration_instructions_sharp = IconData(0xea42, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">integration_instructions</i> &#x2014; material icon named "integration instructions" (round).
  static const IconData integration_instructions_rounded = IconData(0xf821, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">integration_instructions</i> &#x2014; material icon named "integration instructions" (outlined).
  static const IconData integration_instructions_outlined = IconData(0xf133, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">interests</i> &#x2014; material icon named "interests".
  static const IconData interests = IconData(0xf0523, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">interests</i> &#x2014; material icon named "interests" (sharp).
  static const IconData interests_sharp = IconData(0xf042d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">interests</i> &#x2014; material icon named "interests" (round).
  static const IconData interests_rounded = IconData(0xf033a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">interests</i> &#x2014; material icon named "interests" (outlined).
  static const IconData interests_outlined = IconData(0xf061b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">interpreter_mode</i> &#x2014; material icon named "interpreter mode".
  static const IconData interpreter_mode = IconData(0xf0524, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">interpreter_mode</i> &#x2014; material icon named "interpreter mode" (sharp).
  static const IconData interpreter_mode_sharp = IconData(0xf042e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">interpreter_mode</i> &#x2014; material icon named "interpreter mode" (round).
  static const IconData interpreter_mode_rounded = IconData(0xf033b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">interpreter_mode</i> &#x2014; material icon named "interpreter mode" (outlined).
  static const IconData interpreter_mode_outlined = IconData(0xf061c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">inventory</i> &#x2014; material icon named "inventory".
  static const IconData inventory = IconData(0xe349, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">inventory</i> &#x2014; material icon named "inventory" (sharp).
  static const IconData inventory_sharp = IconData(0xea44, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">inventory</i> &#x2014; material icon named "inventory" (round).
  static const IconData inventory_rounded = IconData(0xf823, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">inventory</i> &#x2014; material icon named "inventory" (outlined).
  static const IconData inventory_outlined = IconData(0xf135, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">inventory_2</i> &#x2014; material icon named "inventory 2".
  static const IconData inventory_2 = IconData(0xe34a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">inventory_2</i> &#x2014; material icon named "inventory 2" (sharp).
  static const IconData inventory_2_sharp = IconData(0xea43, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">inventory_2</i> &#x2014; material icon named "inventory 2" (round).
  static const IconData inventory_2_rounded = IconData(0xf822, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">inventory_2</i> &#x2014; material icon named "inventory 2" (outlined).
  static const IconData inventory_2_outlined = IconData(0xf134, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">invert_colors</i> &#x2014; material icon named "invert colors".
  static const IconData invert_colors = IconData(0xe34b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">invert_colors</i> &#x2014; material icon named "invert colors" (sharp).
  static const IconData invert_colors_sharp = IconData(0xea46, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">invert_colors</i> &#x2014; material icon named "invert colors" (round).
  static const IconData invert_colors_rounded = IconData(0xf825, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">invert_colors</i> &#x2014; material icon named "invert colors" (outlined).
  static const IconData invert_colors_outlined = IconData(0xf137, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">invert_colors_off</i> &#x2014; material icon named "invert colors off".
  static const IconData invert_colors_off = IconData(0xe34c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">invert_colors_off</i> &#x2014; material icon named "invert colors off" (sharp).
  static const IconData invert_colors_off_sharp = IconData(0xea45, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">invert_colors_off</i> &#x2014; material icon named "invert colors off" (round).
  static const IconData invert_colors_off_rounded = IconData(0xf824, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">invert_colors_off</i> &#x2014; material icon named "invert colors off" (outlined).
  static const IconData invert_colors_off_outlined = IconData(0xf136, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">invert_colors_on</i> &#x2014; material icon named "invert colors on".
  static const IconData invert_colors_on = IconData(0xe34b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">invert_colors_on</i> &#x2014; material icon named "invert colors on" (sharp).
  static const IconData invert_colors_on_sharp = IconData(0xea46, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">invert_colors_on</i> &#x2014; material icon named "invert colors on" (round).
  static const IconData invert_colors_on_rounded = IconData(0xf825, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">invert_colors_on</i> &#x2014; material icon named "invert colors on" (outlined).
  static const IconData invert_colors_on_outlined = IconData(0xf137, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">ios_share</i> &#x2014; material icon named "ios share".
  static const IconData ios_share = IconData(0xe34d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">ios_share</i> &#x2014; material icon named "ios share" (sharp).
  static const IconData ios_share_sharp = IconData(0xea47, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">ios_share</i> &#x2014; material icon named "ios share" (round).
  static const IconData ios_share_rounded = IconData(0xf826, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">ios_share</i> &#x2014; material icon named "ios share" (outlined).
  static const IconData ios_share_outlined = IconData(0xf138, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">iron</i> &#x2014; material icon named "iron".
  static const IconData iron = IconData(0xe34e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">iron</i> &#x2014; material icon named "iron" (sharp).
  static const IconData iron_sharp = IconData(0xea48, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">iron</i> &#x2014; material icon named "iron" (round).
  static const IconData iron_rounded = IconData(0xf827, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">iron</i> &#x2014; material icon named "iron" (outlined).
  static const IconData iron_outlined = IconData(0xf139, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">iso</i> &#x2014; material icon named "iso".
  static const IconData iso = IconData(0xe34f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">iso</i> &#x2014; material icon named "iso" (sharp).
  static const IconData iso_sharp = IconData(0xea49, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">iso</i> &#x2014; material icon named "iso" (round).
  static const IconData iso_rounded = IconData(0xf828, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">iso</i> &#x2014; material icon named "iso" (outlined).
  static const IconData iso_outlined = IconData(0xf13a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">javascript</i> &#x2014; material icon named "javascript".
  static const IconData javascript = IconData(0xf0525, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">javascript</i> &#x2014; material icon named "javascript" (sharp).
  static const IconData javascript_sharp = IconData(0xf042f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">javascript</i> &#x2014; material icon named "javascript" (round).
  static const IconData javascript_rounded = IconData(0xf033c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">javascript</i> &#x2014; material icon named "javascript" (outlined).
  static const IconData javascript_outlined = IconData(0xf061d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">join_full</i> &#x2014; material icon named "join full".
  static const IconData join_full = IconData(0xf0526, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">join_full</i> &#x2014; material icon named "join full" (sharp).
  static const IconData join_full_sharp = IconData(0xf0430, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">join_full</i> &#x2014; material icon named "join full" (round).
  static const IconData join_full_rounded = IconData(0xf033d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">join_full</i> &#x2014; material icon named "join full" (outlined).
  static const IconData join_full_outlined = IconData(0xf061e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">join_inner</i> &#x2014; material icon named "join inner".
  static const IconData join_inner = IconData(0xf0527, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">join_inner</i> &#x2014; material icon named "join inner" (sharp).
  static const IconData join_inner_sharp = IconData(0xf0431, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">join_inner</i> &#x2014; material icon named "join inner" (round).
  static const IconData join_inner_rounded = IconData(0xf033e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">join_inner</i> &#x2014; material icon named "join inner" (outlined).
  static const IconData join_inner_outlined = IconData(0xf061f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">join_left</i> &#x2014; material icon named "join left".
  static const IconData join_left = IconData(0xf0528, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">join_left</i> &#x2014; material icon named "join left" (sharp).
  static const IconData join_left_sharp = IconData(0xf0432, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">join_left</i> &#x2014; material icon named "join left" (round).
  static const IconData join_left_rounded = IconData(0xf033f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">join_left</i> &#x2014; material icon named "join left" (outlined).
  static const IconData join_left_outlined = IconData(0xf0620, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">join_right</i> &#x2014; material icon named "join right".
  static const IconData join_right = IconData(0xf0529, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">join_right</i> &#x2014; material icon named "join right" (sharp).
  static const IconData join_right_sharp = IconData(0xf0433, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">join_right</i> &#x2014; material icon named "join right" (round).
  static const IconData join_right_rounded = IconData(0xf0340, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">join_right</i> &#x2014; material icon named "join right" (outlined).
  static const IconData join_right_outlined = IconData(0xf0621, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">kayaking</i> &#x2014; material icon named "kayaking".
  static const IconData kayaking = IconData(0xe350, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">kayaking</i> &#x2014; material icon named "kayaking" (sharp).
  static const IconData kayaking_sharp = IconData(0xea4a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">kayaking</i> &#x2014; material icon named "kayaking" (round).
  static const IconData kayaking_rounded = IconData(0xf829, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">kayaking</i> &#x2014; material icon named "kayaking" (outlined).
  static const IconData kayaking_outlined = IconData(0xf13b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">kebab_dining</i> &#x2014; material icon named "kebab dining".
  static const IconData kebab_dining = IconData(0xf052a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">kebab_dining</i> &#x2014; material icon named "kebab dining" (sharp).
  static const IconData kebab_dining_sharp = IconData(0xf0434, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">kebab_dining</i> &#x2014; material icon named "kebab dining" (round).
  static const IconData kebab_dining_rounded = IconData(0xf0341, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">kebab_dining</i> &#x2014; material icon named "kebab dining" (outlined).
  static const IconData kebab_dining_outlined = IconData(0xf0622, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">key</i> &#x2014; material icon named "key".
  static const IconData key = IconData(0xf052b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">key</i> &#x2014; material icon named "key" (sharp).
  static const IconData key_sharp = IconData(0xf0436, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">key</i> &#x2014; material icon named "key" (round).
  static const IconData key_rounded = IconData(0xf0343, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">key</i> &#x2014; material icon named "key" (outlined).
  static const IconData key_outlined = IconData(0xf0624, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">key_off</i> &#x2014; material icon named "key off".
  static const IconData key_off = IconData(0xf052c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">key_off</i> &#x2014; material icon named "key off" (sharp).
  static const IconData key_off_sharp = IconData(0xf0435, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">key_off</i> &#x2014; material icon named "key off" (round).
  static const IconData key_off_rounded = IconData(0xf0342, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">key_off</i> &#x2014; material icon named "key off" (outlined).
  static const IconData key_off_outlined = IconData(0xf0623, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard</i> &#x2014; material icon named "keyboard".
  static const IconData keyboard = IconData(0xe351, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard</i> &#x2014; material icon named "keyboard" (sharp).
  static const IconData keyboard_sharp = IconData(0xea54, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard</i> &#x2014; material icon named "keyboard" (round).
  static const IconData keyboard_rounded = IconData(0xf833, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard</i> &#x2014; material icon named "keyboard" (outlined).
  static const IconData keyboard_outlined = IconData(0xf144, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_alt</i> &#x2014; material icon named "keyboard alt".
  static const IconData keyboard_alt = IconData(0xe352, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_alt</i> &#x2014; material icon named "keyboard alt" (sharp).
  static const IconData keyboard_alt_sharp = IconData(0xea4b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_alt</i> &#x2014; material icon named "keyboard alt" (round).
  static const IconData keyboard_alt_rounded = IconData(0xf82a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_alt</i> &#x2014; material icon named "keyboard alt" (outlined).
  static const IconData keyboard_alt_outlined = IconData(0xf13c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_arrow_down</i> &#x2014; material icon named "keyboard arrow down".
  static const IconData keyboard_arrow_down = IconData(0xe353, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_arrow_down</i> &#x2014; material icon named "keyboard arrow down" (sharp).
  static const IconData keyboard_arrow_down_sharp = IconData(0xea4c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_arrow_down</i> &#x2014; material icon named "keyboard arrow down" (round).
  static const IconData keyboard_arrow_down_rounded = IconData(0xf82b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_arrow_down</i> &#x2014; material icon named "keyboard arrow down" (outlined).
  static const IconData keyboard_arrow_down_outlined = IconData(0xf13d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_arrow_left</i> &#x2014; material icon named "keyboard arrow left".
  static const IconData keyboard_arrow_left = IconData(0xe354, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_arrow_left</i> &#x2014; material icon named "keyboard arrow left" (sharp).
  static const IconData keyboard_arrow_left_sharp = IconData(0xea4d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_arrow_left</i> &#x2014; material icon named "keyboard arrow left" (round).
  static const IconData keyboard_arrow_left_rounded = IconData(0xf82c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_arrow_left</i> &#x2014; material icon named "keyboard arrow left" (outlined).
  static const IconData keyboard_arrow_left_outlined = IconData(0xf13e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_arrow_right</i> &#x2014; material icon named "keyboard arrow right".
  static const IconData keyboard_arrow_right = IconData(0xe355, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_arrow_right</i> &#x2014; material icon named "keyboard arrow right" (sharp).
  static const IconData keyboard_arrow_right_sharp = IconData(0xea4e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_arrow_right</i> &#x2014; material icon named "keyboard arrow right" (round).
  static const IconData keyboard_arrow_right_rounded = IconData(0xf82d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_arrow_right</i> &#x2014; material icon named "keyboard arrow right" (outlined).
  static const IconData keyboard_arrow_right_outlined = IconData(0xf13f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_arrow_up</i> &#x2014; material icon named "keyboard arrow up".
  static const IconData keyboard_arrow_up = IconData(0xe356, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_arrow_up</i> &#x2014; material icon named "keyboard arrow up" (sharp).
  static const IconData keyboard_arrow_up_sharp = IconData(0xea4f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_arrow_up</i> &#x2014; material icon named "keyboard arrow up" (round).
  static const IconData keyboard_arrow_up_rounded = IconData(0xf82e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_arrow_up</i> &#x2014; material icon named "keyboard arrow up" (outlined).
  static const IconData keyboard_arrow_up_outlined = IconData(0xf140, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_backspace</i> &#x2014; material icon named "keyboard backspace".
  static const IconData keyboard_backspace = IconData(0xe357, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">keyboard_backspace</i> &#x2014; material icon named "keyboard backspace" (sharp).
  static const IconData keyboard_backspace_sharp = IconData(0xea50, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">keyboard_backspace</i> &#x2014; material icon named "keyboard backspace" (round).
  static const IconData keyboard_backspace_rounded = IconData(0xf82f, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">keyboard_backspace</i> &#x2014; material icon named "keyboard backspace" (outlined).
  static const IconData keyboard_backspace_outlined = IconData(0xf141, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">keyboard_capslock</i> &#x2014; material icon named "keyboard capslock".
  static const IconData keyboard_capslock = IconData(0xe358, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_capslock</i> &#x2014; material icon named "keyboard capslock" (sharp).
  static const IconData keyboard_capslock_sharp = IconData(0xea51, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_capslock</i> &#x2014; material icon named "keyboard capslock" (round).
  static const IconData keyboard_capslock_rounded = IconData(0xf830, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_capslock</i> &#x2014; material icon named "keyboard capslock" (outlined).
  static const IconData keyboard_capslock_outlined = IconData(0xf142, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_command_key</i> &#x2014; material icon named "keyboard command key".
  static const IconData keyboard_command_key = IconData(0xf052d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_command_key</i> &#x2014; material icon named "keyboard command key" (sharp).
  static const IconData keyboard_command_key_sharp = IconData(0xf0437, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_command_key</i> &#x2014; material icon named "keyboard command key" (round).
  static const IconData keyboard_command_key_rounded = IconData(0xf0344, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_command_key</i> &#x2014; material icon named "keyboard command key" (outlined).
  static const IconData keyboard_command_key_outlined = IconData(0xf0625, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_control</i> &#x2014; material icon named "keyboard control".
  static const IconData keyboard_control = IconData(0xe402, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_control</i> &#x2014; material icon named "keyboard control" (sharp).
  static const IconData keyboard_control_sharp = IconData(0xeafa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_control</i> &#x2014; material icon named "keyboard control" (round).
  static const IconData keyboard_control_rounded = IconData(0xf8d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_control</i> &#x2014; material icon named "keyboard control" (outlined).
  static const IconData keyboard_control_outlined = IconData(0xf1e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_control_key</i> &#x2014; material icon named "keyboard control key".
  static const IconData keyboard_control_key = IconData(0xf052e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_control_key</i> &#x2014; material icon named "keyboard control key" (sharp).
  static const IconData keyboard_control_key_sharp = IconData(0xf0438, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_control_key</i> &#x2014; material icon named "keyboard control key" (round).
  static const IconData keyboard_control_key_rounded = IconData(0xf0345, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_control_key</i> &#x2014; material icon named "keyboard control key" (outlined).
  static const IconData keyboard_control_key_outlined = IconData(0xf0626, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_double_arrow_down</i> &#x2014; material icon named "keyboard double arrow down".
  static const IconData keyboard_double_arrow_down = IconData(0xf052f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_double_arrow_down</i> &#x2014; material icon named "keyboard double arrow down" (sharp).
  static const IconData keyboard_double_arrow_down_sharp = IconData(0xf0439, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_double_arrow_down</i> &#x2014; material icon named "keyboard double arrow down" (round).
  static const IconData keyboard_double_arrow_down_rounded = IconData(0xf0346, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_double_arrow_down</i> &#x2014; material icon named "keyboard double arrow down" (outlined).
  static const IconData keyboard_double_arrow_down_outlined = IconData(0xf0627, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_double_arrow_left</i> &#x2014; material icon named "keyboard double arrow left".
  static const IconData keyboard_double_arrow_left = IconData(0xf0530, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_double_arrow_left</i> &#x2014; material icon named "keyboard double arrow left" (sharp).
  static const IconData keyboard_double_arrow_left_sharp = IconData(0xf043a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_double_arrow_left</i> &#x2014; material icon named "keyboard double arrow left" (round).
  static const IconData keyboard_double_arrow_left_rounded = IconData(0xf0347, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_double_arrow_left</i> &#x2014; material icon named "keyboard double arrow left" (outlined).
  static const IconData keyboard_double_arrow_left_outlined = IconData(0xf0628, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_double_arrow_right</i> &#x2014; material icon named "keyboard double arrow right".
  static const IconData keyboard_double_arrow_right = IconData(0xf0531, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_double_arrow_right</i> &#x2014; material icon named "keyboard double arrow right" (sharp).
  static const IconData keyboard_double_arrow_right_sharp = IconData(0xf043b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_double_arrow_right</i> &#x2014; material icon named "keyboard double arrow right" (round).
  static const IconData keyboard_double_arrow_right_rounded = IconData(0xf0348, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_double_arrow_right</i> &#x2014; material icon named "keyboard double arrow right" (outlined).
  static const IconData keyboard_double_arrow_right_outlined = IconData(0xf0629, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_double_arrow_up</i> &#x2014; material icon named "keyboard double arrow up".
  static const IconData keyboard_double_arrow_up = IconData(0xf0532, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_double_arrow_up</i> &#x2014; material icon named "keyboard double arrow up" (sharp).
  static const IconData keyboard_double_arrow_up_sharp = IconData(0xf043c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_double_arrow_up</i> &#x2014; material icon named "keyboard double arrow up" (round).
  static const IconData keyboard_double_arrow_up_rounded = IconData(0xf0349, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_double_arrow_up</i> &#x2014; material icon named "keyboard double arrow up" (outlined).
  static const IconData keyboard_double_arrow_up_outlined = IconData(0xf062a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_hide</i> &#x2014; material icon named "keyboard hide".
  static const IconData keyboard_hide = IconData(0xe359, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_hide</i> &#x2014; material icon named "keyboard hide" (sharp).
  static const IconData keyboard_hide_sharp = IconData(0xea52, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_hide</i> &#x2014; material icon named "keyboard hide" (round).
  static const IconData keyboard_hide_rounded = IconData(0xf831, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_hide</i> &#x2014; material icon named "keyboard hide" (outlined).
  static const IconData keyboard_hide_outlined = IconData(0xf143, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_option_key</i> &#x2014; material icon named "keyboard option key".
  static const IconData keyboard_option_key = IconData(0xf0533, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_option_key</i> &#x2014; material icon named "keyboard option key" (sharp).
  static const IconData keyboard_option_key_sharp = IconData(0xf043d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_option_key</i> &#x2014; material icon named "keyboard option key" (round).
  static const IconData keyboard_option_key_rounded = IconData(0xf034a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_option_key</i> &#x2014; material icon named "keyboard option key" (outlined).
  static const IconData keyboard_option_key_outlined = IconData(0xf062b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_return</i> &#x2014; material icon named "keyboard return".
  static const IconData keyboard_return = IconData(0xe35a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_return</i> &#x2014; material icon named "keyboard return" (sharp).
  static const IconData keyboard_return_sharp = IconData(0xea53, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_return</i> &#x2014; material icon named "keyboard return" (round).
  static const IconData keyboard_return_rounded = IconData(0xf832, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_return</i> &#x2014; material icon named "keyboard return" (outlined).
  static const IconData keyboard_return_outlined = IconData(0xf145, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">keyboard_tab</i> &#x2014; material icon named "keyboard tab".
  static const IconData keyboard_tab = IconData(0xe35b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">keyboard_tab</i> &#x2014; material icon named "keyboard tab" (sharp).
  static const IconData keyboard_tab_sharp = IconData(0xea55, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">keyboard_tab</i> &#x2014; material icon named "keyboard tab" (round).
  static const IconData keyboard_tab_rounded = IconData(0xf834, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">keyboard_tab</i> &#x2014; material icon named "keyboard tab" (outlined).
  static const IconData keyboard_tab_outlined = IconData(0xf146, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">keyboard_voice</i> &#x2014; material icon named "keyboard voice".
  static const IconData keyboard_voice = IconData(0xe35c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">keyboard_voice</i> &#x2014; material icon named "keyboard voice" (sharp).
  static const IconData keyboard_voice_sharp = IconData(0xea56, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">keyboard_voice</i> &#x2014; material icon named "keyboard voice" (round).
  static const IconData keyboard_voice_rounded = IconData(0xf835, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">keyboard_voice</i> &#x2014; material icon named "keyboard voice" (outlined).
  static const IconData keyboard_voice_outlined = IconData(0xf147, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">king_bed</i> &#x2014; material icon named "king bed".
  static const IconData king_bed = IconData(0xe35d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">king_bed</i> &#x2014; material icon named "king bed" (sharp).
  static const IconData king_bed_sharp = IconData(0xea57, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">king_bed</i> &#x2014; material icon named "king bed" (round).
  static const IconData king_bed_rounded = IconData(0xf836, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">king_bed</i> &#x2014; material icon named "king bed" (outlined).
  static const IconData king_bed_outlined = IconData(0xf148, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">kitchen</i> &#x2014; material icon named "kitchen".
  static const IconData kitchen = IconData(0xe35e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">kitchen</i> &#x2014; material icon named "kitchen" (sharp).
  static const IconData kitchen_sharp = IconData(0xea58, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">kitchen</i> &#x2014; material icon named "kitchen" (round).
  static const IconData kitchen_rounded = IconData(0xf837, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">kitchen</i> &#x2014; material icon named "kitchen" (outlined).
  static const IconData kitchen_outlined = IconData(0xf149, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">kitesurfing</i> &#x2014; material icon named "kitesurfing".
  static const IconData kitesurfing = IconData(0xe35f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">kitesurfing</i> &#x2014; material icon named "kitesurfing" (sharp).
  static const IconData kitesurfing_sharp = IconData(0xea59, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">kitesurfing</i> &#x2014; material icon named "kitesurfing" (round).
  static const IconData kitesurfing_rounded = IconData(0xf838, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">kitesurfing</i> &#x2014; material icon named "kitesurfing" (outlined).
  static const IconData kitesurfing_outlined = IconData(0xf14a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">label</i> &#x2014; material icon named "label".
  static const IconData label = IconData(0xe360, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">label</i> &#x2014; material icon named "label" (sharp).
  static const IconData label_sharp = IconData(0xea5e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">label</i> &#x2014; material icon named "label" (round).
  static const IconData label_rounded = IconData(0xf83d, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">label</i> &#x2014; material icon named "label" (outlined).
  static const IconData label_outlined = IconData(0xf14d, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">label_important</i> &#x2014; material icon named "label important".
  static const IconData label_important = IconData(0xe361, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">label_important</i> &#x2014; material icon named "label important" (sharp).
  static const IconData label_important_sharp = IconData(0xea5b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">label_important</i> &#x2014; material icon named "label important" (round).
  static const IconData label_important_rounded = IconData(0xf83a, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">label_important</i> &#x2014; material icon named "label important" (outlined).
  static const IconData label_important_outlined = IconData(0xf14b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">label_important_outline</i> &#x2014; material icon named "label important outline".
  static const IconData label_important_outline = IconData(0xe362, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">label_important_outline</i> &#x2014; material icon named "label important outline" (sharp).
  static const IconData label_important_outline_sharp = IconData(0xea5a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">label_important_outline</i> &#x2014; material icon named "label important outline" (round).
  static const IconData label_important_outline_rounded = IconData(0xf839, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">label_off</i> &#x2014; material icon named "label off".
  static const IconData label_off = IconData(0xe363, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">label_off</i> &#x2014; material icon named "label off" (sharp).
  static const IconData label_off_sharp = IconData(0xea5c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">label_off</i> &#x2014; material icon named "label off" (round).
  static const IconData label_off_rounded = IconData(0xf83b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">label_off</i> &#x2014; material icon named "label off" (outlined).
  static const IconData label_off_outlined = IconData(0xf14c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">label_outline</i> &#x2014; material icon named "label outline".
  static const IconData label_outline = IconData(0xe364, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">label_outline</i> &#x2014; material icon named "label outline" (sharp).
  static const IconData label_outline_sharp = IconData(0xea5d, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">label_outline</i> &#x2014; material icon named "label outline" (round).
  static const IconData label_outline_rounded = IconData(0xf83c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">lan</i> &#x2014; material icon named "lan".
  static const IconData lan = IconData(0xf0534, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lan</i> &#x2014; material icon named "lan" (sharp).
  static const IconData lan_sharp = IconData(0xf043e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lan</i> &#x2014; material icon named "lan" (round).
  static const IconData lan_rounded = IconData(0xf034b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">lan</i> &#x2014; material icon named "lan" (outlined).
  static const IconData lan_outlined = IconData(0xf062c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">landscape</i> &#x2014; material icon named "landscape".
  static const IconData landscape = IconData(0xe365, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">landscape</i> &#x2014; material icon named "landscape" (sharp).
  static const IconData landscape_sharp = IconData(0xea5f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">landscape</i> &#x2014; material icon named "landscape" (round).
  static const IconData landscape_rounded = IconData(0xf83e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">landscape</i> &#x2014; material icon named "landscape" (outlined).
  static const IconData landscape_outlined = IconData(0xf14e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">landslide</i> &#x2014; material icon named "landslide".
  static const IconData landslide = IconData(0xf07a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">landslide</i> &#x2014; material icon named "landslide" (sharp).
  static const IconData landslide_sharp = IconData(0xf074e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">landslide</i> &#x2014; material icon named "landslide" (round).
  static const IconData landslide_rounded = IconData(0xf07fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">landslide</i> &#x2014; material icon named "landslide" (outlined).
  static const IconData landslide_outlined = IconData(0xf06f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">language</i> &#x2014; material icon named "language".
  static const IconData language = IconData(0xe366, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">language</i> &#x2014; material icon named "language" (sharp).
  static const IconData language_sharp = IconData(0xea60, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">language</i> &#x2014; material icon named "language" (round).
  static const IconData language_rounded = IconData(0xf83f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">language</i> &#x2014; material icon named "language" (outlined).
  static const IconData language_outlined = IconData(0xf14f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">laptop</i> &#x2014; material icon named "laptop".
  static const IconData laptop = IconData(0xe367, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">laptop</i> &#x2014; material icon named "laptop" (sharp).
  static const IconData laptop_sharp = IconData(0xea63, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">laptop</i> &#x2014; material icon named "laptop" (round).
  static const IconData laptop_rounded = IconData(0xf842, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">laptop</i> &#x2014; material icon named "laptop" (outlined).
  static const IconData laptop_outlined = IconData(0xf152, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">laptop_chromebook</i> &#x2014; material icon named "laptop chromebook".
  static const IconData laptop_chromebook = IconData(0xe368, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">laptop_chromebook</i> &#x2014; material icon named "laptop chromebook" (sharp).
  static const IconData laptop_chromebook_sharp = IconData(0xea61, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">laptop_chromebook</i> &#x2014; material icon named "laptop chromebook" (round).
  static const IconData laptop_chromebook_rounded = IconData(0xf840, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">laptop_chromebook</i> &#x2014; material icon named "laptop chromebook" (outlined).
  static const IconData laptop_chromebook_outlined = IconData(0xf150, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">laptop_mac</i> &#x2014; material icon named "laptop mac".
  static const IconData laptop_mac = IconData(0xe369, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">laptop_mac</i> &#x2014; material icon named "laptop mac" (sharp).
  static const IconData laptop_mac_sharp = IconData(0xea62, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">laptop_mac</i> &#x2014; material icon named "laptop mac" (round).
  static const IconData laptop_mac_rounded = IconData(0xf841, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">laptop_mac</i> &#x2014; material icon named "laptop mac" (outlined).
  static const IconData laptop_mac_outlined = IconData(0xf151, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">laptop_windows</i> &#x2014; material icon named "laptop windows".
  static const IconData laptop_windows = IconData(0xe36a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">laptop_windows</i> &#x2014; material icon named "laptop windows" (sharp).
  static const IconData laptop_windows_sharp = IconData(0xea64, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">laptop_windows</i> &#x2014; material icon named "laptop windows" (round).
  static const IconData laptop_windows_rounded = IconData(0xf843, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">laptop_windows</i> &#x2014; material icon named "laptop windows" (outlined).
  static const IconData laptop_windows_outlined = IconData(0xf153, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">last_page</i> &#x2014; material icon named "last page".
  static const IconData last_page = IconData(0xe36b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">last_page</i> &#x2014; material icon named "last page" (sharp).
  static const IconData last_page_sharp = IconData(0xea65, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">last_page</i> &#x2014; material icon named "last page" (round).
  static const IconData last_page_rounded = IconData(0xf844, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">last_page</i> &#x2014; material icon named "last page" (outlined).
  static const IconData last_page_outlined = IconData(0xf154, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">launch</i> &#x2014; material icon named "launch".
  static const IconData launch = IconData(0xe36c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">launch</i> &#x2014; material icon named "launch" (sharp).
  static const IconData launch_sharp = IconData(0xea66, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">launch</i> &#x2014; material icon named "launch" (round).
  static const IconData launch_rounded = IconData(0xf845, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">launch</i> &#x2014; material icon named "launch" (outlined).
  static const IconData launch_outlined = IconData(0xf155, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">layers</i> &#x2014; material icon named "layers".
  static const IconData layers = IconData(0xe36d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">layers</i> &#x2014; material icon named "layers" (sharp).
  static const IconData layers_sharp = IconData(0xea68, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">layers</i> &#x2014; material icon named "layers" (round).
  static const IconData layers_rounded = IconData(0xf847, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">layers</i> &#x2014; material icon named "layers" (outlined).
  static const IconData layers_outlined = IconData(0xf157, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">layers_clear</i> &#x2014; material icon named "layers clear".
  static const IconData layers_clear = IconData(0xe36e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">layers_clear</i> &#x2014; material icon named "layers clear" (sharp).
  static const IconData layers_clear_sharp = IconData(0xea67, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">layers_clear</i> &#x2014; material icon named "layers clear" (round).
  static const IconData layers_clear_rounded = IconData(0xf846, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">layers_clear</i> &#x2014; material icon named "layers clear" (outlined).
  static const IconData layers_clear_outlined = IconData(0xf156, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">leaderboard</i> &#x2014; material icon named "leaderboard".
  static const IconData leaderboard = IconData(0xe36f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">leaderboard</i> &#x2014; material icon named "leaderboard" (sharp).
  static const IconData leaderboard_sharp = IconData(0xea69, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">leaderboard</i> &#x2014; material icon named "leaderboard" (round).
  static const IconData leaderboard_rounded = IconData(0xf848, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">leaderboard</i> &#x2014; material icon named "leaderboard" (outlined).
  static const IconData leaderboard_outlined = IconData(0xf158, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">leak_add</i> &#x2014; material icon named "leak add".
  static const IconData leak_add = IconData(0xe370, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">leak_add</i> &#x2014; material icon named "leak add" (sharp).
  static const IconData leak_add_sharp = IconData(0xea6a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">leak_add</i> &#x2014; material icon named "leak add" (round).
  static const IconData leak_add_rounded = IconData(0xf849, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">leak_add</i> &#x2014; material icon named "leak add" (outlined).
  static const IconData leak_add_outlined = IconData(0xf159, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">leak_remove</i> &#x2014; material icon named "leak remove".
  static const IconData leak_remove = IconData(0xe371, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">leak_remove</i> &#x2014; material icon named "leak remove" (sharp).
  static const IconData leak_remove_sharp = IconData(0xea6b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">leak_remove</i> &#x2014; material icon named "leak remove" (round).
  static const IconData leak_remove_rounded = IconData(0xf84a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">leak_remove</i> &#x2014; material icon named "leak remove" (outlined).
  static const IconData leak_remove_outlined = IconData(0xf15a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">leave_bags_at_home</i> &#x2014; material icon named "leave bags at home".
  static const IconData leave_bags_at_home = IconData(0xe439, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">leave_bags_at_home</i> &#x2014; material icon named "leave bags at home" (sharp).
  static const IconData leave_bags_at_home_sharp = IconData(0xeb32, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">leave_bags_at_home</i> &#x2014; material icon named "leave bags at home" (round).
  static const IconData leave_bags_at_home_rounded = IconData(0xf0011, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">leave_bags_at_home</i> &#x2014; material icon named "leave bags at home" (outlined).
  static const IconData leave_bags_at_home_outlined = IconData(0xf21f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">legend_toggle</i> &#x2014; material icon named "legend toggle".
  static const IconData legend_toggle = IconData(0xe372, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">legend_toggle</i> &#x2014; material icon named "legend toggle" (sharp).
  static const IconData legend_toggle_sharp = IconData(0xea6c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">legend_toggle</i> &#x2014; material icon named "legend toggle" (round).
  static const IconData legend_toggle_rounded = IconData(0xf84b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">legend_toggle</i> &#x2014; material icon named "legend toggle" (outlined).
  static const IconData legend_toggle_outlined = IconData(0xf15b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lens</i> &#x2014; material icon named "lens".
  static const IconData lens = IconData(0xe373, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lens</i> &#x2014; material icon named "lens" (sharp).
  static const IconData lens_sharp = IconData(0xea6e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lens</i> &#x2014; material icon named "lens" (round).
  static const IconData lens_rounded = IconData(0xf84d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">lens</i> &#x2014; material icon named "lens" (outlined).
  static const IconData lens_outlined = IconData(0xf15d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lens_blur</i> &#x2014; material icon named "lens blur".
  static const IconData lens_blur = IconData(0xe374, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lens_blur</i> &#x2014; material icon named "lens blur" (sharp).
  static const IconData lens_blur_sharp = IconData(0xea6d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lens_blur</i> &#x2014; material icon named "lens blur" (round).
  static const IconData lens_blur_rounded = IconData(0xf84c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">lens_blur</i> &#x2014; material icon named "lens blur" (outlined).
  static const IconData lens_blur_outlined = IconData(0xf15c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">library_add</i> &#x2014; material icon named "library add".
  static const IconData library_add = IconData(0xe375, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">library_add</i> &#x2014; material icon named "library add" (sharp).
  static const IconData library_add_sharp = IconData(0xea70, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">library_add</i> &#x2014; material icon named "library add" (round).
  static const IconData library_add_rounded = IconData(0xf84f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">library_add</i> &#x2014; material icon named "library add" (outlined).
  static const IconData library_add_outlined = IconData(0xf15f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">library_add_check</i> &#x2014; material icon named "library add check".
  static const IconData library_add_check = IconData(0xe376, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">library_add_check</i> &#x2014; material icon named "library add check" (sharp).
  static const IconData library_add_check_sharp = IconData(0xea6f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">library_add_check</i> &#x2014; material icon named "library add check" (round).
  static const IconData library_add_check_rounded = IconData(0xf84e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">library_add_check</i> &#x2014; material icon named "library add check" (outlined).
  static const IconData library_add_check_outlined = IconData(0xf15e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">library_books</i> &#x2014; material icon named "library books".
  static const IconData library_books = IconData(0xe377, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">library_books</i> &#x2014; material icon named "library books" (sharp).
  static const IconData library_books_sharp = IconData(0xea71, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">library_books</i> &#x2014; material icon named "library books" (round).
  static const IconData library_books_rounded = IconData(0xf850, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">library_books</i> &#x2014; material icon named "library books" (outlined).
  static const IconData library_books_outlined = IconData(0xf160, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">library_music</i> &#x2014; material icon named "library music".
  static const IconData library_music = IconData(0xe378, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">library_music</i> &#x2014; material icon named "library music" (sharp).
  static const IconData library_music_sharp = IconData(0xea72, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">library_music</i> &#x2014; material icon named "library music" (round).
  static const IconData library_music_rounded = IconData(0xf851, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">library_music</i> &#x2014; material icon named "library music" (outlined).
  static const IconData library_music_outlined = IconData(0xf161, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">light</i> &#x2014; material icon named "light".
  static const IconData light = IconData(0xe379, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">light</i> &#x2014; material icon named "light" (sharp).
  static const IconData light_sharp = IconData(0xea74, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">light</i> &#x2014; material icon named "light" (round).
  static const IconData light_rounded = IconData(0xf853, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">light</i> &#x2014; material icon named "light" (outlined).
  static const IconData light_outlined = IconData(0xf163, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">light_mode</i> &#x2014; material icon named "light mode".
  static const IconData light_mode = IconData(0xe37a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">light_mode</i> &#x2014; material icon named "light mode" (sharp).
  static const IconData light_mode_sharp = IconData(0xea73, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">light_mode</i> &#x2014; material icon named "light mode" (round).
  static const IconData light_mode_rounded = IconData(0xf852, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">light_mode</i> &#x2014; material icon named "light mode" (outlined).
  static const IconData light_mode_outlined = IconData(0xf162, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lightbulb</i> &#x2014; material icon named "lightbulb".
  static const IconData lightbulb = IconData(0xe37b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lightbulb</i> &#x2014; material icon named "lightbulb" (sharp).
  static const IconData lightbulb_sharp = IconData(0xea76, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lightbulb</i> &#x2014; material icon named "lightbulb" (round).
  static const IconData lightbulb_rounded = IconData(0xf855, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">lightbulb</i> &#x2014; material icon named "lightbulb" (outlined).
  static const IconData lightbulb_outlined = IconData(0xf164, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lightbulb_circle</i> &#x2014; material icon named "lightbulb circle".
  static const IconData lightbulb_circle = IconData(0xf07a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lightbulb_circle</i> &#x2014; material icon named "lightbulb circle" (sharp).
  static const IconData lightbulb_circle_sharp = IconData(0xf074f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lightbulb_circle</i> &#x2014; material icon named "lightbulb circle" (round).
  static const IconData lightbulb_circle_rounded = IconData(0xf07ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">lightbulb_circle</i> &#x2014; material icon named "lightbulb circle" (outlined).
  static const IconData lightbulb_circle_outlined = IconData(0xf06f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lightbulb_outline</i> &#x2014; material icon named "lightbulb outline".
  static const IconData lightbulb_outline = IconData(0xe37c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lightbulb_outline</i> &#x2014; material icon named "lightbulb outline" (sharp).
  static const IconData lightbulb_outline_sharp = IconData(0xea75, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lightbulb_outline</i> &#x2014; material icon named "lightbulb outline" (round).
  static const IconData lightbulb_outline_rounded = IconData(0xf854, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">line_axis</i> &#x2014; material icon named "line axis".
  static const IconData line_axis = IconData(0xf0535, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">line_axis</i> &#x2014; material icon named "line axis" (sharp).
  static const IconData line_axis_sharp = IconData(0xf043f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">line_axis</i> &#x2014; material icon named "line axis" (round).
  static const IconData line_axis_rounded = IconData(0xf034c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">line_axis</i> &#x2014; material icon named "line axis" (outlined).
  static const IconData line_axis_outlined = IconData(0xf062d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">line_style</i> &#x2014; material icon named "line style".
  static const IconData line_style = IconData(0xe37d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">line_style</i> &#x2014; material icon named "line style" (sharp).
  static const IconData line_style_sharp = IconData(0xea77, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">line_style</i> &#x2014; material icon named "line style" (round).
  static const IconData line_style_rounded = IconData(0xf856, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">line_style</i> &#x2014; material icon named "line style" (outlined).
  static const IconData line_style_outlined = IconData(0xf165, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">line_weight</i> &#x2014; material icon named "line weight".
  static const IconData line_weight = IconData(0xe37e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">line_weight</i> &#x2014; material icon named "line weight" (sharp).
  static const IconData line_weight_sharp = IconData(0xea78, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">line_weight</i> &#x2014; material icon named "line weight" (round).
  static const IconData line_weight_rounded = IconData(0xf857, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">line_weight</i> &#x2014; material icon named "line weight" (outlined).
  static const IconData line_weight_outlined = IconData(0xf166, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">linear_scale</i> &#x2014; material icon named "linear scale".
  static const IconData linear_scale = IconData(0xe37f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">linear_scale</i> &#x2014; material icon named "linear scale" (sharp).
  static const IconData linear_scale_sharp = IconData(0xea79, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">linear_scale</i> &#x2014; material icon named "linear scale" (round).
  static const IconData linear_scale_rounded = IconData(0xf858, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">linear_scale</i> &#x2014; material icon named "linear scale" (outlined).
  static const IconData linear_scale_outlined = IconData(0xf167, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">link</i> &#x2014; material icon named "link".
  static const IconData link = IconData(0xe380, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">link</i> &#x2014; material icon named "link" (sharp).
  static const IconData link_sharp = IconData(0xea7b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">link</i> &#x2014; material icon named "link" (round).
  static const IconData link_rounded = IconData(0xf85a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">link</i> &#x2014; material icon named "link" (outlined).
  static const IconData link_outlined = IconData(0xf169, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">link_off</i> &#x2014; material icon named "link off".
  static const IconData link_off = IconData(0xe381, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">link_off</i> &#x2014; material icon named "link off" (sharp).
  static const IconData link_off_sharp = IconData(0xea7a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">link_off</i> &#x2014; material icon named "link off" (round).
  static const IconData link_off_rounded = IconData(0xf859, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">link_off</i> &#x2014; material icon named "link off" (outlined).
  static const IconData link_off_outlined = IconData(0xf168, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">linked_camera</i> &#x2014; material icon named "linked camera".
  static const IconData linked_camera = IconData(0xe382, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">linked_camera</i> &#x2014; material icon named "linked camera" (sharp).
  static const IconData linked_camera_sharp = IconData(0xea7c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">linked_camera</i> &#x2014; material icon named "linked camera" (round).
  static const IconData linked_camera_rounded = IconData(0xf85b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">linked_camera</i> &#x2014; material icon named "linked camera" (outlined).
  static const IconData linked_camera_outlined = IconData(0xf16a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">liquor</i> &#x2014; material icon named "liquor".
  static const IconData liquor = IconData(0xe383, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">liquor</i> &#x2014; material icon named "liquor" (sharp).
  static const IconData liquor_sharp = IconData(0xea7d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">liquor</i> &#x2014; material icon named "liquor" (round).
  static const IconData liquor_rounded = IconData(0xf85c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">liquor</i> &#x2014; material icon named "liquor" (outlined).
  static const IconData liquor_outlined = IconData(0xf16b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">list</i> &#x2014; material icon named "list".
  static const IconData list = IconData(0xe384, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">list</i> &#x2014; material icon named "list" (sharp).
  static const IconData list_sharp = IconData(0xea7f, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">list</i> &#x2014; material icon named "list" (round).
  static const IconData list_rounded = IconData(0xf85e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">list</i> &#x2014; material icon named "list" (outlined).
  static const IconData list_outlined = IconData(0xf16d, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">list_alt</i> &#x2014; material icon named "list alt".
  static const IconData list_alt = IconData(0xe385, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">list_alt</i> &#x2014; material icon named "list alt" (sharp).
  static const IconData list_alt_sharp = IconData(0xea7e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">list_alt</i> &#x2014; material icon named "list alt" (round).
  static const IconData list_alt_rounded = IconData(0xf85d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">list_alt</i> &#x2014; material icon named "list alt" (outlined).
  static const IconData list_alt_outlined = IconData(0xf16c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">live_help</i> &#x2014; material icon named "live help".
  static const IconData live_help = IconData(0xe386, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">live_help</i> &#x2014; material icon named "live help" (sharp).
  static const IconData live_help_sharp = IconData(0xea80, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">live_help</i> &#x2014; material icon named "live help" (round).
  static const IconData live_help_rounded = IconData(0xf85f, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">live_help</i> &#x2014; material icon named "live help" (outlined).
  static const IconData live_help_outlined = IconData(0xf16e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">live_tv</i> &#x2014; material icon named "live tv".
  static const IconData live_tv = IconData(0xe387, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">live_tv</i> &#x2014; material icon named "live tv" (sharp).
  static const IconData live_tv_sharp = IconData(0xea81, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">live_tv</i> &#x2014; material icon named "live tv" (round).
  static const IconData live_tv_rounded = IconData(0xf860, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">live_tv</i> &#x2014; material icon named "live tv" (outlined).
  static const IconData live_tv_outlined = IconData(0xf16f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">living</i> &#x2014; material icon named "living".
  static const IconData living = IconData(0xe388, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">living</i> &#x2014; material icon named "living" (sharp).
  static const IconData living_sharp = IconData(0xea82, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">living</i> &#x2014; material icon named "living" (round).
  static const IconData living_rounded = IconData(0xf861, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">living</i> &#x2014; material icon named "living" (outlined).
  static const IconData living_outlined = IconData(0xf170, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_activity</i> &#x2014; material icon named "local activity".
  static const IconData local_activity = IconData(0xe389, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_activity</i> &#x2014; material icon named "local activity" (sharp).
  static const IconData local_activity_sharp = IconData(0xea83, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_activity</i> &#x2014; material icon named "local activity" (round).
  static const IconData local_activity_rounded = IconData(0xf862, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_activity</i> &#x2014; material icon named "local activity" (outlined).
  static const IconData local_activity_outlined = IconData(0xf171, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_airport</i> &#x2014; material icon named "local airport".
  static const IconData local_airport = IconData(0xe38a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_airport</i> &#x2014; material icon named "local airport" (sharp).
  static const IconData local_airport_sharp = IconData(0xea84, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_airport</i> &#x2014; material icon named "local airport" (round).
  static const IconData local_airport_rounded = IconData(0xf863, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_airport</i> &#x2014; material icon named "local airport" (outlined).
  static const IconData local_airport_outlined = IconData(0xf172, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_atm</i> &#x2014; material icon named "local atm".
  static const IconData local_atm = IconData(0xe38b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_atm</i> &#x2014; material icon named "local atm" (sharp).
  static const IconData local_atm_sharp = IconData(0xea85, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_atm</i> &#x2014; material icon named "local atm" (round).
  static const IconData local_atm_rounded = IconData(0xf864, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_atm</i> &#x2014; material icon named "local atm" (outlined).
  static const IconData local_atm_outlined = IconData(0xf173, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_attraction</i> &#x2014; material icon named "local attraction".
  static const IconData local_attraction = IconData(0xe389, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_attraction</i> &#x2014; material icon named "local attraction" (sharp).
  static const IconData local_attraction_sharp = IconData(0xea83, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_attraction</i> &#x2014; material icon named "local attraction" (round).
  static const IconData local_attraction_rounded = IconData(0xf862, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_attraction</i> &#x2014; material icon named "local attraction" (outlined).
  static const IconData local_attraction_outlined = IconData(0xf171, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_bar</i> &#x2014; material icon named "local bar".
  static const IconData local_bar = IconData(0xe38c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_bar</i> &#x2014; material icon named "local bar" (sharp).
  static const IconData local_bar_sharp = IconData(0xea86, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_bar</i> &#x2014; material icon named "local bar" (round).
  static const IconData local_bar_rounded = IconData(0xf865, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_bar</i> &#x2014; material icon named "local bar" (outlined).
  static const IconData local_bar_outlined = IconData(0xf174, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_cafe</i> &#x2014; material icon named "local cafe".
  static const IconData local_cafe = IconData(0xe38d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_cafe</i> &#x2014; material icon named "local cafe" (sharp).
  static const IconData local_cafe_sharp = IconData(0xea87, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_cafe</i> &#x2014; material icon named "local cafe" (round).
  static const IconData local_cafe_rounded = IconData(0xf866, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_cafe</i> &#x2014; material icon named "local cafe" (outlined).
  static const IconData local_cafe_outlined = IconData(0xf175, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_car_wash</i> &#x2014; material icon named "local car wash".
  static const IconData local_car_wash = IconData(0xe38e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_car_wash</i> &#x2014; material icon named "local car wash" (sharp).
  static const IconData local_car_wash_sharp = IconData(0xea88, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_car_wash</i> &#x2014; material icon named "local car wash" (round).
  static const IconData local_car_wash_rounded = IconData(0xf867, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_car_wash</i> &#x2014; material icon named "local car wash" (outlined).
  static const IconData local_car_wash_outlined = IconData(0xf176, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_convenience_store</i> &#x2014; material icon named "local convenience store".
  static const IconData local_convenience_store = IconData(0xe38f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_convenience_store</i> &#x2014; material icon named "local convenience store" (sharp).
  static const IconData local_convenience_store_sharp = IconData(0xea89, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_convenience_store</i> &#x2014; material icon named "local convenience store" (round).
  static const IconData local_convenience_store_rounded = IconData(0xf868, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_convenience_store</i> &#x2014; material icon named "local convenience store" (outlined).
  static const IconData local_convenience_store_outlined = IconData(0xf177, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_dining</i> &#x2014; material icon named "local dining".
  static const IconData local_dining = IconData(0xe390, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_dining</i> &#x2014; material icon named "local dining" (sharp).
  static const IconData local_dining_sharp = IconData(0xea8a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_dining</i> &#x2014; material icon named "local dining" (round).
  static const IconData local_dining_rounded = IconData(0xf869, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_dining</i> &#x2014; material icon named "local dining" (outlined).
  static const IconData local_dining_outlined = IconData(0xf178, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_drink</i> &#x2014; material icon named "local drink".
  static const IconData local_drink = IconData(0xe391, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_drink</i> &#x2014; material icon named "local drink" (sharp).
  static const IconData local_drink_sharp = IconData(0xea8b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_drink</i> &#x2014; material icon named "local drink" (round).
  static const IconData local_drink_rounded = IconData(0xf86a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_drink</i> &#x2014; material icon named "local drink" (outlined).
  static const IconData local_drink_outlined = IconData(0xf179, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_fire_department</i> &#x2014; material icon named "local fire department".
  static const IconData local_fire_department = IconData(0xe392, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_fire_department</i> &#x2014; material icon named "local fire department" (sharp).
  static const IconData local_fire_department_sharp = IconData(0xea8c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_fire_department</i> &#x2014; material icon named "local fire department" (round).
  static const IconData local_fire_department_rounded = IconData(0xf86b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_fire_department</i> &#x2014; material icon named "local fire department" (outlined).
  static const IconData local_fire_department_outlined = IconData(0xf17a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_florist</i> &#x2014; material icon named "local florist".
  static const IconData local_florist = IconData(0xe393, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_florist</i> &#x2014; material icon named "local florist" (sharp).
  static const IconData local_florist_sharp = IconData(0xea8d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_florist</i> &#x2014; material icon named "local florist" (round).
  static const IconData local_florist_rounded = IconData(0xf86c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_florist</i> &#x2014; material icon named "local florist" (outlined).
  static const IconData local_florist_outlined = IconData(0xf17b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_gas_station</i> &#x2014; material icon named "local gas station".
  static const IconData local_gas_station = IconData(0xe394, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_gas_station</i> &#x2014; material icon named "local gas station" (sharp).
  static const IconData local_gas_station_sharp = IconData(0xea8e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_gas_station</i> &#x2014; material icon named "local gas station" (round).
  static const IconData local_gas_station_rounded = IconData(0xf86d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_gas_station</i> &#x2014; material icon named "local gas station" (outlined).
  static const IconData local_gas_station_outlined = IconData(0xf17c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_grocery_store</i> &#x2014; material icon named "local grocery store".
  static const IconData local_grocery_store = IconData(0xe395, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_grocery_store</i> &#x2014; material icon named "local grocery store" (sharp).
  static const IconData local_grocery_store_sharp = IconData(0xea8f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_grocery_store</i> &#x2014; material icon named "local grocery store" (round).
  static const IconData local_grocery_store_rounded = IconData(0xf86e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_grocery_store</i> &#x2014; material icon named "local grocery store" (outlined).
  static const IconData local_grocery_store_outlined = IconData(0xf17d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_hospital</i> &#x2014; material icon named "local hospital".
  static const IconData local_hospital = IconData(0xe396, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_hospital</i> &#x2014; material icon named "local hospital" (sharp).
  static const IconData local_hospital_sharp = IconData(0xea90, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_hospital</i> &#x2014; material icon named "local hospital" (round).
  static const IconData local_hospital_rounded = IconData(0xf86f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_hospital</i> &#x2014; material icon named "local hospital" (outlined).
  static const IconData local_hospital_outlined = IconData(0xf17e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_hotel</i> &#x2014; material icon named "local hotel".
  static const IconData local_hotel = IconData(0xe397, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_hotel</i> &#x2014; material icon named "local hotel" (sharp).
  static const IconData local_hotel_sharp = IconData(0xea91, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_hotel</i> &#x2014; material icon named "local hotel" (round).
  static const IconData local_hotel_rounded = IconData(0xf870, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_hotel</i> &#x2014; material icon named "local hotel" (outlined).
  static const IconData local_hotel_outlined = IconData(0xf17f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_laundry_service</i> &#x2014; material icon named "local laundry service".
  static const IconData local_laundry_service = IconData(0xe398, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_laundry_service</i> &#x2014; material icon named "local laundry service" (sharp).
  static const IconData local_laundry_service_sharp = IconData(0xea92, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_laundry_service</i> &#x2014; material icon named "local laundry service" (round).
  static const IconData local_laundry_service_rounded = IconData(0xf871, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_laundry_service</i> &#x2014; material icon named "local laundry service" (outlined).
  static const IconData local_laundry_service_outlined = IconData(0xf180, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_library</i> &#x2014; material icon named "local library".
  static const IconData local_library = IconData(0xe399, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_library</i> &#x2014; material icon named "local library" (sharp).
  static const IconData local_library_sharp = IconData(0xea93, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_library</i> &#x2014; material icon named "local library" (round).
  static const IconData local_library_rounded = IconData(0xf872, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_library</i> &#x2014; material icon named "local library" (outlined).
  static const IconData local_library_outlined = IconData(0xf181, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_mall</i> &#x2014; material icon named "local mall".
  static const IconData local_mall = IconData(0xe39a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_mall</i> &#x2014; material icon named "local mall" (sharp).
  static const IconData local_mall_sharp = IconData(0xea94, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_mall</i> &#x2014; material icon named "local mall" (round).
  static const IconData local_mall_rounded = IconData(0xf873, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_mall</i> &#x2014; material icon named "local mall" (outlined).
  static const IconData local_mall_outlined = IconData(0xf182, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_movies</i> &#x2014; material icon named "local movies".
  static const IconData local_movies = IconData(0xe39b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_movies</i> &#x2014; material icon named "local movies" (sharp).
  static const IconData local_movies_sharp = IconData(0xea95, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_movies</i> &#x2014; material icon named "local movies" (round).
  static const IconData local_movies_rounded = IconData(0xf874, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_movies</i> &#x2014; material icon named "local movies" (outlined).
  static const IconData local_movies_outlined = IconData(0xf183, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_offer</i> &#x2014; material icon named "local offer".
  static const IconData local_offer = IconData(0xe39c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_offer</i> &#x2014; material icon named "local offer" (sharp).
  static const IconData local_offer_sharp = IconData(0xea96, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_offer</i> &#x2014; material icon named "local offer" (round).
  static const IconData local_offer_rounded = IconData(0xf875, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_offer</i> &#x2014; material icon named "local offer" (outlined).
  static const IconData local_offer_outlined = IconData(0xf184, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_parking</i> &#x2014; material icon named "local parking".
  static const IconData local_parking = IconData(0xe39d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_parking</i> &#x2014; material icon named "local parking" (sharp).
  static const IconData local_parking_sharp = IconData(0xea97, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_parking</i> &#x2014; material icon named "local parking" (round).
  static const IconData local_parking_rounded = IconData(0xf876, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_parking</i> &#x2014; material icon named "local parking" (outlined).
  static const IconData local_parking_outlined = IconData(0xf185, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_pharmacy</i> &#x2014; material icon named "local pharmacy".
  static const IconData local_pharmacy = IconData(0xe39e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_pharmacy</i> &#x2014; material icon named "local pharmacy" (sharp).
  static const IconData local_pharmacy_sharp = IconData(0xea98, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_pharmacy</i> &#x2014; material icon named "local pharmacy" (round).
  static const IconData local_pharmacy_rounded = IconData(0xf877, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_pharmacy</i> &#x2014; material icon named "local pharmacy" (outlined).
  static const IconData local_pharmacy_outlined = IconData(0xf186, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_phone</i> &#x2014; material icon named "local phone".
  static const IconData local_phone = IconData(0xe39f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_phone</i> &#x2014; material icon named "local phone" (sharp).
  static const IconData local_phone_sharp = IconData(0xea99, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_phone</i> &#x2014; material icon named "local phone" (round).
  static const IconData local_phone_rounded = IconData(0xf878, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_phone</i> &#x2014; material icon named "local phone" (outlined).
  static const IconData local_phone_outlined = IconData(0xf187, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_pizza</i> &#x2014; material icon named "local pizza".
  static const IconData local_pizza = IconData(0xe3a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_pizza</i> &#x2014; material icon named "local pizza" (sharp).
  static const IconData local_pizza_sharp = IconData(0xea9a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_pizza</i> &#x2014; material icon named "local pizza" (round).
  static const IconData local_pizza_rounded = IconData(0xf879, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_pizza</i> &#x2014; material icon named "local pizza" (outlined).
  static const IconData local_pizza_outlined = IconData(0xf188, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_play</i> &#x2014; material icon named "local play".
  static const IconData local_play = IconData(0xe3a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_play</i> &#x2014; material icon named "local play" (sharp).
  static const IconData local_play_sharp = IconData(0xea9b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_play</i> &#x2014; material icon named "local play" (round).
  static const IconData local_play_rounded = IconData(0xf87a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_play</i> &#x2014; material icon named "local play" (outlined).
  static const IconData local_play_outlined = IconData(0xf189, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_police</i> &#x2014; material icon named "local police".
  static const IconData local_police = IconData(0xe3a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_police</i> &#x2014; material icon named "local police" (sharp).
  static const IconData local_police_sharp = IconData(0xea9c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_police</i> &#x2014; material icon named "local police" (round).
  static const IconData local_police_rounded = IconData(0xf87b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_police</i> &#x2014; material icon named "local police" (outlined).
  static const IconData local_police_outlined = IconData(0xf18a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_post_office</i> &#x2014; material icon named "local post office".
  static const IconData local_post_office = IconData(0xe3a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_post_office</i> &#x2014; material icon named "local post office" (sharp).
  static const IconData local_post_office_sharp = IconData(0xea9d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_post_office</i> &#x2014; material icon named "local post office" (round).
  static const IconData local_post_office_rounded = IconData(0xf87c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_post_office</i> &#x2014; material icon named "local post office" (outlined).
  static const IconData local_post_office_outlined = IconData(0xf18b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_print_shop</i> &#x2014; material icon named "local print shop".
  static const IconData local_print_shop = IconData(0xe3a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_print_shop</i> &#x2014; material icon named "local print shop" (sharp).
  static const IconData local_print_shop_sharp = IconData(0xea9e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_print_shop</i> &#x2014; material icon named "local print shop" (round).
  static const IconData local_print_shop_rounded = IconData(0xf87d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_print_shop</i> &#x2014; material icon named "local print shop" (outlined).
  static const IconData local_print_shop_outlined = IconData(0xf18c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_printshop</i> &#x2014; material icon named "local printshop".
  static const IconData local_printshop = IconData(0xe3a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_printshop</i> &#x2014; material icon named "local printshop" (sharp).
  static const IconData local_printshop_sharp = IconData(0xea9e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_printshop</i> &#x2014; material icon named "local printshop" (round).
  static const IconData local_printshop_rounded = IconData(0xf87d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_printshop</i> &#x2014; material icon named "local printshop" (outlined).
  static const IconData local_printshop_outlined = IconData(0xf18c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_restaurant</i> &#x2014; material icon named "local restaurant".
  static const IconData local_restaurant = IconData(0xe390, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_restaurant</i> &#x2014; material icon named "local restaurant" (sharp).
  static const IconData local_restaurant_sharp = IconData(0xea8a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_restaurant</i> &#x2014; material icon named "local restaurant" (round).
  static const IconData local_restaurant_rounded = IconData(0xf869, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_restaurant</i> &#x2014; material icon named "local restaurant" (outlined).
  static const IconData local_restaurant_outlined = IconData(0xf178, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_see</i> &#x2014; material icon named "local see".
  static const IconData local_see = IconData(0xe3a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_see</i> &#x2014; material icon named "local see" (sharp).
  static const IconData local_see_sharp = IconData(0xea9f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_see</i> &#x2014; material icon named "local see" (round).
  static const IconData local_see_rounded = IconData(0xf87e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_see</i> &#x2014; material icon named "local see" (outlined).
  static const IconData local_see_outlined = IconData(0xf18d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_shipping</i> &#x2014; material icon named "local shipping".
  static const IconData local_shipping = IconData(0xe3a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_shipping</i> &#x2014; material icon named "local shipping" (sharp).
  static const IconData local_shipping_sharp = IconData(0xeaa0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_shipping</i> &#x2014; material icon named "local shipping" (round).
  static const IconData local_shipping_rounded = IconData(0xf87f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_shipping</i> &#x2014; material icon named "local shipping" (outlined).
  static const IconData local_shipping_outlined = IconData(0xf18e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">local_taxi</i> &#x2014; material icon named "local taxi".
  static const IconData local_taxi = IconData(0xe3a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">local_taxi</i> &#x2014; material icon named "local taxi" (sharp).
  static const IconData local_taxi_sharp = IconData(0xeaa1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">local_taxi</i> &#x2014; material icon named "local taxi" (round).
  static const IconData local_taxi_rounded = IconData(0xf880, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">local_taxi</i> &#x2014; material icon named "local taxi" (outlined).
  static const IconData local_taxi_outlined = IconData(0xf18f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">location_city</i> &#x2014; material icon named "location city".
  static const IconData location_city = IconData(0xe3a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">location_city</i> &#x2014; material icon named "location city" (sharp).
  static const IconData location_city_sharp = IconData(0xeaa2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">location_city</i> &#x2014; material icon named "location city" (round).
  static const IconData location_city_rounded = IconData(0xf881, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">location_city</i> &#x2014; material icon named "location city" (outlined).
  static const IconData location_city_outlined = IconData(0xf190, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">location_disabled</i> &#x2014; material icon named "location disabled".
  static const IconData location_disabled = IconData(0xe3a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">location_disabled</i> &#x2014; material icon named "location disabled" (sharp).
  static const IconData location_disabled_sharp = IconData(0xeaa3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">location_disabled</i> &#x2014; material icon named "location disabled" (round).
  static const IconData location_disabled_rounded = IconData(0xf882, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">location_disabled</i> &#x2014; material icon named "location disabled" (outlined).
  static const IconData location_disabled_outlined = IconData(0xf191, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">location_history</i> &#x2014; material icon named "location history".
  static const IconData location_history = IconData(0xe498, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">location_history</i> &#x2014; material icon named "location history" (sharp).
  static const IconData location_history_sharp = IconData(0xeb8f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">location_history</i> &#x2014; material icon named "location history" (round).
  static const IconData location_history_rounded = IconData(0xf006e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">location_history</i> &#x2014; material icon named "location history" (outlined).
  static const IconData location_history_outlined = IconData(0xf27d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">location_off</i> &#x2014; material icon named "location off".
  static const IconData location_off = IconData(0xe3aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">location_off</i> &#x2014; material icon named "location off" (sharp).
  static const IconData location_off_sharp = IconData(0xeaa4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">location_off</i> &#x2014; material icon named "location off" (round).
  static const IconData location_off_rounded = IconData(0xf883, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">location_off</i> &#x2014; material icon named "location off" (outlined).
  static const IconData location_off_outlined = IconData(0xf192, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">location_on</i> &#x2014; material icon named "location on".
  static const IconData location_on = IconData(0xe3ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">location_on</i> &#x2014; material icon named "location on" (sharp).
  static const IconData location_on_sharp = IconData(0xeaa5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">location_on</i> &#x2014; material icon named "location on" (round).
  static const IconData location_on_rounded = IconData(0xf884, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">location_on</i> &#x2014; material icon named "location on" (outlined).
  static const IconData location_on_outlined = IconData(0xf193, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">location_pin</i> &#x2014; material icon named "location pin".
  static const IconData location_pin = IconData(0xe3ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">location_searching</i> &#x2014; material icon named "location searching".
  static const IconData location_searching = IconData(0xe3ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">location_searching</i> &#x2014; material icon named "location searching" (sharp).
  static const IconData location_searching_sharp = IconData(0xeaa6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">location_searching</i> &#x2014; material icon named "location searching" (round).
  static const IconData location_searching_rounded = IconData(0xf885, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">location_searching</i> &#x2014; material icon named "location searching" (outlined).
  static const IconData location_searching_outlined = IconData(0xf194, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lock</i> &#x2014; material icon named "lock".
  static const IconData lock = IconData(0xe3ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lock</i> &#x2014; material icon named "lock" (sharp).
  static const IconData lock_sharp = IconData(0xeaaa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lock</i> &#x2014; material icon named "lock" (round).
  static const IconData lock_rounded = IconData(0xf889, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">lock</i> &#x2014; material icon named "lock" (outlined).
  static const IconData lock_outlined = IconData(0xf197, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lock_clock</i> &#x2014; material icon named "lock clock".
  static const IconData lock_clock = IconData(0xe3af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lock_clock</i> &#x2014; material icon named "lock clock" (sharp).
  static const IconData lock_clock_sharp = IconData(0xeaa7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lock_clock</i> &#x2014; material icon named "lock clock" (round).
  static const IconData lock_clock_rounded = IconData(0xf886, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">lock_clock</i> &#x2014; material icon named "lock clock" (outlined).
  static const IconData lock_clock_outlined = IconData(0xf195, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lock_open</i> &#x2014; material icon named "lock open".
  static const IconData lock_open = IconData(0xe3b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lock_open</i> &#x2014; material icon named "lock open" (sharp).
  static const IconData lock_open_sharp = IconData(0xeaa8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lock_open</i> &#x2014; material icon named "lock open" (round).
  static const IconData lock_open_rounded = IconData(0xf887, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">lock_open</i> &#x2014; material icon named "lock open" (outlined).
  static const IconData lock_open_outlined = IconData(0xf196, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lock_outline</i> &#x2014; material icon named "lock outline".
  static const IconData lock_outline = IconData(0xe3b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lock_outline</i> &#x2014; material icon named "lock outline" (sharp).
  static const IconData lock_outline_sharp = IconData(0xeaa9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lock_outline</i> &#x2014; material icon named "lock outline" (round).
  static const IconData lock_outline_rounded = IconData(0xf888, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lock_person</i> &#x2014; material icon named "lock person".
  static const IconData lock_person = IconData(0xf07a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lock_person</i> &#x2014; material icon named "lock person" (sharp).
  static const IconData lock_person_sharp = IconData(0xf0750, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lock_person</i> &#x2014; material icon named "lock person" (round).
  static const IconData lock_person_rounded = IconData(0xf0800, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">lock_person</i> &#x2014; material icon named "lock person" (outlined).
  static const IconData lock_person_outlined = IconData(0xf06f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lock_reset</i> &#x2014; material icon named "lock reset".
  static const IconData lock_reset = IconData(0xf0536, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lock_reset</i> &#x2014; material icon named "lock reset" (sharp).
  static const IconData lock_reset_sharp = IconData(0xf0440, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lock_reset</i> &#x2014; material icon named "lock reset" (round).
  static const IconData lock_reset_rounded = IconData(0xf034d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">lock_reset</i> &#x2014; material icon named "lock reset" (outlined).
  static const IconData lock_reset_outlined = IconData(0xf062e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">login</i> &#x2014; material icon named "login".
  static const IconData login = IconData(0xe3b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">login</i> &#x2014; material icon named "login" (sharp).
  static const IconData login_sharp = IconData(0xeaab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">login</i> &#x2014; material icon named "login" (round).
  static const IconData login_rounded = IconData(0xf88a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">login</i> &#x2014; material icon named "login" (outlined).
  static const IconData login_outlined = IconData(0xf198, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">logo_dev</i> &#x2014; material icon named "logo dev".
  static const IconData logo_dev = IconData(0xf0537, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">logo_dev</i> &#x2014; material icon named "logo dev" (sharp).
  static const IconData logo_dev_sharp = IconData(0xf0441, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">logo_dev</i> &#x2014; material icon named "logo dev" (round).
  static const IconData logo_dev_rounded = IconData(0xf034e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">logo_dev</i> &#x2014; material icon named "logo dev" (outlined).
  static const IconData logo_dev_outlined = IconData(0xf062f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">logout</i> &#x2014; material icon named "logout".
  static const IconData logout = IconData(0xe3b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">logout</i> &#x2014; material icon named "logout" (sharp).
  static const IconData logout_sharp = IconData(0xeaac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">logout</i> &#x2014; material icon named "logout" (round).
  static const IconData logout_rounded = IconData(0xf88b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">logout</i> &#x2014; material icon named "logout" (outlined).
  static const IconData logout_outlined = IconData(0xf199, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">looks</i> &#x2014; material icon named "looks".
  static const IconData looks = IconData(0xe3b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">looks</i> &#x2014; material icon named "looks" (sharp).
  static const IconData looks_sharp = IconData(0xeab2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">looks</i> &#x2014; material icon named "looks" (round).
  static const IconData looks_rounded = IconData(0xf891, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">looks</i> &#x2014; material icon named "looks" (outlined).
  static const IconData looks_outlined = IconData(0xf19f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">looks_3</i> &#x2014; material icon named "looks 3".
  static const IconData looks_3 = IconData(0xe3b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">looks_3</i> &#x2014; material icon named "looks 3" (sharp).
  static const IconData looks_3_sharp = IconData(0xeaad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">looks_3</i> &#x2014; material icon named "looks 3" (round).
  static const IconData looks_3_rounded = IconData(0xf88c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">looks_3</i> &#x2014; material icon named "looks 3" (outlined).
  static const IconData looks_3_outlined = IconData(0xf19a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">looks_4</i> &#x2014; material icon named "looks 4".
  static const IconData looks_4 = IconData(0xe3b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">looks_4</i> &#x2014; material icon named "looks 4" (sharp).
  static const IconData looks_4_sharp = IconData(0xeaae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">looks_4</i> &#x2014; material icon named "looks 4" (round).
  static const IconData looks_4_rounded = IconData(0xf88d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">looks_4</i> &#x2014; material icon named "looks 4" (outlined).
  static const IconData looks_4_outlined = IconData(0xf19b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">looks_5</i> &#x2014; material icon named "looks 5".
  static const IconData looks_5 = IconData(0xe3b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">looks_5</i> &#x2014; material icon named "looks 5" (sharp).
  static const IconData looks_5_sharp = IconData(0xeaaf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">looks_5</i> &#x2014; material icon named "looks 5" (round).
  static const IconData looks_5_rounded = IconData(0xf88e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">looks_5</i> &#x2014; material icon named "looks 5" (outlined).
  static const IconData looks_5_outlined = IconData(0xf19c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">looks_6</i> &#x2014; material icon named "looks 6".
  static const IconData looks_6 = IconData(0xe3b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">looks_6</i> &#x2014; material icon named "looks 6" (sharp).
  static const IconData looks_6_sharp = IconData(0xeab0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">looks_6</i> &#x2014; material icon named "looks 6" (round).
  static const IconData looks_6_rounded = IconData(0xf88f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">looks_6</i> &#x2014; material icon named "looks 6" (outlined).
  static const IconData looks_6_outlined = IconData(0xf19d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">looks_one</i> &#x2014; material icon named "looks one".
  static const IconData looks_one = IconData(0xe3b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">looks_one</i> &#x2014; material icon named "looks one" (sharp).
  static const IconData looks_one_sharp = IconData(0xeab1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">looks_one</i> &#x2014; material icon named "looks one" (round).
  static const IconData looks_one_rounded = IconData(0xf890, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">looks_one</i> &#x2014; material icon named "looks one" (outlined).
  static const IconData looks_one_outlined = IconData(0xf19e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">looks_two</i> &#x2014; material icon named "looks two".
  static const IconData looks_two = IconData(0xe3ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">looks_two</i> &#x2014; material icon named "looks two" (sharp).
  static const IconData looks_two_sharp = IconData(0xeab3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">looks_two</i> &#x2014; material icon named "looks two" (round).
  static const IconData looks_two_rounded = IconData(0xf892, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">looks_two</i> &#x2014; material icon named "looks two" (outlined).
  static const IconData looks_two_outlined = IconData(0xf1a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">loop</i> &#x2014; material icon named "loop".
  static const IconData loop = IconData(0xe3bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">loop</i> &#x2014; material icon named "loop" (sharp).
  static const IconData loop_sharp = IconData(0xeab4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">loop</i> &#x2014; material icon named "loop" (round).
  static const IconData loop_rounded = IconData(0xf893, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">loop</i> &#x2014; material icon named "loop" (outlined).
  static const IconData loop_outlined = IconData(0xf1a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">loupe</i> &#x2014; material icon named "loupe".
  static const IconData loupe = IconData(0xe3bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">loupe</i> &#x2014; material icon named "loupe" (sharp).
  static const IconData loupe_sharp = IconData(0xeab5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">loupe</i> &#x2014; material icon named "loupe" (round).
  static const IconData loupe_rounded = IconData(0xf894, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">loupe</i> &#x2014; material icon named "loupe" (outlined).
  static const IconData loupe_outlined = IconData(0xf1a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">low_priority</i> &#x2014; material icon named "low priority".
  static const IconData low_priority = IconData(0xe3bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">low_priority</i> &#x2014; material icon named "low priority" (sharp).
  static const IconData low_priority_sharp = IconData(0xeab6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">low_priority</i> &#x2014; material icon named "low priority" (round).
  static const IconData low_priority_rounded = IconData(0xf895, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">low_priority</i> &#x2014; material icon named "low priority" (outlined).
  static const IconData low_priority_outlined = IconData(0xf1a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">loyalty</i> &#x2014; material icon named "loyalty".
  static const IconData loyalty = IconData(0xe3be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">loyalty</i> &#x2014; material icon named "loyalty" (sharp).
  static const IconData loyalty_sharp = IconData(0xeab7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">loyalty</i> &#x2014; material icon named "loyalty" (round).
  static const IconData loyalty_rounded = IconData(0xf896, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">loyalty</i> &#x2014; material icon named "loyalty" (outlined).
  static const IconData loyalty_outlined = IconData(0xf1a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lte_mobiledata</i> &#x2014; material icon named "lte mobiledata".
  static const IconData lte_mobiledata = IconData(0xe3bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lte_mobiledata</i> &#x2014; material icon named "lte mobiledata" (sharp).
  static const IconData lte_mobiledata_sharp = IconData(0xeab8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lte_mobiledata</i> &#x2014; material icon named "lte mobiledata" (round).
  static const IconData lte_mobiledata_rounded = IconData(0xf897, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">lte_mobiledata</i> &#x2014; material icon named "lte mobiledata" (outlined).
  static const IconData lte_mobiledata_outlined = IconData(0xf1a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lte_plus_mobiledata</i> &#x2014; material icon named "lte plus mobiledata".
  static const IconData lte_plus_mobiledata = IconData(0xe3c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lte_plus_mobiledata</i> &#x2014; material icon named "lte plus mobiledata" (sharp).
  static const IconData lte_plus_mobiledata_sharp = IconData(0xeab9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lte_plus_mobiledata</i> &#x2014; material icon named "lte plus mobiledata" (round).
  static const IconData lte_plus_mobiledata_rounded = IconData(0xf898, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">lte_plus_mobiledata</i> &#x2014; material icon named "lte plus mobiledata" (outlined).
  static const IconData lte_plus_mobiledata_outlined = IconData(0xf1a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">luggage</i> &#x2014; material icon named "luggage".
  static const IconData luggage = IconData(0xe3c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">luggage</i> &#x2014; material icon named "luggage" (sharp).
  static const IconData luggage_sharp = IconData(0xeaba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">luggage</i> &#x2014; material icon named "luggage" (round).
  static const IconData luggage_rounded = IconData(0xf899, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">luggage</i> &#x2014; material icon named "luggage" (outlined).
  static const IconData luggage_outlined = IconData(0xf1a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lunch_dining</i> &#x2014; material icon named "lunch dining".
  static const IconData lunch_dining = IconData(0xe3c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lunch_dining</i> &#x2014; material icon named "lunch dining" (sharp).
  static const IconData lunch_dining_sharp = IconData(0xeabb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lunch_dining</i> &#x2014; material icon named "lunch dining" (round).
  static const IconData lunch_dining_rounded = IconData(0xf89a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">lunch_dining</i> &#x2014; material icon named "lunch dining" (outlined).
  static const IconData lunch_dining_outlined = IconData(0xf1a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">lyrics</i> &#x2014; material icon named "lyrics".
  static const IconData lyrics = IconData(0xf07a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">lyrics</i> &#x2014; material icon named "lyrics" (sharp).
  static const IconData lyrics_sharp = IconData(0xf0751, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">lyrics</i> &#x2014; material icon named "lyrics" (round).
  static const IconData lyrics_rounded = IconData(0xf0801, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">lyrics</i> &#x2014; material icon named "lyrics" (outlined).
  static const IconData lyrics_outlined = IconData(0xf06f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mail</i> &#x2014; material icon named "mail".
  static const IconData mail = IconData(0xe3c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mail</i> &#x2014; material icon named "mail" (sharp).
  static const IconData mail_sharp = IconData(0xeabd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mail</i> &#x2014; material icon named "mail" (round).
  static const IconData mail_rounded = IconData(0xf89c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mail</i> &#x2014; material icon named "mail" (outlined).
  static const IconData mail_outlined = IconData(0xf1aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mail_lock</i> &#x2014; material icon named "mail lock".
  static const IconData mail_lock = IconData(0xf07aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mail_lock</i> &#x2014; material icon named "mail lock" (sharp).
  static const IconData mail_lock_sharp = IconData(0xf0752, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mail_lock</i> &#x2014; material icon named "mail lock" (round).
  static const IconData mail_lock_rounded = IconData(0xf0802, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mail_lock</i> &#x2014; material icon named "mail lock" (outlined).
  static const IconData mail_lock_outlined = IconData(0xf06fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mail_outline</i> &#x2014; material icon named "mail outline".
  static const IconData mail_outline = IconData(0xe3c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mail_outline</i> &#x2014; material icon named "mail outline" (sharp).
  static const IconData mail_outline_sharp = IconData(0xeabc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mail_outline</i> &#x2014; material icon named "mail outline" (round).
  static const IconData mail_outline_rounded = IconData(0xf89b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mail_outline</i> &#x2014; material icon named "mail outline" (outlined).
  static const IconData mail_outline_outlined = IconData(0xf1a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">male</i> &#x2014; material icon named "male".
  static const IconData male = IconData(0xe3c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">male</i> &#x2014; material icon named "male" (sharp).
  static const IconData male_sharp = IconData(0xeabe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">male</i> &#x2014; material icon named "male" (round).
  static const IconData male_rounded = IconData(0xf89d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">male</i> &#x2014; material icon named "male" (outlined).
  static const IconData male_outlined = IconData(0xf1ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">man</i> &#x2014; material icon named "man".
  static const IconData man = IconData(0xf0538, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">man</i> &#x2014; material icon named "man" (sharp).
  static const IconData man_sharp = IconData(0xf0442, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">man</i> &#x2014; material icon named "man" (round).
  static const IconData man_rounded = IconData(0xf034f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">man</i> &#x2014; material icon named "man" (outlined).
  static const IconData man_outlined = IconData(0xf0630, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">manage_accounts</i> &#x2014; material icon named "manage accounts".
  static const IconData manage_accounts = IconData(0xe3c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">manage_accounts</i> &#x2014; material icon named "manage accounts" (sharp).
  static const IconData manage_accounts_sharp = IconData(0xeabf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">manage_accounts</i> &#x2014; material icon named "manage accounts" (round).
  static const IconData manage_accounts_rounded = IconData(0xf89e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">manage_accounts</i> &#x2014; material icon named "manage accounts" (outlined).
  static const IconData manage_accounts_outlined = IconData(0xf1ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">manage_history</i> &#x2014; material icon named "manage history".
  static const IconData manage_history = IconData(0xf07ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">manage_history</i> &#x2014; material icon named "manage history" (sharp).
  static const IconData manage_history_sharp = IconData(0xf0753, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">manage_history</i> &#x2014; material icon named "manage history" (round).
  static const IconData manage_history_rounded = IconData(0xf0803, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">manage_history</i> &#x2014; material icon named "manage history" (outlined).
  static const IconData manage_history_outlined = IconData(0xf06fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">manage_search</i> &#x2014; material icon named "manage search".
  static const IconData manage_search = IconData(0xe3c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">manage_search</i> &#x2014; material icon named "manage search" (sharp).
  static const IconData manage_search_sharp = IconData(0xeac0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">manage_search</i> &#x2014; material icon named "manage search" (round).
  static const IconData manage_search_rounded = IconData(0xf89f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">manage_search</i> &#x2014; material icon named "manage search" (outlined).
  static const IconData manage_search_outlined = IconData(0xf1ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">map</i> &#x2014; material icon named "map".
  static const IconData map = IconData(0xe3c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">map</i> &#x2014; material icon named "map" (sharp).
  static const IconData map_sharp = IconData(0xeac1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">map</i> &#x2014; material icon named "map" (round).
  static const IconData map_rounded = IconData(0xf8a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">map</i> &#x2014; material icon named "map" (outlined).
  static const IconData map_outlined = IconData(0xf1ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">maps_home_work</i> &#x2014; material icon named "maps home work".
  static const IconData maps_home_work = IconData(0xe3c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">maps_home_work</i> &#x2014; material icon named "maps home work" (sharp).
  static const IconData maps_home_work_sharp = IconData(0xeac2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">maps_home_work</i> &#x2014; material icon named "maps home work" (round).
  static const IconData maps_home_work_rounded = IconData(0xf8a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">maps_home_work</i> &#x2014; material icon named "maps home work" (outlined).
  static const IconData maps_home_work_outlined = IconData(0xf1af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">maps_ugc</i> &#x2014; material icon named "maps ugc".
  static const IconData maps_ugc = IconData(0xe3ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">maps_ugc</i> &#x2014; material icon named "maps ugc" (sharp).
  static const IconData maps_ugc_sharp = IconData(0xeac3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">maps_ugc</i> &#x2014; material icon named "maps ugc" (round).
  static const IconData maps_ugc_rounded = IconData(0xf8a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">maps_ugc</i> &#x2014; material icon named "maps ugc" (outlined).
  static const IconData maps_ugc_outlined = IconData(0xf1b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">margin</i> &#x2014; material icon named "margin".
  static const IconData margin = IconData(0xe3cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">margin</i> &#x2014; material icon named "margin" (sharp).
  static const IconData margin_sharp = IconData(0xeac4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">margin</i> &#x2014; material icon named "margin" (round).
  static const IconData margin_rounded = IconData(0xf8a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">margin</i> &#x2014; material icon named "margin" (outlined).
  static const IconData margin_outlined = IconData(0xf1b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mark_as_unread</i> &#x2014; material icon named "mark as unread".
  static const IconData mark_as_unread = IconData(0xe3cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mark_as_unread</i> &#x2014; material icon named "mark as unread" (sharp).
  static const IconData mark_as_unread_sharp = IconData(0xeac5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mark_as_unread</i> &#x2014; material icon named "mark as unread" (round).
  static const IconData mark_as_unread_rounded = IconData(0xf8a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mark_as_unread</i> &#x2014; material icon named "mark as unread" (outlined).
  static const IconData mark_as_unread_outlined = IconData(0xf1b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mark_chat_read</i> &#x2014; material icon named "mark chat read".
  static const IconData mark_chat_read = IconData(0xe3cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mark_chat_read</i> &#x2014; material icon named "mark chat read" (sharp).
  static const IconData mark_chat_read_sharp = IconData(0xeac6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mark_chat_read</i> &#x2014; material icon named "mark chat read" (round).
  static const IconData mark_chat_read_rounded = IconData(0xf8a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mark_chat_read</i> &#x2014; material icon named "mark chat read" (outlined).
  static const IconData mark_chat_read_outlined = IconData(0xf1b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mark_chat_unread</i> &#x2014; material icon named "mark chat unread".
  static const IconData mark_chat_unread = IconData(0xe3ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mark_chat_unread</i> &#x2014; material icon named "mark chat unread" (sharp).
  static const IconData mark_chat_unread_sharp = IconData(0xeac7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mark_chat_unread</i> &#x2014; material icon named "mark chat unread" (round).
  static const IconData mark_chat_unread_rounded = IconData(0xf8a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mark_chat_unread</i> &#x2014; material icon named "mark chat unread" (outlined).
  static const IconData mark_chat_unread_outlined = IconData(0xf1b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mark_email_read</i> &#x2014; material icon named "mark email read".
  static const IconData mark_email_read = IconData(0xe3cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mark_email_read</i> &#x2014; material icon named "mark email read" (sharp).
  static const IconData mark_email_read_sharp = IconData(0xeac8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mark_email_read</i> &#x2014; material icon named "mark email read" (round).
  static const IconData mark_email_read_rounded = IconData(0xf8a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mark_email_read</i> &#x2014; material icon named "mark email read" (outlined).
  static const IconData mark_email_read_outlined = IconData(0xf1b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mark_email_unread</i> &#x2014; material icon named "mark email unread".
  static const IconData mark_email_unread = IconData(0xe3d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mark_email_unread</i> &#x2014; material icon named "mark email unread" (sharp).
  static const IconData mark_email_unread_sharp = IconData(0xeac9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mark_email_unread</i> &#x2014; material icon named "mark email unread" (round).
  static const IconData mark_email_unread_rounded = IconData(0xf8a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mark_email_unread</i> &#x2014; material icon named "mark email unread" (outlined).
  static const IconData mark_email_unread_outlined = IconData(0xf1b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mark_unread_chat_alt</i> &#x2014; material icon named "mark unread chat alt".
  static const IconData mark_unread_chat_alt = IconData(0xf0539, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mark_unread_chat_alt</i> &#x2014; material icon named "mark unread chat alt" (sharp).
  static const IconData mark_unread_chat_alt_sharp = IconData(0xf0443, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mark_unread_chat_alt</i> &#x2014; material icon named "mark unread chat alt" (round).
  static const IconData mark_unread_chat_alt_rounded = IconData(0xf0350, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mark_unread_chat_alt</i> &#x2014; material icon named "mark unread chat alt" (outlined).
  static const IconData mark_unread_chat_alt_outlined = IconData(0xf0631, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">markunread</i> &#x2014; material icon named "markunread".
  static const IconData markunread = IconData(0xe3d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">markunread</i> &#x2014; material icon named "markunread" (sharp).
  static const IconData markunread_sharp = IconData(0xeacb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">markunread</i> &#x2014; material icon named "markunread" (round).
  static const IconData markunread_rounded = IconData(0xf8aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">markunread</i> &#x2014; material icon named "markunread" (outlined).
  static const IconData markunread_outlined = IconData(0xf1b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">markunread_mailbox</i> &#x2014; material icon named "markunread mailbox".
  static const IconData markunread_mailbox = IconData(0xe3d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">markunread_mailbox</i> &#x2014; material icon named "markunread mailbox" (sharp).
  static const IconData markunread_mailbox_sharp = IconData(0xeaca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">markunread_mailbox</i> &#x2014; material icon named "markunread mailbox" (round).
  static const IconData markunread_mailbox_rounded = IconData(0xf8a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">markunread_mailbox</i> &#x2014; material icon named "markunread mailbox" (outlined).
  static const IconData markunread_mailbox_outlined = IconData(0xf1b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">masks</i> &#x2014; material icon named "masks".
  static const IconData masks = IconData(0xe3d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">masks</i> &#x2014; material icon named "masks" (sharp).
  static const IconData masks_sharp = IconData(0xeacc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">masks</i> &#x2014; material icon named "masks" (round).
  static const IconData masks_rounded = IconData(0xf8ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">masks</i> &#x2014; material icon named "masks" (outlined).
  static const IconData masks_outlined = IconData(0xf1b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">maximize</i> &#x2014; material icon named "maximize".
  static const IconData maximize = IconData(0xe3d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">maximize</i> &#x2014; material icon named "maximize" (sharp).
  static const IconData maximize_sharp = IconData(0xeacd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">maximize</i> &#x2014; material icon named "maximize" (round).
  static const IconData maximize_rounded = IconData(0xf8ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">maximize</i> &#x2014; material icon named "maximize" (outlined).
  static const IconData maximize_outlined = IconData(0xf1ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">media_bluetooth_off</i> &#x2014; material icon named "media bluetooth off".
  static const IconData media_bluetooth_off = IconData(0xe3d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">media_bluetooth_off</i> &#x2014; material icon named "media bluetooth off" (sharp).
  static const IconData media_bluetooth_off_sharp = IconData(0xeace, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">media_bluetooth_off</i> &#x2014; material icon named "media bluetooth off" (round).
  static const IconData media_bluetooth_off_rounded = IconData(0xf8ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">media_bluetooth_off</i> &#x2014; material icon named "media bluetooth off" (outlined).
  static const IconData media_bluetooth_off_outlined = IconData(0xf1bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">media_bluetooth_on</i> &#x2014; material icon named "media bluetooth on".
  static const IconData media_bluetooth_on = IconData(0xe3d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">media_bluetooth_on</i> &#x2014; material icon named "media bluetooth on" (sharp).
  static const IconData media_bluetooth_on_sharp = IconData(0xeacf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">media_bluetooth_on</i> &#x2014; material icon named "media bluetooth on" (round).
  static const IconData media_bluetooth_on_rounded = IconData(0xf8ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">media_bluetooth_on</i> &#x2014; material icon named "media bluetooth on" (outlined).
  static const IconData media_bluetooth_on_outlined = IconData(0xf1bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mediation</i> &#x2014; material icon named "mediation".
  static const IconData mediation = IconData(0xe3d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mediation</i> &#x2014; material icon named "mediation" (sharp).
  static const IconData mediation_sharp = IconData(0xead0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mediation</i> &#x2014; material icon named "mediation" (round).
  static const IconData mediation_rounded = IconData(0xf8af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mediation</i> &#x2014; material icon named "mediation" (outlined).
  static const IconData mediation_outlined = IconData(0xf1bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">medical_information</i> &#x2014; material icon named "medical information".
  static const IconData medical_information = IconData(0xf07ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">medical_information</i> &#x2014; material icon named "medical information" (sharp).
  static const IconData medical_information_sharp = IconData(0xf0754, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">medical_information</i> &#x2014; material icon named "medical information" (round).
  static const IconData medical_information_rounded = IconData(0xf0804, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">medical_information</i> &#x2014; material icon named "medical information" (outlined).
  static const IconData medical_information_outlined = IconData(0xf06fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">medical_services</i> &#x2014; material icon named "medical services".
  static const IconData medical_services = IconData(0xe3d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">medical_services</i> &#x2014; material icon named "medical services" (sharp).
  static const IconData medical_services_sharp = IconData(0xead1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">medical_services</i> &#x2014; material icon named "medical services" (round).
  static const IconData medical_services_rounded = IconData(0xf8b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">medical_services</i> &#x2014; material icon named "medical services" (outlined).
  static const IconData medical_services_outlined = IconData(0xf1be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">medication</i> &#x2014; material icon named "medication".
  static const IconData medication = IconData(0xe3d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">medication</i> &#x2014; material icon named "medication" (sharp).
  static const IconData medication_sharp = IconData(0xead2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">medication</i> &#x2014; material icon named "medication" (round).
  static const IconData medication_rounded = IconData(0xf8b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">medication</i> &#x2014; material icon named "medication" (outlined).
  static const IconData medication_outlined = IconData(0xf1bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">medication_liquid</i> &#x2014; material icon named "medication liquid".
  static const IconData medication_liquid = IconData(0xf053a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">medication_liquid</i> &#x2014; material icon named "medication liquid" (sharp).
  static const IconData medication_liquid_sharp = IconData(0xf0444, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">medication_liquid</i> &#x2014; material icon named "medication liquid" (round).
  static const IconData medication_liquid_rounded = IconData(0xf0351, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">medication_liquid</i> &#x2014; material icon named "medication liquid" (outlined).
  static const IconData medication_liquid_outlined = IconData(0xf0632, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">meeting_room</i> &#x2014; material icon named "meeting room".
  static const IconData meeting_room = IconData(0xe3da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">meeting_room</i> &#x2014; material icon named "meeting room" (sharp).
  static const IconData meeting_room_sharp = IconData(0xead3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">meeting_room</i> &#x2014; material icon named "meeting room" (round).
  static const IconData meeting_room_rounded = IconData(0xf8b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">meeting_room</i> &#x2014; material icon named "meeting room" (outlined).
  static const IconData meeting_room_outlined = IconData(0xf1c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">memory</i> &#x2014; material icon named "memory".
  static const IconData memory = IconData(0xe3db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">memory</i> &#x2014; material icon named "memory" (sharp).
  static const IconData memory_sharp = IconData(0xead4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">memory</i> &#x2014; material icon named "memory" (round).
  static const IconData memory_rounded = IconData(0xf8b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">memory</i> &#x2014; material icon named "memory" (outlined).
  static const IconData memory_outlined = IconData(0xf1c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">menu</i> &#x2014; material icon named "menu".
  static const IconData menu = IconData(0xe3dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">menu</i> &#x2014; material icon named "menu" (sharp).
  static const IconData menu_sharp = IconData(0xead7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">menu</i> &#x2014; material icon named "menu" (round).
  static const IconData menu_rounded = IconData(0xf8b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">menu</i> &#x2014; material icon named "menu" (outlined).
  static const IconData menu_outlined = IconData(0xf1c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">menu_book</i> &#x2014; material icon named "menu book".
  static const IconData menu_book = IconData(0xe3dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">menu_book</i> &#x2014; material icon named "menu book" (sharp).
  static const IconData menu_book_sharp = IconData(0xead5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">menu_book</i> &#x2014; material icon named "menu book" (round).
  static const IconData menu_book_rounded = IconData(0xf8b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">menu_book</i> &#x2014; material icon named "menu book" (outlined).
  static const IconData menu_book_outlined = IconData(0xf1c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">menu_open</i> &#x2014; material icon named "menu open".
  static const IconData menu_open = IconData(0xe3de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">menu_open</i> &#x2014; material icon named "menu open" (sharp).
  static const IconData menu_open_sharp = IconData(0xead6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">menu_open</i> &#x2014; material icon named "menu open" (round).
  static const IconData menu_open_rounded = IconData(0xf8b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">menu_open</i> &#x2014; material icon named "menu open" (outlined).
  static const IconData menu_open_outlined = IconData(0xf1c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">merge</i> &#x2014; material icon named "merge".
  static const IconData merge = IconData(0xf053b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">merge</i> &#x2014; material icon named "merge" (sharp).
  static const IconData merge_sharp = IconData(0xf0445, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">merge</i> &#x2014; material icon named "merge" (round).
  static const IconData merge_rounded = IconData(0xf0352, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">merge</i> &#x2014; material icon named "merge" (outlined).
  static const IconData merge_outlined = IconData(0xf0633, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">merge_type</i> &#x2014; material icon named "merge type".
  static const IconData merge_type = IconData(0xe3df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">merge_type</i> &#x2014; material icon named "merge type" (sharp).
  static const IconData merge_type_sharp = IconData(0xead8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">merge_type</i> &#x2014; material icon named "merge type" (round).
  static const IconData merge_type_rounded = IconData(0xf8b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">merge_type</i> &#x2014; material icon named "merge type" (outlined).
  static const IconData merge_type_outlined = IconData(0xf1c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">message</i> &#x2014; material icon named "message".
  static const IconData message = IconData(0xe3e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">message</i> &#x2014; material icon named "message" (sharp).
  static const IconData message_sharp = IconData(0xead9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">message</i> &#x2014; material icon named "message" (round).
  static const IconData message_rounded = IconData(0xf8b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">message</i> &#x2014; material icon named "message" (outlined).
  static const IconData message_outlined = IconData(0xf1c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">messenger</i> &#x2014; material icon named "messenger".
  static const IconData messenger = IconData(0xe154, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">messenger</i> &#x2014; material icon named "messenger" (sharp).
  static const IconData messenger_sharp = IconData(0xe851, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">messenger</i> &#x2014; material icon named "messenger" (round).
  static const IconData messenger_rounded = IconData(0xf630, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">messenger</i> &#x2014; material icon named "messenger" (outlined).
  static const IconData messenger_outlined = IconData(0xef43, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">messenger_outline</i> &#x2014; material icon named "messenger outline".
  static const IconData messenger_outline = IconData(0xe155, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">messenger_outline</i> &#x2014; material icon named "messenger outline" (sharp).
  static const IconData messenger_outline_sharp = IconData(0xe850, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">messenger_outline</i> &#x2014; material icon named "messenger outline" (round).
  static const IconData messenger_outline_rounded = IconData(0xf62f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">messenger_outline</i> &#x2014; material icon named "messenger outline" (outlined).
  static const IconData messenger_outline_outlined = IconData(0xef42, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mic</i> &#x2014; material icon named "mic".
  static const IconData mic = IconData(0xe3e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mic</i> &#x2014; material icon named "mic" (sharp).
  static const IconData mic_sharp = IconData(0xeade, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mic</i> &#x2014; material icon named "mic" (round).
  static const IconData mic_rounded = IconData(0xf8bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mic</i> &#x2014; material icon named "mic" (outlined).
  static const IconData mic_outlined = IconData(0xf1cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mic_external_off</i> &#x2014; material icon named "mic external off".
  static const IconData mic_external_off = IconData(0xe3e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mic_external_off</i> &#x2014; material icon named "mic external off" (sharp).
  static const IconData mic_external_off_sharp = IconData(0xeada, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mic_external_off</i> &#x2014; material icon named "mic external off" (round).
  static const IconData mic_external_off_rounded = IconData(0xf8b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mic_external_off</i> &#x2014; material icon named "mic external off" (outlined).
  static const IconData mic_external_off_outlined = IconData(0xf1c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mic_external_on</i> &#x2014; material icon named "mic external on".
  static const IconData mic_external_on = IconData(0xe3e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mic_external_on</i> &#x2014; material icon named "mic external on" (sharp).
  static const IconData mic_external_on_sharp = IconData(0xeadb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mic_external_on</i> &#x2014; material icon named "mic external on" (round).
  static const IconData mic_external_on_rounded = IconData(0xf8ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mic_external_on</i> &#x2014; material icon named "mic external on" (outlined).
  static const IconData mic_external_on_outlined = IconData(0xf1c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mic_none</i> &#x2014; material icon named "mic none".
  static const IconData mic_none = IconData(0xe3e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mic_none</i> &#x2014; material icon named "mic none" (sharp).
  static const IconData mic_none_sharp = IconData(0xeadc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mic_none</i> &#x2014; material icon named "mic none" (round).
  static const IconData mic_none_rounded = IconData(0xf8bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mic_none</i> &#x2014; material icon named "mic none" (outlined).
  static const IconData mic_none_outlined = IconData(0xf1c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mic_off</i> &#x2014; material icon named "mic off".
  static const IconData mic_off = IconData(0xe3e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mic_off</i> &#x2014; material icon named "mic off" (sharp).
  static const IconData mic_off_sharp = IconData(0xeadd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mic_off</i> &#x2014; material icon named "mic off" (round).
  static const IconData mic_off_rounded = IconData(0xf8bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mic_off</i> &#x2014; material icon named "mic off" (outlined).
  static const IconData mic_off_outlined = IconData(0xf1ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">microwave</i> &#x2014; material icon named "microwave".
  static const IconData microwave = IconData(0xe3e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">microwave</i> &#x2014; material icon named "microwave" (sharp).
  static const IconData microwave_sharp = IconData(0xeadf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">microwave</i> &#x2014; material icon named "microwave" (round).
  static const IconData microwave_rounded = IconData(0xf8be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">microwave</i> &#x2014; material icon named "microwave" (outlined).
  static const IconData microwave_outlined = IconData(0xf1cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">military_tech</i> &#x2014; material icon named "military tech".
  static const IconData military_tech = IconData(0xe3e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">military_tech</i> &#x2014; material icon named "military tech" (sharp).
  static const IconData military_tech_sharp = IconData(0xeae0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">military_tech</i> &#x2014; material icon named "military tech" (round).
  static const IconData military_tech_rounded = IconData(0xf8bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">military_tech</i> &#x2014; material icon named "military tech" (outlined).
  static const IconData military_tech_outlined = IconData(0xf1cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">minimize</i> &#x2014; material icon named "minimize".
  static const IconData minimize = IconData(0xe3e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">minimize</i> &#x2014; material icon named "minimize" (sharp).
  static const IconData minimize_sharp = IconData(0xeae1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">minimize</i> &#x2014; material icon named "minimize" (round).
  static const IconData minimize_rounded = IconData(0xf8c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">minimize</i> &#x2014; material icon named "minimize" (outlined).
  static const IconData minimize_outlined = IconData(0xf1ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">minor_crash</i> &#x2014; material icon named "minor crash".
  static const IconData minor_crash = IconData(0xf07ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">minor_crash</i> &#x2014; material icon named "minor crash" (sharp).
  static const IconData minor_crash_sharp = IconData(0xf0755, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">minor_crash</i> &#x2014; material icon named "minor crash" (round).
  static const IconData minor_crash_rounded = IconData(0xf0805, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">minor_crash</i> &#x2014; material icon named "minor crash" (outlined).
  static const IconData minor_crash_outlined = IconData(0xf06fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">miscellaneous_services</i> &#x2014; material icon named "miscellaneous services".
  static const IconData miscellaneous_services = IconData(0xe3e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">miscellaneous_services</i> &#x2014; material icon named "miscellaneous services" (sharp).
  static const IconData miscellaneous_services_sharp = IconData(0xeae2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">miscellaneous_services</i> &#x2014; material icon named "miscellaneous services" (round).
  static const IconData miscellaneous_services_rounded = IconData(0xf8c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">miscellaneous_services</i> &#x2014; material icon named "miscellaneous services" (outlined).
  static const IconData miscellaneous_services_outlined = IconData(0xf1cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">missed_video_call</i> &#x2014; material icon named "missed video call".
  static const IconData missed_video_call = IconData(0xe3ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">missed_video_call</i> &#x2014; material icon named "missed video call" (sharp).
  static const IconData missed_video_call_sharp = IconData(0xeae3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">missed_video_call</i> &#x2014; material icon named "missed video call" (round).
  static const IconData missed_video_call_rounded = IconData(0xf8c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">missed_video_call</i> &#x2014; material icon named "missed video call" (outlined).
  static const IconData missed_video_call_outlined = IconData(0xf1d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mms</i> &#x2014; material icon named "mms".
  static const IconData mms = IconData(0xe3eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mms</i> &#x2014; material icon named "mms" (sharp).
  static const IconData mms_sharp = IconData(0xeae4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mms</i> &#x2014; material icon named "mms" (round).
  static const IconData mms_rounded = IconData(0xf8c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mms</i> &#x2014; material icon named "mms" (outlined).
  static const IconData mms_outlined = IconData(0xf1d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mobile_friendly</i> &#x2014; material icon named "mobile friendly".
  static const IconData mobile_friendly = IconData(0xe3ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mobile_friendly</i> &#x2014; material icon named "mobile friendly" (sharp).
  static const IconData mobile_friendly_sharp = IconData(0xeae5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mobile_friendly</i> &#x2014; material icon named "mobile friendly" (round).
  static const IconData mobile_friendly_rounded = IconData(0xf8c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mobile_friendly</i> &#x2014; material icon named "mobile friendly" (outlined).
  static const IconData mobile_friendly_outlined = IconData(0xf1d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mobile_off</i> &#x2014; material icon named "mobile off".
  static const IconData mobile_off = IconData(0xe3ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mobile_off</i> &#x2014; material icon named "mobile off" (sharp).
  static const IconData mobile_off_sharp = IconData(0xeae6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mobile_off</i> &#x2014; material icon named "mobile off" (round).
  static const IconData mobile_off_rounded = IconData(0xf8c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mobile_off</i> &#x2014; material icon named "mobile off" (outlined).
  static const IconData mobile_off_outlined = IconData(0xf1d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mobile_screen_share</i> &#x2014; material icon named "mobile screen share".
  static const IconData mobile_screen_share = IconData(0xe3ee, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">mobile_screen_share</i> &#x2014; material icon named "mobile screen share" (sharp).
  static const IconData mobile_screen_share_sharp = IconData(0xeae7, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">mobile_screen_share</i> &#x2014; material icon named "mobile screen share" (round).
  static const IconData mobile_screen_share_rounded = IconData(0xf8c6, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">mobile_screen_share</i> &#x2014; material icon named "mobile screen share" (outlined).
  static const IconData mobile_screen_share_outlined = IconData(0xf1d4, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">mobiledata_off</i> &#x2014; material icon named "mobiledata off".
  static const IconData mobiledata_off = IconData(0xe3ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mobiledata_off</i> &#x2014; material icon named "mobiledata off" (sharp).
  static const IconData mobiledata_off_sharp = IconData(0xeae8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mobiledata_off</i> &#x2014; material icon named "mobiledata off" (round).
  static const IconData mobiledata_off_rounded = IconData(0xf8c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mobiledata_off</i> &#x2014; material icon named "mobiledata off" (outlined).
  static const IconData mobiledata_off_outlined = IconData(0xf1d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mode</i> &#x2014; material icon named "mode".
  static const IconData mode = IconData(0xe3f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mode</i> &#x2014; material icon named "mode" (sharp).
  static const IconData mode_sharp = IconData(0xeaed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mode</i> &#x2014; material icon named "mode" (round).
  static const IconData mode_rounded = IconData(0xf8cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mode</i> &#x2014; material icon named "mode" (outlined).
  static const IconData mode_outlined = IconData(0xf1da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mode_comment</i> &#x2014; material icon named "mode comment".
  static const IconData mode_comment = IconData(0xe3f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mode_comment</i> &#x2014; material icon named "mode comment" (sharp).
  static const IconData mode_comment_sharp = IconData(0xeae9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mode_comment</i> &#x2014; material icon named "mode comment" (round).
  static const IconData mode_comment_rounded = IconData(0xf8c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mode_comment</i> &#x2014; material icon named "mode comment" (outlined).
  static const IconData mode_comment_outlined = IconData(0xf1d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mode_edit</i> &#x2014; material icon named "mode edit".
  static const IconData mode_edit = IconData(0xe3f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mode_edit</i> &#x2014; material icon named "mode edit" (sharp).
  static const IconData mode_edit_sharp = IconData(0xeaeb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mode_edit</i> &#x2014; material icon named "mode edit" (round).
  static const IconData mode_edit_rounded = IconData(0xf8ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mode_edit</i> &#x2014; material icon named "mode edit" (outlined).
  static const IconData mode_edit_outlined = IconData(0xf1d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mode_edit_outline</i> &#x2014; material icon named "mode edit outline".
  static const IconData mode_edit_outline = IconData(0xe3f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mode_edit_outline</i> &#x2014; material icon named "mode edit outline" (sharp).
  static const IconData mode_edit_outline_sharp = IconData(0xeaea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mode_edit_outline</i> &#x2014; material icon named "mode edit outline" (round).
  static const IconData mode_edit_outline_rounded = IconData(0xf8c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mode_edit_outline</i> &#x2014; material icon named "mode edit outline" (outlined).
  static const IconData mode_edit_outline_outlined = IconData(0xf1d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mode_fan_off</i> &#x2014; material icon named "mode fan off".
  static const IconData mode_fan_off = IconData(0xf07ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mode_fan_off</i> &#x2014; material icon named "mode fan off" (sharp).
  static const IconData mode_fan_off_sharp = IconData(0xf0756, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mode_fan_off</i> &#x2014; material icon named "mode fan off" (round).
  static const IconData mode_fan_off_rounded = IconData(0xf0806, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mode_fan_off</i> &#x2014; material icon named "mode fan off" (outlined).
  static const IconData mode_fan_off_outlined = IconData(0xf06fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mode_night</i> &#x2014; material icon named "mode night".
  static const IconData mode_night = IconData(0xe3f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mode_night</i> &#x2014; material icon named "mode night" (sharp).
  static const IconData mode_night_sharp = IconData(0xeaec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mode_night</i> &#x2014; material icon named "mode night" (round).
  static const IconData mode_night_rounded = IconData(0xf8cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mode_night</i> &#x2014; material icon named "mode night" (outlined).
  static const IconData mode_night_outlined = IconData(0xf1d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mode_of_travel</i> &#x2014; material icon named "mode of travel".
  static const IconData mode_of_travel = IconData(0xf053c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mode_of_travel</i> &#x2014; material icon named "mode of travel" (sharp).
  static const IconData mode_of_travel_sharp = IconData(0xf0446, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mode_of_travel</i> &#x2014; material icon named "mode of travel" (round).
  static const IconData mode_of_travel_rounded = IconData(0xf0353, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mode_of_travel</i> &#x2014; material icon named "mode of travel" (outlined).
  static const IconData mode_of_travel_outlined = IconData(0xf0634, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mode_standby</i> &#x2014; material icon named "mode standby".
  static const IconData mode_standby = IconData(0xe3f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mode_standby</i> &#x2014; material icon named "mode standby" (sharp).
  static const IconData mode_standby_sharp = IconData(0xeaee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mode_standby</i> &#x2014; material icon named "mode standby" (round).
  static const IconData mode_standby_rounded = IconData(0xf8cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mode_standby</i> &#x2014; material icon named "mode standby" (outlined).
  static const IconData mode_standby_outlined = IconData(0xf1db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">model_training</i> &#x2014; material icon named "model training".
  static const IconData model_training = IconData(0xe3f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">model_training</i> &#x2014; material icon named "model training" (sharp).
  static const IconData model_training_sharp = IconData(0xeaef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">model_training</i> &#x2014; material icon named "model training" (round).
  static const IconData model_training_rounded = IconData(0xf8ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">model_training</i> &#x2014; material icon named "model training" (outlined).
  static const IconData model_training_outlined = IconData(0xf1dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">monetization_on</i> &#x2014; material icon named "monetization on".
  static const IconData monetization_on = IconData(0xe3f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">monetization_on</i> &#x2014; material icon named "monetization on" (sharp).
  static const IconData monetization_on_sharp = IconData(0xeaf0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">monetization_on</i> &#x2014; material icon named "monetization on" (round).
  static const IconData monetization_on_rounded = IconData(0xf8cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">monetization_on</i> &#x2014; material icon named "monetization on" (outlined).
  static const IconData monetization_on_outlined = IconData(0xf1dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">money</i> &#x2014; material icon named "money".
  static const IconData money = IconData(0xe3f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">money</i> &#x2014; material icon named "money" (sharp).
  static const IconData money_sharp = IconData(0xeaf3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">money</i> &#x2014; material icon named "money" (round).
  static const IconData money_rounded = IconData(0xf8d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">money</i> &#x2014; material icon named "money" (outlined).
  static const IconData money_outlined = IconData(0xf1e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">money_off</i> &#x2014; material icon named "money off".
  static const IconData money_off = IconData(0xe3f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">money_off</i> &#x2014; material icon named "money off" (sharp).
  static const IconData money_off_sharp = IconData(0xeaf2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">money_off</i> &#x2014; material icon named "money off" (round).
  static const IconData money_off_rounded = IconData(0xf8d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">money_off</i> &#x2014; material icon named "money off" (outlined).
  static const IconData money_off_outlined = IconData(0xf1df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">money_off_csred</i> &#x2014; material icon named "money off csred".
  static const IconData money_off_csred = IconData(0xe3fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">money_off_csred</i> &#x2014; material icon named "money off csred" (sharp).
  static const IconData money_off_csred_sharp = IconData(0xeaf1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">money_off_csred</i> &#x2014; material icon named "money off csred" (round).
  static const IconData money_off_csred_rounded = IconData(0xf8d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">money_off_csred</i> &#x2014; material icon named "money off csred" (outlined).
  static const IconData money_off_csred_outlined = IconData(0xf1de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">monitor</i> &#x2014; material icon named "monitor".
  static const IconData monitor = IconData(0xe3fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">monitor</i> &#x2014; material icon named "monitor" (sharp).
  static const IconData monitor_sharp = IconData(0xeaf4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">monitor</i> &#x2014; material icon named "monitor" (round).
  static const IconData monitor_rounded = IconData(0xf8d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">monitor</i> &#x2014; material icon named "monitor" (outlined).
  static const IconData monitor_outlined = IconData(0xf1e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">monitor_heart</i> &#x2014; material icon named "monitor heart".
  static const IconData monitor_heart = IconData(0xf053d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">monitor_heart</i> &#x2014; material icon named "monitor heart" (sharp).
  static const IconData monitor_heart_sharp = IconData(0xf0447, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">monitor_heart</i> &#x2014; material icon named "monitor heart" (round).
  static const IconData monitor_heart_rounded = IconData(0xf0354, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">monitor_heart</i> &#x2014; material icon named "monitor heart" (outlined).
  static const IconData monitor_heart_outlined = IconData(0xf0635, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">monitor_weight</i> &#x2014; material icon named "monitor weight".
  static const IconData monitor_weight = IconData(0xe3fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">monitor_weight</i> &#x2014; material icon named "monitor weight" (sharp).
  static const IconData monitor_weight_sharp = IconData(0xeaf5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">monitor_weight</i> &#x2014; material icon named "monitor weight" (round).
  static const IconData monitor_weight_rounded = IconData(0xf8d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">monitor_weight</i> &#x2014; material icon named "monitor weight" (outlined).
  static const IconData monitor_weight_outlined = IconData(0xf1e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">monochrome_photos</i> &#x2014; material icon named "monochrome photos".
  static const IconData monochrome_photos = IconData(0xe3fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">monochrome_photos</i> &#x2014; material icon named "monochrome photos" (sharp).
  static const IconData monochrome_photos_sharp = IconData(0xeaf6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">monochrome_photos</i> &#x2014; material icon named "monochrome photos" (round).
  static const IconData monochrome_photos_rounded = IconData(0xf8d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">monochrome_photos</i> &#x2014; material icon named "monochrome photos" (outlined).
  static const IconData monochrome_photos_outlined = IconData(0xf1e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mood</i> &#x2014; material icon named "mood".
  static const IconData mood = IconData(0xe3fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mood</i> &#x2014; material icon named "mood" (sharp).
  static const IconData mood_sharp = IconData(0xeaf8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mood</i> &#x2014; material icon named "mood" (round).
  static const IconData mood_rounded = IconData(0xf8d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mood</i> &#x2014; material icon named "mood" (outlined).
  static const IconData mood_outlined = IconData(0xf1e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mood_bad</i> &#x2014; material icon named "mood bad".
  static const IconData mood_bad = IconData(0xe3ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mood_bad</i> &#x2014; material icon named "mood bad" (sharp).
  static const IconData mood_bad_sharp = IconData(0xeaf7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mood_bad</i> &#x2014; material icon named "mood bad" (round).
  static const IconData mood_bad_rounded = IconData(0xf8d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mood_bad</i> &#x2014; material icon named "mood bad" (outlined).
  static const IconData mood_bad_outlined = IconData(0xf1e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">moped</i> &#x2014; material icon named "moped".
  static const IconData moped = IconData(0xe400, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">moped</i> &#x2014; material icon named "moped" (sharp).
  static const IconData moped_sharp = IconData(0xeaf9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">moped</i> &#x2014; material icon named "moped" (round).
  static const IconData moped_rounded = IconData(0xf8d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">moped</i> &#x2014; material icon named "moped" (outlined).
  static const IconData moped_outlined = IconData(0xf1e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">more</i> &#x2014; material icon named "more".
  static const IconData more = IconData(0xe401, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">more</i> &#x2014; material icon named "more" (sharp).
  static const IconData more_sharp = IconData(0xeafb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">more</i> &#x2014; material icon named "more" (round).
  static const IconData more_rounded = IconData(0xf8da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">more</i> &#x2014; material icon named "more" (outlined).
  static const IconData more_outlined = IconData(0xf1e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">more_horiz</i> &#x2014; material icon named "more horiz".
  static const IconData more_horiz = IconData(0xe402, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">more_horiz</i> &#x2014; material icon named "more horiz" (sharp).
  static const IconData more_horiz_sharp = IconData(0xeafa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">more_horiz</i> &#x2014; material icon named "more horiz" (round).
  static const IconData more_horiz_rounded = IconData(0xf8d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">more_horiz</i> &#x2014; material icon named "more horiz" (outlined).
  static const IconData more_horiz_outlined = IconData(0xf1e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">more_time</i> &#x2014; material icon named "more time".
  static const IconData more_time = IconData(0xe403, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">more_time</i> &#x2014; material icon named "more time" (sharp).
  static const IconData more_time_sharp = IconData(0xeafc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">more_time</i> &#x2014; material icon named "more time" (round).
  static const IconData more_time_rounded = IconData(0xf8db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">more_time</i> &#x2014; material icon named "more time" (outlined).
  static const IconData more_time_outlined = IconData(0xf1e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">more_vert</i> &#x2014; material icon named "more vert".
  static const IconData more_vert = IconData(0xe404, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">more_vert</i> &#x2014; material icon named "more vert" (sharp).
  static const IconData more_vert_sharp = IconData(0xeafd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">more_vert</i> &#x2014; material icon named "more vert" (round).
  static const IconData more_vert_rounded = IconData(0xf8dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">more_vert</i> &#x2014; material icon named "more vert" (outlined).
  static const IconData more_vert_outlined = IconData(0xf1ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mosque</i> &#x2014; material icon named "mosque".
  static const IconData mosque = IconData(0xf053e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mosque</i> &#x2014; material icon named "mosque" (sharp).
  static const IconData mosque_sharp = IconData(0xf0448, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mosque</i> &#x2014; material icon named "mosque" (round).
  static const IconData mosque_rounded = IconData(0xf0355, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mosque</i> &#x2014; material icon named "mosque" (outlined).
  static const IconData mosque_outlined = IconData(0xf0636, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">motion_photos_auto</i> &#x2014; material icon named "motion photos auto".
  static const IconData motion_photos_auto = IconData(0xe405, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">motion_photos_auto</i> &#x2014; material icon named "motion photos auto" (sharp).
  static const IconData motion_photos_auto_sharp = IconData(0xeafe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">motion_photos_auto</i> &#x2014; material icon named "motion photos auto" (round).
  static const IconData motion_photos_auto_rounded = IconData(0xf8dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">motion_photos_auto</i> &#x2014; material icon named "motion photos auto" (outlined).
  static const IconData motion_photos_auto_outlined = IconData(0xf1eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">motion_photos_off</i> &#x2014; material icon named "motion photos off".
  static const IconData motion_photos_off = IconData(0xe406, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">motion_photos_off</i> &#x2014; material icon named "motion photos off" (sharp).
  static const IconData motion_photos_off_sharp = IconData(0xeaff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">motion_photos_off</i> &#x2014; material icon named "motion photos off" (round).
  static const IconData motion_photos_off_rounded = IconData(0xf8de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">motion_photos_off</i> &#x2014; material icon named "motion photos off" (outlined).
  static const IconData motion_photos_off_outlined = IconData(0xf1ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">motion_photos_on</i> &#x2014; material icon named "motion photos on".
  static const IconData motion_photos_on = IconData(0xe407, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">motion_photos_on</i> &#x2014; material icon named "motion photos on" (sharp).
  static const IconData motion_photos_on_sharp = IconData(0xeb00, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">motion_photos_on</i> &#x2014; material icon named "motion photos on" (round).
  static const IconData motion_photos_on_rounded = IconData(0xf8df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">motion_photos_on</i> &#x2014; material icon named "motion photos on" (outlined).
  static const IconData motion_photos_on_outlined = IconData(0xf1ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">motion_photos_pause</i> &#x2014; material icon named "motion photos pause".
  static const IconData motion_photos_pause = IconData(0xe408, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">motion_photos_pause</i> &#x2014; material icon named "motion photos pause" (sharp).
  static const IconData motion_photos_pause_sharp = IconData(0xeb01, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">motion_photos_pause</i> &#x2014; material icon named "motion photos pause" (round).
  static const IconData motion_photos_pause_rounded = IconData(0xf8e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">motion_photos_pause</i> &#x2014; material icon named "motion photos pause" (outlined).
  static const IconData motion_photos_pause_outlined = IconData(0xf1ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">motion_photos_paused</i> &#x2014; material icon named "motion photos paused".
  static const IconData motion_photos_paused = IconData(0xe409, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">motion_photos_paused</i> &#x2014; material icon named "motion photos paused" (sharp).
  static const IconData motion_photos_paused_sharp = IconData(0xeb02, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">motion_photos_paused</i> &#x2014; material icon named "motion photos paused" (round).
  static const IconData motion_photos_paused_rounded = IconData(0xf8e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">motion_photos_paused</i> &#x2014; material icon named "motion photos paused" (outlined).
  static const IconData motion_photos_paused_outlined = IconData(0xf1ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">motorcycle</i> &#x2014; material icon named "motorcycle".
  static const IconData motorcycle = IconData(0xe40a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">motorcycle</i> &#x2014; material icon named "motorcycle" (sharp).
  static const IconData motorcycle_sharp = IconData(0xeb03, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">motorcycle</i> &#x2014; material icon named "motorcycle" (round).
  static const IconData motorcycle_rounded = IconData(0xf8e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">motorcycle</i> &#x2014; material icon named "motorcycle" (outlined).
  static const IconData motorcycle_outlined = IconData(0xf1f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mouse</i> &#x2014; material icon named "mouse".
  static const IconData mouse = IconData(0xe40b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mouse</i> &#x2014; material icon named "mouse" (sharp).
  static const IconData mouse_sharp = IconData(0xeb04, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mouse</i> &#x2014; material icon named "mouse" (round).
  static const IconData mouse_rounded = IconData(0xf8e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mouse</i> &#x2014; material icon named "mouse" (outlined).
  static const IconData mouse_outlined = IconData(0xf1f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">move_down</i> &#x2014; material icon named "move down".
  static const IconData move_down = IconData(0xf053f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">move_down</i> &#x2014; material icon named "move down" (sharp).
  static const IconData move_down_sharp = IconData(0xf0449, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">move_down</i> &#x2014; material icon named "move down" (round).
  static const IconData move_down_rounded = IconData(0xf0356, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">move_down</i> &#x2014; material icon named "move down" (outlined).
  static const IconData move_down_outlined = IconData(0xf0637, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">move_to_inbox</i> &#x2014; material icon named "move to inbox".
  static const IconData move_to_inbox = IconData(0xe40c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">move_to_inbox</i> &#x2014; material icon named "move to inbox" (sharp).
  static const IconData move_to_inbox_sharp = IconData(0xeb05, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">move_to_inbox</i> &#x2014; material icon named "move to inbox" (round).
  static const IconData move_to_inbox_rounded = IconData(0xf8e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">move_to_inbox</i> &#x2014; material icon named "move to inbox" (outlined).
  static const IconData move_to_inbox_outlined = IconData(0xf1f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">move_up</i> &#x2014; material icon named "move up".
  static const IconData move_up = IconData(0xf0540, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">move_up</i> &#x2014; material icon named "move up" (sharp).
  static const IconData move_up_sharp = IconData(0xf044a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">move_up</i> &#x2014; material icon named "move up" (round).
  static const IconData move_up_rounded = IconData(0xf0357, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">move_up</i> &#x2014; material icon named "move up" (outlined).
  static const IconData move_up_outlined = IconData(0xf0638, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">movie</i> &#x2014; material icon named "movie".
  static const IconData movie = IconData(0xe40d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">movie</i> &#x2014; material icon named "movie" (sharp).
  static const IconData movie_sharp = IconData(0xeb08, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">movie</i> &#x2014; material icon named "movie" (round).
  static const IconData movie_rounded = IconData(0xf8e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">movie</i> &#x2014; material icon named "movie" (outlined).
  static const IconData movie_outlined = IconData(0xf1f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">movie_creation</i> &#x2014; material icon named "movie creation".
  static const IconData movie_creation = IconData(0xe40e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">movie_creation</i> &#x2014; material icon named "movie creation" (sharp).
  static const IconData movie_creation_sharp = IconData(0xeb06, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">movie_creation</i> &#x2014; material icon named "movie creation" (round).
  static const IconData movie_creation_rounded = IconData(0xf8e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">movie_creation</i> &#x2014; material icon named "movie creation" (outlined).
  static const IconData movie_creation_outlined = IconData(0xf1f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">movie_filter</i> &#x2014; material icon named "movie filter".
  static const IconData movie_filter = IconData(0xe40f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">movie_filter</i> &#x2014; material icon named "movie filter" (sharp).
  static const IconData movie_filter_sharp = IconData(0xeb07, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">movie_filter</i> &#x2014; material icon named "movie filter" (round).
  static const IconData movie_filter_rounded = IconData(0xf8e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">movie_filter</i> &#x2014; material icon named "movie filter" (outlined).
  static const IconData movie_filter_outlined = IconData(0xf1f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">moving</i> &#x2014; material icon named "moving".
  static const IconData moving = IconData(0xe410, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">moving</i> &#x2014; material icon named "moving" (sharp).
  static const IconData moving_sharp = IconData(0xeb09, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">moving</i> &#x2014; material icon named "moving" (round).
  static const IconData moving_rounded = IconData(0xf8e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">moving</i> &#x2014; material icon named "moving" (outlined).
  static const IconData moving_outlined = IconData(0xf1f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">mp</i> &#x2014; material icon named "mp".
  static const IconData mp = IconData(0xe411, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">mp</i> &#x2014; material icon named "mp" (sharp).
  static const IconData mp_sharp = IconData(0xeb0a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">mp</i> &#x2014; material icon named "mp" (round).
  static const IconData mp_rounded = IconData(0xf8e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">mp</i> &#x2014; material icon named "mp" (outlined).
  static const IconData mp_outlined = IconData(0xf1f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">multiline_chart</i> &#x2014; material icon named "multiline chart".
  static const IconData multiline_chart = IconData(0xe412, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">multiline_chart</i> &#x2014; material icon named "multiline chart" (sharp).
  static const IconData multiline_chart_sharp = IconData(0xeb0b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">multiline_chart</i> &#x2014; material icon named "multiline chart" (round).
  static const IconData multiline_chart_rounded = IconData(0xf8ea, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">multiline_chart</i> &#x2014; material icon named "multiline chart" (outlined).
  static const IconData multiline_chart_outlined = IconData(0xf1f8, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">multiple_stop</i> &#x2014; material icon named "multiple stop".
  static const IconData multiple_stop = IconData(0xe413, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">multiple_stop</i> &#x2014; material icon named "multiple stop" (sharp).
  static const IconData multiple_stop_sharp = IconData(0xeb0c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">multiple_stop</i> &#x2014; material icon named "multiple stop" (round).
  static const IconData multiple_stop_rounded = IconData(0xf8eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">multiple_stop</i> &#x2014; material icon named "multiple stop" (outlined).
  static const IconData multiple_stop_outlined = IconData(0xf1f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">multitrack_audio</i> &#x2014; material icon named "multitrack audio".
  static const IconData multitrack_audio = IconData(0xe2e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">multitrack_audio</i> &#x2014; material icon named "multitrack audio" (sharp).
  static const IconData multitrack_audio_sharp = IconData(0xe9de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">multitrack_audio</i> &#x2014; material icon named "multitrack audio" (round).
  static const IconData multitrack_audio_rounded = IconData(0xf7bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">multitrack_audio</i> &#x2014; material icon named "multitrack audio" (outlined).
  static const IconData multitrack_audio_outlined = IconData(0xf0d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">museum</i> &#x2014; material icon named "museum".
  static const IconData museum = IconData(0xe414, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">museum</i> &#x2014; material icon named "museum" (sharp).
  static const IconData museum_sharp = IconData(0xeb0d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">museum</i> &#x2014; material icon named "museum" (round).
  static const IconData museum_rounded = IconData(0xf8ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">museum</i> &#x2014; material icon named "museum" (outlined).
  static const IconData museum_outlined = IconData(0xf1fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">music_note</i> &#x2014; material icon named "music note".
  static const IconData music_note = IconData(0xe415, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">music_note</i> &#x2014; material icon named "music note" (sharp).
  static const IconData music_note_sharp = IconData(0xeb0e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">music_note</i> &#x2014; material icon named "music note" (round).
  static const IconData music_note_rounded = IconData(0xf8ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">music_note</i> &#x2014; material icon named "music note" (outlined).
  static const IconData music_note_outlined = IconData(0xf1fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">music_off</i> &#x2014; material icon named "music off".
  static const IconData music_off = IconData(0xe416, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">music_off</i> &#x2014; material icon named "music off" (sharp).
  static const IconData music_off_sharp = IconData(0xeb0f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">music_off</i> &#x2014; material icon named "music off" (round).
  static const IconData music_off_rounded = IconData(0xf8ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">music_off</i> &#x2014; material icon named "music off" (outlined).
  static const IconData music_off_outlined = IconData(0xf1fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">music_video</i> &#x2014; material icon named "music video".
  static const IconData music_video = IconData(0xe417, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">music_video</i> &#x2014; material icon named "music video" (sharp).
  static const IconData music_video_sharp = IconData(0xeb10, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">music_video</i> &#x2014; material icon named "music video" (round).
  static const IconData music_video_rounded = IconData(0xf8ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">music_video</i> &#x2014; material icon named "music video" (outlined).
  static const IconData music_video_outlined = IconData(0xf1fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">my_library_add</i> &#x2014; material icon named "my library add".
  static const IconData my_library_add = IconData(0xe375, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">my_library_add</i> &#x2014; material icon named "my library add" (sharp).
  static const IconData my_library_add_sharp = IconData(0xea70, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">my_library_add</i> &#x2014; material icon named "my library add" (round).
  static const IconData my_library_add_rounded = IconData(0xf84f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">my_library_add</i> &#x2014; material icon named "my library add" (outlined).
  static const IconData my_library_add_outlined = IconData(0xf15f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">my_library_books</i> &#x2014; material icon named "my library books".
  static const IconData my_library_books = IconData(0xe377, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">my_library_books</i> &#x2014; material icon named "my library books" (sharp).
  static const IconData my_library_books_sharp = IconData(0xea71, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">my_library_books</i> &#x2014; material icon named "my library books" (round).
  static const IconData my_library_books_rounded = IconData(0xf850, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">my_library_books</i> &#x2014; material icon named "my library books" (outlined).
  static const IconData my_library_books_outlined = IconData(0xf160, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">my_library_music</i> &#x2014; material icon named "my library music".
  static const IconData my_library_music = IconData(0xe378, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">my_library_music</i> &#x2014; material icon named "my library music" (sharp).
  static const IconData my_library_music_sharp = IconData(0xea72, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">my_library_music</i> &#x2014; material icon named "my library music" (round).
  static const IconData my_library_music_rounded = IconData(0xf851, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">my_library_music</i> &#x2014; material icon named "my library music" (outlined).
  static const IconData my_library_music_outlined = IconData(0xf161, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">my_location</i> &#x2014; material icon named "my location".
  static const IconData my_location = IconData(0xe418, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">my_location</i> &#x2014; material icon named "my location" (sharp).
  static const IconData my_location_sharp = IconData(0xeb11, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">my_location</i> &#x2014; material icon named "my location" (round).
  static const IconData my_location_rounded = IconData(0xf8f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">my_location</i> &#x2014; material icon named "my location" (outlined).
  static const IconData my_location_outlined = IconData(0xf1fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">nat</i> &#x2014; material icon named "nat".
  static const IconData nat = IconData(0xe419, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">nat</i> &#x2014; material icon named "nat" (sharp).
  static const IconData nat_sharp = IconData(0xeb12, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">nat</i> &#x2014; material icon named "nat" (round).
  static const IconData nat_rounded = IconData(0xf8f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">nat</i> &#x2014; material icon named "nat" (outlined).
  static const IconData nat_outlined = IconData(0xf1ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">nature</i> &#x2014; material icon named "nature".
  static const IconData nature = IconData(0xe41a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">nature</i> &#x2014; material icon named "nature" (sharp).
  static const IconData nature_sharp = IconData(0xeb14, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">nature</i> &#x2014; material icon named "nature" (round).
  static const IconData nature_rounded = IconData(0xf8f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">nature</i> &#x2014; material icon named "nature" (outlined).
  static const IconData nature_outlined = IconData(0xf200, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">nature_people</i> &#x2014; material icon named "nature people".
  static const IconData nature_people = IconData(0xe41b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">nature_people</i> &#x2014; material icon named "nature people" (sharp).
  static const IconData nature_people_sharp = IconData(0xeb13, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">nature_people</i> &#x2014; material icon named "nature people" (round).
  static const IconData nature_people_rounded = IconData(0xf8f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">nature_people</i> &#x2014; material icon named "nature people" (outlined).
  static const IconData nature_people_outlined = IconData(0xf201, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">navigate_before</i> &#x2014; material icon named "navigate before".
  static const IconData navigate_before = IconData(0xe41c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">navigate_before</i> &#x2014; material icon named "navigate before" (sharp).
  static const IconData navigate_before_sharp = IconData(0xeb15, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">navigate_before</i> &#x2014; material icon named "navigate before" (round).
  static const IconData navigate_before_rounded = IconData(0xf8f4, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">navigate_before</i> &#x2014; material icon named "navigate before" (outlined).
  static const IconData navigate_before_outlined = IconData(0xf202, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">navigate_next</i> &#x2014; material icon named "navigate next".
  static const IconData navigate_next = IconData(0xe41d, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">navigate_next</i> &#x2014; material icon named "navigate next" (sharp).
  static const IconData navigate_next_sharp = IconData(0xeb16, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">navigate_next</i> &#x2014; material icon named "navigate next" (round).
  static const IconData navigate_next_rounded = IconData(0xf8f5, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">navigate_next</i> &#x2014; material icon named "navigate next" (outlined).
  static const IconData navigate_next_outlined = IconData(0xf203, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">navigation</i> &#x2014; material icon named "navigation".
  static const IconData navigation = IconData(0xe41e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">navigation</i> &#x2014; material icon named "navigation" (sharp).
  static const IconData navigation_sharp = IconData(0xeb17, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">navigation</i> &#x2014; material icon named "navigation" (round).
  static const IconData navigation_rounded = IconData(0xf8f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">navigation</i> &#x2014; material icon named "navigation" (outlined).
  static const IconData navigation_outlined = IconData(0xf204, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">near_me</i> &#x2014; material icon named "near me".
  static const IconData near_me = IconData(0xe41f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">near_me</i> &#x2014; material icon named "near me" (sharp).
  static const IconData near_me_sharp = IconData(0xeb19, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">near_me</i> &#x2014; material icon named "near me" (round).
  static const IconData near_me_rounded = IconData(0xf8f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">near_me</i> &#x2014; material icon named "near me" (outlined).
  static const IconData near_me_outlined = IconData(0xf206, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">near_me_disabled</i> &#x2014; material icon named "near me disabled".
  static const IconData near_me_disabled = IconData(0xe420, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">near_me_disabled</i> &#x2014; material icon named "near me disabled" (sharp).
  static const IconData near_me_disabled_sharp = IconData(0xeb18, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">near_me_disabled</i> &#x2014; material icon named "near me disabled" (round).
  static const IconData near_me_disabled_rounded = IconData(0xf8f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">near_me_disabled</i> &#x2014; material icon named "near me disabled" (outlined).
  static const IconData near_me_disabled_outlined = IconData(0xf205, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">nearby_error</i> &#x2014; material icon named "nearby error".
  static const IconData nearby_error = IconData(0xe421, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">nearby_error</i> &#x2014; material icon named "nearby error" (sharp).
  static const IconData nearby_error_sharp = IconData(0xeb1a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">nearby_error</i> &#x2014; material icon named "nearby error" (round).
  static const IconData nearby_error_rounded = IconData(0xf8f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">nearby_error</i> &#x2014; material icon named "nearby error" (outlined).
  static const IconData nearby_error_outlined = IconData(0xf207, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">nearby_off</i> &#x2014; material icon named "nearby off".
  static const IconData nearby_off = IconData(0xe422, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">nearby_off</i> &#x2014; material icon named "nearby off" (sharp).
  static const IconData nearby_off_sharp = IconData(0xeb1b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">nearby_off</i> &#x2014; material icon named "nearby off" (round).
  static const IconData nearby_off_rounded = IconData(0xf8fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">nearby_off</i> &#x2014; material icon named "nearby off" (outlined).
  static const IconData nearby_off_outlined = IconData(0xf208, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">nest_cam_wired_stand</i> &#x2014; material icon named "nest cam wired stand".
  static const IconData nest_cam_wired_stand = IconData(0xf07af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">nest_cam_wired_stand</i> &#x2014; material icon named "nest cam wired stand" (sharp).
  static const IconData nest_cam_wired_stand_sharp = IconData(0xf0757, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">nest_cam_wired_stand</i> &#x2014; material icon named "nest cam wired stand" (round).
  static const IconData nest_cam_wired_stand_rounded = IconData(0xf0807, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">nest_cam_wired_stand</i> &#x2014; material icon named "nest cam wired stand" (outlined).
  static const IconData nest_cam_wired_stand_outlined = IconData(0xf06ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">network_cell</i> &#x2014; material icon named "network cell".
  static const IconData network_cell = IconData(0xe423, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">network_cell</i> &#x2014; material icon named "network cell" (sharp).
  static const IconData network_cell_sharp = IconData(0xeb1c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">network_cell</i> &#x2014; material icon named "network cell" (round).
  static const IconData network_cell_rounded = IconData(0xf8fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">network_cell</i> &#x2014; material icon named "network cell" (outlined).
  static const IconData network_cell_outlined = IconData(0xf209, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">network_check</i> &#x2014; material icon named "network check".
  static const IconData network_check = IconData(0xe424, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">network_check</i> &#x2014; material icon named "network check" (sharp).
  static const IconData network_check_sharp = IconData(0xeb1d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">network_check</i> &#x2014; material icon named "network check" (round).
  static const IconData network_check_rounded = IconData(0xf8fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">network_check</i> &#x2014; material icon named "network check" (outlined).
  static const IconData network_check_outlined = IconData(0xf20a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">network_locked</i> &#x2014; material icon named "network locked".
  static const IconData network_locked = IconData(0xe425, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">network_locked</i> &#x2014; material icon named "network locked" (sharp).
  static const IconData network_locked_sharp = IconData(0xeb1e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">network_locked</i> &#x2014; material icon named "network locked" (round).
  static const IconData network_locked_rounded = IconData(0xf8fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">network_locked</i> &#x2014; material icon named "network locked" (outlined).
  static const IconData network_locked_outlined = IconData(0xf20b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">network_ping</i> &#x2014; material icon named "network ping".
  static const IconData network_ping = IconData(0xf06bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">network_ping</i> &#x2014; material icon named "network ping" (sharp).
  static const IconData network_ping_sharp = IconData(0xf06b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">network_ping</i> &#x2014; material icon named "network ping" (round).
  static const IconData network_ping_rounded = IconData(0xf06cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">network_ping</i> &#x2014; material icon named "network ping" (outlined).
  static const IconData network_ping_outlined = IconData(0xf06a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">network_wifi</i> &#x2014; material icon named "network wifi".
  static const IconData network_wifi = IconData(0xe426, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">network_wifi</i> &#x2014; material icon named "network wifi" (sharp).
  static const IconData network_wifi_sharp = IconData(0xeb1f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">network_wifi</i> &#x2014; material icon named "network wifi" (round).
  static const IconData network_wifi_rounded = IconData(0xf8fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">network_wifi</i> &#x2014; material icon named "network wifi" (outlined).
  static const IconData network_wifi_outlined = IconData(0xf20c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">network_wifi_1_bar</i> &#x2014; material icon named "network wifi 1 bar".
  static const IconData network_wifi_1_bar = IconData(0xf07b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">network_wifi_1_bar</i> &#x2014; material icon named "network wifi 1 bar" (sharp).
  static const IconData network_wifi_1_bar_sharp = IconData(0xf0758, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">network_wifi_1_bar</i> &#x2014; material icon named "network wifi 1 bar" (round).
  static const IconData network_wifi_1_bar_rounded = IconData(0xf0808, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">network_wifi_1_bar</i> &#x2014; material icon named "network wifi 1 bar" (outlined).
  static const IconData network_wifi_1_bar_outlined = IconData(0xf0700, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">network_wifi_2_bar</i> &#x2014; material icon named "network wifi 2 bar".
  static const IconData network_wifi_2_bar = IconData(0xf07b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">network_wifi_2_bar</i> &#x2014; material icon named "network wifi 2 bar" (sharp).
  static const IconData network_wifi_2_bar_sharp = IconData(0xf0759, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">network_wifi_2_bar</i> &#x2014; material icon named "network wifi 2 bar" (round).
  static const IconData network_wifi_2_bar_rounded = IconData(0xf0809, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">network_wifi_2_bar</i> &#x2014; material icon named "network wifi 2 bar" (outlined).
  static const IconData network_wifi_2_bar_outlined = IconData(0xf0701, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">network_wifi_3_bar</i> &#x2014; material icon named "network wifi 3 bar".
  static const IconData network_wifi_3_bar = IconData(0xf07b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">network_wifi_3_bar</i> &#x2014; material icon named "network wifi 3 bar" (sharp).
  static const IconData network_wifi_3_bar_sharp = IconData(0xf075a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">network_wifi_3_bar</i> &#x2014; material icon named "network wifi 3 bar" (round).
  static const IconData network_wifi_3_bar_rounded = IconData(0xf080a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">network_wifi_3_bar</i> &#x2014; material icon named "network wifi 3 bar" (outlined).
  static const IconData network_wifi_3_bar_outlined = IconData(0xf0702, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">new_label</i> &#x2014; material icon named "new label".
  static const IconData new_label = IconData(0xe427, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">new_label</i> &#x2014; material icon named "new label" (sharp).
  static const IconData new_label_sharp = IconData(0xeb20, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">new_label</i> &#x2014; material icon named "new label" (round).
  static const IconData new_label_rounded = IconData(0xf8ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">new_label</i> &#x2014; material icon named "new label" (outlined).
  static const IconData new_label_outlined = IconData(0xf20d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">new_releases</i> &#x2014; material icon named "new releases".
  static const IconData new_releases = IconData(0xe428, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">new_releases</i> &#x2014; material icon named "new releases" (sharp).
  static const IconData new_releases_sharp = IconData(0xeb21, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">new_releases</i> &#x2014; material icon named "new releases" (round).
  static const IconData new_releases_rounded = IconData(0xf0000, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">new_releases</i> &#x2014; material icon named "new releases" (outlined).
  static const IconData new_releases_outlined = IconData(0xf20e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">newspaper</i> &#x2014; material icon named "newspaper".
  static const IconData newspaper = IconData(0xf0541, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">newspaper</i> &#x2014; material icon named "newspaper" (sharp).
  static const IconData newspaper_sharp = IconData(0xf044b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">newspaper</i> &#x2014; material icon named "newspaper" (round).
  static const IconData newspaper_rounded = IconData(0xf0358, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">newspaper</i> &#x2014; material icon named "newspaper" (outlined).
  static const IconData newspaper_outlined = IconData(0xf0639, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">next_plan</i> &#x2014; material icon named "next plan".
  static const IconData next_plan = IconData(0xe429, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">next_plan</i> &#x2014; material icon named "next plan" (sharp).
  static const IconData next_plan_sharp = IconData(0xeb22, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">next_plan</i> &#x2014; material icon named "next plan" (round).
  static const IconData next_plan_rounded = IconData(0xf0001, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">next_plan</i> &#x2014; material icon named "next plan" (outlined).
  static const IconData next_plan_outlined = IconData(0xf20f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">next_week</i> &#x2014; material icon named "next week".
  static const IconData next_week = IconData(0xe42a, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">next_week</i> &#x2014; material icon named "next week" (sharp).
  static const IconData next_week_sharp = IconData(0xeb23, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">next_week</i> &#x2014; material icon named "next week" (round).
  static const IconData next_week_rounded = IconData(0xf0002, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">next_week</i> &#x2014; material icon named "next week" (outlined).
  static const IconData next_week_outlined = IconData(0xf210, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">nfc</i> &#x2014; material icon named "nfc".
  static const IconData nfc = IconData(0xe42b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">nfc</i> &#x2014; material icon named "nfc" (sharp).
  static const IconData nfc_sharp = IconData(0xeb24, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">nfc</i> &#x2014; material icon named "nfc" (round).
  static const IconData nfc_rounded = IconData(0xf0003, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">nfc</i> &#x2014; material icon named "nfc" (outlined).
  static const IconData nfc_outlined = IconData(0xf211, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">night_shelter</i> &#x2014; material icon named "night shelter".
  static const IconData night_shelter = IconData(0xe42c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">night_shelter</i> &#x2014; material icon named "night shelter" (sharp).
  static const IconData night_shelter_sharp = IconData(0xeb25, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">night_shelter</i> &#x2014; material icon named "night shelter" (round).
  static const IconData night_shelter_rounded = IconData(0xf0004, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">night_shelter</i> &#x2014; material icon named "night shelter" (outlined).
  static const IconData night_shelter_outlined = IconData(0xf212, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">nightlife</i> &#x2014; material icon named "nightlife".
  static const IconData nightlife = IconData(0xe42d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">nightlife</i> &#x2014; material icon named "nightlife" (sharp).
  static const IconData nightlife_sharp = IconData(0xeb26, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">nightlife</i> &#x2014; material icon named "nightlife" (round).
  static const IconData nightlife_rounded = IconData(0xf0005, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">nightlife</i> &#x2014; material icon named "nightlife" (outlined).
  static const IconData nightlife_outlined = IconData(0xf213, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">nightlight</i> &#x2014; material icon named "nightlight".
  static const IconData nightlight = IconData(0xe42e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">nightlight</i> &#x2014; material icon named "nightlight" (sharp).
  static const IconData nightlight_sharp = IconData(0xeb28, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">nightlight</i> &#x2014; material icon named "nightlight" (round).
  static const IconData nightlight_rounded = IconData(0xf0007, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">nightlight</i> &#x2014; material icon named "nightlight" (outlined).
  static const IconData nightlight_outlined = IconData(0xf214, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">nightlight_round</i> &#x2014; material icon named "nightlight round".
  static const IconData nightlight_round = IconData(0xe42f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">nightlight_round</i> &#x2014; material icon named "nightlight round" (sharp).
  static const IconData nightlight_round_sharp = IconData(0xeb27, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">nightlight_round</i> &#x2014; material icon named "nightlight round" (round).
  static const IconData nightlight_round_rounded = IconData(0xf0006, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">nightlight_round</i> &#x2014; material icon named "nightlight round" (outlined).
  static const IconData nightlight_round_outlined = IconData(0xf215, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">nights_stay</i> &#x2014; material icon named "nights stay".
  static const IconData nights_stay = IconData(0xe430, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">nights_stay</i> &#x2014; material icon named "nights stay" (sharp).
  static const IconData nights_stay_sharp = IconData(0xeb29, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">nights_stay</i> &#x2014; material icon named "nights stay" (round).
  static const IconData nights_stay_rounded = IconData(0xf0008, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">nights_stay</i> &#x2014; material icon named "nights stay" (outlined).
  static const IconData nights_stay_outlined = IconData(0xf216, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_accounts</i> &#x2014; material icon named "no accounts".
  static const IconData no_accounts = IconData(0xe431, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_accounts</i> &#x2014; material icon named "no accounts" (sharp).
  static const IconData no_accounts_sharp = IconData(0xeb2a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_accounts</i> &#x2014; material icon named "no accounts" (round).
  static const IconData no_accounts_rounded = IconData(0xf0009, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_accounts</i> &#x2014; material icon named "no accounts" (outlined).
  static const IconData no_accounts_outlined = IconData(0xf217, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_adult_content</i> &#x2014; material icon named "no adult content".
  static const IconData no_adult_content = IconData(0xf07b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_adult_content</i> &#x2014; material icon named "no adult content" (sharp).
  static const IconData no_adult_content_sharp = IconData(0xf075b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_adult_content</i> &#x2014; material icon named "no adult content" (round).
  static const IconData no_adult_content_rounded = IconData(0xf080b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_adult_content</i> &#x2014; material icon named "no adult content" (outlined).
  static const IconData no_adult_content_outlined = IconData(0xf0703, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_backpack</i> &#x2014; material icon named "no backpack".
  static const IconData no_backpack = IconData(0xe432, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_backpack</i> &#x2014; material icon named "no backpack" (sharp).
  static const IconData no_backpack_sharp = IconData(0xeb2b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_backpack</i> &#x2014; material icon named "no backpack" (round).
  static const IconData no_backpack_rounded = IconData(0xf000a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_backpack</i> &#x2014; material icon named "no backpack" (outlined).
  static const IconData no_backpack_outlined = IconData(0xf218, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_cell</i> &#x2014; material icon named "no cell".
  static const IconData no_cell = IconData(0xe433, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_cell</i> &#x2014; material icon named "no cell" (sharp).
  static const IconData no_cell_sharp = IconData(0xeb2c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_cell</i> &#x2014; material icon named "no cell" (round).
  static const IconData no_cell_rounded = IconData(0xf000b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_cell</i> &#x2014; material icon named "no cell" (outlined).
  static const IconData no_cell_outlined = IconData(0xf219, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_crash</i> &#x2014; material icon named "no crash".
  static const IconData no_crash = IconData(0xf07b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_crash</i> &#x2014; material icon named "no crash" (sharp).
  static const IconData no_crash_sharp = IconData(0xf075c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_crash</i> &#x2014; material icon named "no crash" (round).
  static const IconData no_crash_rounded = IconData(0xf080c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_crash</i> &#x2014; material icon named "no crash" (outlined).
  static const IconData no_crash_outlined = IconData(0xf0704, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_drinks</i> &#x2014; material icon named "no drinks".
  static const IconData no_drinks = IconData(0xe434, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_drinks</i> &#x2014; material icon named "no drinks" (sharp).
  static const IconData no_drinks_sharp = IconData(0xeb2d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_drinks</i> &#x2014; material icon named "no drinks" (round).
  static const IconData no_drinks_rounded = IconData(0xf000c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_drinks</i> &#x2014; material icon named "no drinks" (outlined).
  static const IconData no_drinks_outlined = IconData(0xf21a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_encryption</i> &#x2014; material icon named "no encryption".
  static const IconData no_encryption = IconData(0xe435, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_encryption</i> &#x2014; material icon named "no encryption" (sharp).
  static const IconData no_encryption_sharp = IconData(0xeb2f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_encryption</i> &#x2014; material icon named "no encryption" (round).
  static const IconData no_encryption_rounded = IconData(0xf000e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_encryption</i> &#x2014; material icon named "no encryption" (outlined).
  static const IconData no_encryption_outlined = IconData(0xf21c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_encryption_gmailerrorred</i> &#x2014; material icon named "no encryption gmailerrorred".
  static const IconData no_encryption_gmailerrorred = IconData(0xe436, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_encryption_gmailerrorred</i> &#x2014; material icon named "no encryption gmailerrorred" (sharp).
  static const IconData no_encryption_gmailerrorred_sharp = IconData(0xeb2e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_encryption_gmailerrorred</i> &#x2014; material icon named "no encryption gmailerrorred" (round).
  static const IconData no_encryption_gmailerrorred_rounded = IconData(0xf000d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_encryption_gmailerrorred</i> &#x2014; material icon named "no encryption gmailerrorred" (outlined).
  static const IconData no_encryption_gmailerrorred_outlined = IconData(0xf21b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_flash</i> &#x2014; material icon named "no flash".
  static const IconData no_flash = IconData(0xe437, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_flash</i> &#x2014; material icon named "no flash" (sharp).
  static const IconData no_flash_sharp = IconData(0xeb30, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_flash</i> &#x2014; material icon named "no flash" (round).
  static const IconData no_flash_rounded = IconData(0xf000f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_flash</i> &#x2014; material icon named "no flash" (outlined).
  static const IconData no_flash_outlined = IconData(0xf21d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_food</i> &#x2014; material icon named "no food".
  static const IconData no_food = IconData(0xe438, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_food</i> &#x2014; material icon named "no food" (sharp).
  static const IconData no_food_sharp = IconData(0xeb31, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_food</i> &#x2014; material icon named "no food" (round).
  static const IconData no_food_rounded = IconData(0xf0010, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_food</i> &#x2014; material icon named "no food" (outlined).
  static const IconData no_food_outlined = IconData(0xf21e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_luggage</i> &#x2014; material icon named "no luggage".
  static const IconData no_luggage = IconData(0xe439, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_luggage</i> &#x2014; material icon named "no luggage" (sharp).
  static const IconData no_luggage_sharp = IconData(0xeb32, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_luggage</i> &#x2014; material icon named "no luggage" (round).
  static const IconData no_luggage_rounded = IconData(0xf0011, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_luggage</i> &#x2014; material icon named "no luggage" (outlined).
  static const IconData no_luggage_outlined = IconData(0xf21f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_meals</i> &#x2014; material icon named "no meals".
  static const IconData no_meals = IconData(0xe43a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_meals</i> &#x2014; material icon named "no meals" (sharp).
  static const IconData no_meals_sharp = IconData(0xeb33, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_meals</i> &#x2014; material icon named "no meals" (round).
  static const IconData no_meals_rounded = IconData(0xf0012, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_meals</i> &#x2014; material icon named "no meals" (outlined).
  static const IconData no_meals_outlined = IconData(0xf220, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_meals_ouline</i> &#x2014; material icon named "no meals ouline".
  static const IconData no_meals_ouline = IconData(0xe43b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_meeting_room</i> &#x2014; material icon named "no meeting room".
  static const IconData no_meeting_room = IconData(0xe43c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_meeting_room</i> &#x2014; material icon named "no meeting room" (sharp).
  static const IconData no_meeting_room_sharp = IconData(0xeb34, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_meeting_room</i> &#x2014; material icon named "no meeting room" (round).
  static const IconData no_meeting_room_rounded = IconData(0xf0013, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_meeting_room</i> &#x2014; material icon named "no meeting room" (outlined).
  static const IconData no_meeting_room_outlined = IconData(0xf221, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_photography</i> &#x2014; material icon named "no photography".
  static const IconData no_photography = IconData(0xe43d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_photography</i> &#x2014; material icon named "no photography" (sharp).
  static const IconData no_photography_sharp = IconData(0xeb35, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_photography</i> &#x2014; material icon named "no photography" (round).
  static const IconData no_photography_rounded = IconData(0xf0014, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_photography</i> &#x2014; material icon named "no photography" (outlined).
  static const IconData no_photography_outlined = IconData(0xf222, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_sim</i> &#x2014; material icon named "no sim".
  static const IconData no_sim = IconData(0xe43e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_sim</i> &#x2014; material icon named "no sim" (sharp).
  static const IconData no_sim_sharp = IconData(0xeb36, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_sim</i> &#x2014; material icon named "no sim" (round).
  static const IconData no_sim_rounded = IconData(0xf0015, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_sim</i> &#x2014; material icon named "no sim" (outlined).
  static const IconData no_sim_outlined = IconData(0xf223, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_stroller</i> &#x2014; material icon named "no stroller".
  static const IconData no_stroller = IconData(0xe43f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_stroller</i> &#x2014; material icon named "no stroller" (sharp).
  static const IconData no_stroller_sharp = IconData(0xeb37, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_stroller</i> &#x2014; material icon named "no stroller" (round).
  static const IconData no_stroller_rounded = IconData(0xf0016, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_stroller</i> &#x2014; material icon named "no stroller" (outlined).
  static const IconData no_stroller_outlined = IconData(0xf224, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">no_transfer</i> &#x2014; material icon named "no transfer".
  static const IconData no_transfer = IconData(0xe440, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">no_transfer</i> &#x2014; material icon named "no transfer" (sharp).
  static const IconData no_transfer_sharp = IconData(0xeb38, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">no_transfer</i> &#x2014; material icon named "no transfer" (round).
  static const IconData no_transfer_rounded = IconData(0xf0017, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">no_transfer</i> &#x2014; material icon named "no transfer" (outlined).
  static const IconData no_transfer_outlined = IconData(0xf225, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">noise_aware</i> &#x2014; material icon named "noise aware".
  static const IconData noise_aware = IconData(0xf07b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">noise_aware</i> &#x2014; material icon named "noise aware" (sharp).
  static const IconData noise_aware_sharp = IconData(0xf075d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">noise_aware</i> &#x2014; material icon named "noise aware" (round).
  static const IconData noise_aware_rounded = IconData(0xf080d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">noise_aware</i> &#x2014; material icon named "noise aware" (outlined).
  static const IconData noise_aware_outlined = IconData(0xf0705, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">noise_control_off</i> &#x2014; material icon named "noise control off".
  static const IconData noise_control_off = IconData(0xf07b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">noise_control_off</i> &#x2014; material icon named "noise control off" (sharp).
  static const IconData noise_control_off_sharp = IconData(0xf075e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">noise_control_off</i> &#x2014; material icon named "noise control off" (round).
  static const IconData noise_control_off_rounded = IconData(0xf080e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">noise_control_off</i> &#x2014; material icon named "noise control off" (outlined).
  static const IconData noise_control_off_outlined = IconData(0xf0706, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">nordic_walking</i> &#x2014; material icon named "nordic walking".
  static const IconData nordic_walking = IconData(0xe441, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">nordic_walking</i> &#x2014; material icon named "nordic walking" (sharp).
  static const IconData nordic_walking_sharp = IconData(0xeb39, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">nordic_walking</i> &#x2014; material icon named "nordic walking" (round).
  static const IconData nordic_walking_rounded = IconData(0xf0018, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">nordic_walking</i> &#x2014; material icon named "nordic walking" (outlined).
  static const IconData nordic_walking_outlined = IconData(0xf226, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">north</i> &#x2014; material icon named "north".
  static const IconData north = IconData(0xe442, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">north</i> &#x2014; material icon named "north" (sharp).
  static const IconData north_sharp = IconData(0xeb3b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">north</i> &#x2014; material icon named "north" (round).
  static const IconData north_rounded = IconData(0xf001a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">north</i> &#x2014; material icon named "north" (outlined).
  static const IconData north_outlined = IconData(0xf228, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">north_east</i> &#x2014; material icon named "north east".
  static const IconData north_east = IconData(0xe443, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">north_east</i> &#x2014; material icon named "north east" (sharp).
  static const IconData north_east_sharp = IconData(0xeb3a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">north_east</i> &#x2014; material icon named "north east" (round).
  static const IconData north_east_rounded = IconData(0xf0019, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">north_east</i> &#x2014; material icon named "north east" (outlined).
  static const IconData north_east_outlined = IconData(0xf227, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">north_west</i> &#x2014; material icon named "north west".
  static const IconData north_west = IconData(0xe444, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">north_west</i> &#x2014; material icon named "north west" (sharp).
  static const IconData north_west_sharp = IconData(0xeb3c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">north_west</i> &#x2014; material icon named "north west" (round).
  static const IconData north_west_rounded = IconData(0xf001b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">north_west</i> &#x2014; material icon named "north west" (outlined).
  static const IconData north_west_outlined = IconData(0xf229, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">not_accessible</i> &#x2014; material icon named "not accessible".
  static const IconData not_accessible = IconData(0xe445, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">not_accessible</i> &#x2014; material icon named "not accessible" (sharp).
  static const IconData not_accessible_sharp = IconData(0xeb3d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">not_accessible</i> &#x2014; material icon named "not accessible" (round).
  static const IconData not_accessible_rounded = IconData(0xf001c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">not_accessible</i> &#x2014; material icon named "not accessible" (outlined).
  static const IconData not_accessible_outlined = IconData(0xf22a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">not_interested</i> &#x2014; material icon named "not interested".
  static const IconData not_interested = IconData(0xe446, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">not_interested</i> &#x2014; material icon named "not interested" (sharp).
  static const IconData not_interested_sharp = IconData(0xeb3e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">not_interested</i> &#x2014; material icon named "not interested" (round).
  static const IconData not_interested_rounded = IconData(0xf001d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">not_interested</i> &#x2014; material icon named "not interested" (outlined).
  static const IconData not_interested_outlined = IconData(0xf22b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">not_listed_location</i> &#x2014; material icon named "not listed location".
  static const IconData not_listed_location = IconData(0xe447, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">not_listed_location</i> &#x2014; material icon named "not listed location" (sharp).
  static const IconData not_listed_location_sharp = IconData(0xeb3f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">not_listed_location</i> &#x2014; material icon named "not listed location" (round).
  static const IconData not_listed_location_rounded = IconData(0xf001e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">not_listed_location</i> &#x2014; material icon named "not listed location" (outlined).
  static const IconData not_listed_location_outlined = IconData(0xf22c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">not_started</i> &#x2014; material icon named "not started".
  static const IconData not_started = IconData(0xe448, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">not_started</i> &#x2014; material icon named "not started" (sharp).
  static const IconData not_started_sharp = IconData(0xeb40, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">not_started</i> &#x2014; material icon named "not started" (round).
  static const IconData not_started_rounded = IconData(0xf001f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">not_started</i> &#x2014; material icon named "not started" (outlined).
  static const IconData not_started_outlined = IconData(0xf22d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">note</i> &#x2014; material icon named "note".
  static const IconData note = IconData(0xe449, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">note</i> &#x2014; material icon named "note" (sharp).
  static const IconData note_sharp = IconData(0xeb43, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">note</i> &#x2014; material icon named "note" (round).
  static const IconData note_rounded = IconData(0xf0022, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">note</i> &#x2014; material icon named "note" (outlined).
  static const IconData note_outlined = IconData(0xf230, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">note_add</i> &#x2014; material icon named "note add".
  static const IconData note_add = IconData(0xe44a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">note_add</i> &#x2014; material icon named "note add" (sharp).
  static const IconData note_add_sharp = IconData(0xeb41, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">note_add</i> &#x2014; material icon named "note add" (round).
  static const IconData note_add_rounded = IconData(0xf0020, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">note_add</i> &#x2014; material icon named "note add" (outlined).
  static const IconData note_add_outlined = IconData(0xf22e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">note_alt</i> &#x2014; material icon named "note alt".
  static const IconData note_alt = IconData(0xe44b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">note_alt</i> &#x2014; material icon named "note alt" (sharp).
  static const IconData note_alt_sharp = IconData(0xeb42, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">note_alt</i> &#x2014; material icon named "note alt" (round).
  static const IconData note_alt_rounded = IconData(0xf0021, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">note_alt</i> &#x2014; material icon named "note alt" (outlined).
  static const IconData note_alt_outlined = IconData(0xf22f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">notes</i> &#x2014; material icon named "notes".
  static const IconData notes = IconData(0xe44c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">notes</i> &#x2014; material icon named "notes" (sharp).
  static const IconData notes_sharp = IconData(0xeb44, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">notes</i> &#x2014; material icon named "notes" (round).
  static const IconData notes_rounded = IconData(0xf0023, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">notes</i> &#x2014; material icon named "notes" (outlined).
  static const IconData notes_outlined = IconData(0xf231, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">notification_add</i> &#x2014; material icon named "notification add".
  static const IconData notification_add = IconData(0xe44d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">notification_add</i> &#x2014; material icon named "notification add" (sharp).
  static const IconData notification_add_sharp = IconData(0xeb45, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">notification_add</i> &#x2014; material icon named "notification add" (round).
  static const IconData notification_add_rounded = IconData(0xf0024, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">notification_add</i> &#x2014; material icon named "notification add" (outlined).
  static const IconData notification_add_outlined = IconData(0xf232, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">notification_important</i> &#x2014; material icon named "notification important".
  static const IconData notification_important = IconData(0xe44e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">notification_important</i> &#x2014; material icon named "notification important" (sharp).
  static const IconData notification_important_sharp = IconData(0xeb46, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">notification_important</i> &#x2014; material icon named "notification important" (round).
  static const IconData notification_important_rounded = IconData(0xf0025, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">notification_important</i> &#x2014; material icon named "notification important" (outlined).
  static const IconData notification_important_outlined = IconData(0xf233, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">notifications</i> &#x2014; material icon named "notifications".
  static const IconData notifications = IconData(0xe44f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">notifications</i> &#x2014; material icon named "notifications" (sharp).
  static const IconData notifications_sharp = IconData(0xeb4b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">notifications</i> &#x2014; material icon named "notifications" (round).
  static const IconData notifications_rounded = IconData(0xf002a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">notifications</i> &#x2014; material icon named "notifications" (outlined).
  static const IconData notifications_outlined = IconData(0xf237, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">notifications_active</i> &#x2014; material icon named "notifications active".
  static const IconData notifications_active = IconData(0xe450, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">notifications_active</i> &#x2014; material icon named "notifications active" (sharp).
  static const IconData notifications_active_sharp = IconData(0xeb47, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">notifications_active</i> &#x2014; material icon named "notifications active" (round).
  static const IconData notifications_active_rounded = IconData(0xf0026, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">notifications_active</i> &#x2014; material icon named "notifications active" (outlined).
  static const IconData notifications_active_outlined = IconData(0xf234, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">notifications_none</i> &#x2014; material icon named "notifications none".
  static const IconData notifications_none = IconData(0xe451, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">notifications_none</i> &#x2014; material icon named "notifications none" (sharp).
  static const IconData notifications_none_sharp = IconData(0xeb48, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">notifications_none</i> &#x2014; material icon named "notifications none" (round).
  static const IconData notifications_none_rounded = IconData(0xf0027, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">notifications_none</i> &#x2014; material icon named "notifications none" (outlined).
  static const IconData notifications_none_outlined = IconData(0xf235, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">notifications_off</i> &#x2014; material icon named "notifications off".
  static const IconData notifications_off = IconData(0xe452, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">notifications_off</i> &#x2014; material icon named "notifications off" (sharp).
  static const IconData notifications_off_sharp = IconData(0xeb49, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">notifications_off</i> &#x2014; material icon named "notifications off" (round).
  static const IconData notifications_off_rounded = IconData(0xf0028, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">notifications_off</i> &#x2014; material icon named "notifications off" (outlined).
  static const IconData notifications_off_outlined = IconData(0xf236, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">notifications_on</i> &#x2014; material icon named "notifications on".
  static const IconData notifications_on = IconData(0xe450, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">notifications_on</i> &#x2014; material icon named "notifications on" (sharp).
  static const IconData notifications_on_sharp = IconData(0xeb47, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">notifications_on</i> &#x2014; material icon named "notifications on" (round).
  static const IconData notifications_on_rounded = IconData(0xf0026, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">notifications_on</i> &#x2014; material icon named "notifications on" (outlined).
  static const IconData notifications_on_outlined = IconData(0xf234, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">notifications_paused</i> &#x2014; material icon named "notifications paused".
  static const IconData notifications_paused = IconData(0xe453, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">notifications_paused</i> &#x2014; material icon named "notifications paused" (sharp).
  static const IconData notifications_paused_sharp = IconData(0xeb4a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">notifications_paused</i> &#x2014; material icon named "notifications paused" (round).
  static const IconData notifications_paused_rounded = IconData(0xf0029, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">notifications_paused</i> &#x2014; material icon named "notifications paused" (outlined).
  static const IconData notifications_paused_outlined = IconData(0xf238, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">now_wallpaper</i> &#x2014; material icon named "now wallpaper".
  static const IconData now_wallpaper = IconData(0xe6ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">now_wallpaper</i> &#x2014; material icon named "now wallpaper" (sharp).
  static const IconData now_wallpaper_sharp = IconData(0xedc0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">now_wallpaper</i> &#x2014; material icon named "now wallpaper" (round).
  static const IconData now_wallpaper_rounded = IconData(0xf029f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">now_wallpaper</i> &#x2014; material icon named "now wallpaper" (outlined).
  static const IconData now_wallpaper_outlined = IconData(0xf4ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">now_widgets</i> &#x2014; material icon named "now widgets".
  static const IconData now_widgets = IconData(0xe6e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">now_widgets</i> &#x2014; material icon named "now widgets" (sharp).
  static const IconData now_widgets_sharp = IconData(0xedda, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">now_widgets</i> &#x2014; material icon named "now widgets" (round).
  static const IconData now_widgets_rounded = IconData(0xf02b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">now_widgets</i> &#x2014; material icon named "now widgets" (outlined).
  static const IconData now_widgets_outlined = IconData(0xf4c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">numbers</i> &#x2014; material icon named "numbers".
  static const IconData numbers = IconData(0xf0542, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">numbers</i> &#x2014; material icon named "numbers" (sharp).
  static const IconData numbers_sharp = IconData(0xf044c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">numbers</i> &#x2014; material icon named "numbers" (round).
  static const IconData numbers_rounded = IconData(0xf0359, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">numbers</i> &#x2014; material icon named "numbers" (outlined).
  static const IconData numbers_outlined = IconData(0xf063a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">offline_bolt</i> &#x2014; material icon named "offline bolt".
  static const IconData offline_bolt = IconData(0xe454, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">offline_bolt</i> &#x2014; material icon named "offline bolt" (sharp).
  static const IconData offline_bolt_sharp = IconData(0xeb4c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">offline_bolt</i> &#x2014; material icon named "offline bolt" (round).
  static const IconData offline_bolt_rounded = IconData(0xf002b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">offline_bolt</i> &#x2014; material icon named "offline bolt" (outlined).
  static const IconData offline_bolt_outlined = IconData(0xf239, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">offline_pin</i> &#x2014; material icon named "offline pin".
  static const IconData offline_pin = IconData(0xe455, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">offline_pin</i> &#x2014; material icon named "offline pin" (sharp).
  static const IconData offline_pin_sharp = IconData(0xeb4d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">offline_pin</i> &#x2014; material icon named "offline pin" (round).
  static const IconData offline_pin_rounded = IconData(0xf002c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">offline_pin</i> &#x2014; material icon named "offline pin" (outlined).
  static const IconData offline_pin_outlined = IconData(0xf23a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">offline_share</i> &#x2014; material icon named "offline share".
  static const IconData offline_share = IconData(0xe456, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">offline_share</i> &#x2014; material icon named "offline share" (sharp).
  static const IconData offline_share_sharp = IconData(0xeb4e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">offline_share</i> &#x2014; material icon named "offline share" (round).
  static const IconData offline_share_rounded = IconData(0xf002d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">offline_share</i> &#x2014; material icon named "offline share" (outlined).
  static const IconData offline_share_outlined = IconData(0xf23b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">oil_barrel</i> &#x2014; material icon named "oil barrel".
  static const IconData oil_barrel = IconData(0xf07b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">oil_barrel</i> &#x2014; material icon named "oil barrel" (sharp).
  static const IconData oil_barrel_sharp = IconData(0xf075f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">oil_barrel</i> &#x2014; material icon named "oil barrel" (round).
  static const IconData oil_barrel_rounded = IconData(0xf080f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">oil_barrel</i> &#x2014; material icon named "oil barrel" (outlined).
  static const IconData oil_barrel_outlined = IconData(0xf0707, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">on_device_training</i> &#x2014; material icon named "on device training".
  static const IconData on_device_training = IconData(0xf07b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">on_device_training</i> &#x2014; material icon named "on device training" (sharp).
  static const IconData on_device_training_sharp = IconData(0xf0760, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">on_device_training</i> &#x2014; material icon named "on device training" (round).
  static const IconData on_device_training_rounded = IconData(0xf0810, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">on_device_training</i> &#x2014; material icon named "on device training" (outlined).
  static const IconData on_device_training_outlined = IconData(0xf0708, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">ondemand_video</i> &#x2014; material icon named "ondemand video".
  static const IconData ondemand_video = IconData(0xe457, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">ondemand_video</i> &#x2014; material icon named "ondemand video" (sharp).
  static const IconData ondemand_video_sharp = IconData(0xeb4f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">ondemand_video</i> &#x2014; material icon named "ondemand video" (round).
  static const IconData ondemand_video_rounded = IconData(0xf002e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">ondemand_video</i> &#x2014; material icon named "ondemand video" (outlined).
  static const IconData ondemand_video_outlined = IconData(0xf23c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">online_prediction</i> &#x2014; material icon named "online prediction".
  static const IconData online_prediction = IconData(0xe458, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">online_prediction</i> &#x2014; material icon named "online prediction" (sharp).
  static const IconData online_prediction_sharp = IconData(0xeb50, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">online_prediction</i> &#x2014; material icon named "online prediction" (round).
  static const IconData online_prediction_rounded = IconData(0xf002f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">online_prediction</i> &#x2014; material icon named "online prediction" (outlined).
  static const IconData online_prediction_outlined = IconData(0xf23d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">opacity</i> &#x2014; material icon named "opacity".
  static const IconData opacity = IconData(0xe459, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">opacity</i> &#x2014; material icon named "opacity" (sharp).
  static const IconData opacity_sharp = IconData(0xeb51, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">opacity</i> &#x2014; material icon named "opacity" (round).
  static const IconData opacity_rounded = IconData(0xf0030, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">opacity</i> &#x2014; material icon named "opacity" (outlined).
  static const IconData opacity_outlined = IconData(0xf23e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">open_in_browser</i> &#x2014; material icon named "open in browser".
  static const IconData open_in_browser = IconData(0xe45a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">open_in_browser</i> &#x2014; material icon named "open in browser" (sharp).
  static const IconData open_in_browser_sharp = IconData(0xeb52, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">open_in_browser</i> &#x2014; material icon named "open in browser" (round).
  static const IconData open_in_browser_rounded = IconData(0xf0031, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">open_in_browser</i> &#x2014; material icon named "open in browser" (outlined).
  static const IconData open_in_browser_outlined = IconData(0xf23f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">open_in_full</i> &#x2014; material icon named "open in full".
  static const IconData open_in_full = IconData(0xe45b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">open_in_full</i> &#x2014; material icon named "open in full" (sharp).
  static const IconData open_in_full_sharp = IconData(0xeb53, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">open_in_full</i> &#x2014; material icon named "open in full" (round).
  static const IconData open_in_full_rounded = IconData(0xf0032, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">open_in_full</i> &#x2014; material icon named "open in full" (outlined).
  static const IconData open_in_full_outlined = IconData(0xf240, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">open_in_new</i> &#x2014; material icon named "open in new".
  static const IconData open_in_new = IconData(0xe45c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">open_in_new</i> &#x2014; material icon named "open in new" (sharp).
  static const IconData open_in_new_sharp = IconData(0xeb55, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">open_in_new</i> &#x2014; material icon named "open in new" (round).
  static const IconData open_in_new_rounded = IconData(0xf0034, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">open_in_new</i> &#x2014; material icon named "open in new" (outlined).
  static const IconData open_in_new_outlined = IconData(0xf242, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">open_in_new_off</i> &#x2014; material icon named "open in new off".
  static const IconData open_in_new_off = IconData(0xe45d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">open_in_new_off</i> &#x2014; material icon named "open in new off" (sharp).
  static const IconData open_in_new_off_sharp = IconData(0xeb54, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">open_in_new_off</i> &#x2014; material icon named "open in new off" (round).
  static const IconData open_in_new_off_rounded = IconData(0xf0033, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">open_in_new_off</i> &#x2014; material icon named "open in new off" (outlined).
  static const IconData open_in_new_off_outlined = IconData(0xf241, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">open_with</i> &#x2014; material icon named "open with".
  static const IconData open_with = IconData(0xe45e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">open_with</i> &#x2014; material icon named "open with" (sharp).
  static const IconData open_with_sharp = IconData(0xeb56, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">open_with</i> &#x2014; material icon named "open with" (round).
  static const IconData open_with_rounded = IconData(0xf0035, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">open_with</i> &#x2014; material icon named "open with" (outlined).
  static const IconData open_with_outlined = IconData(0xf243, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">other_houses</i> &#x2014; material icon named "other houses".
  static const IconData other_houses = IconData(0xe45f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">other_houses</i> &#x2014; material icon named "other houses" (sharp).
  static const IconData other_houses_sharp = IconData(0xeb57, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">other_houses</i> &#x2014; material icon named "other houses" (round).
  static const IconData other_houses_rounded = IconData(0xf0036, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">other_houses</i> &#x2014; material icon named "other houses" (outlined).
  static const IconData other_houses_outlined = IconData(0xf244, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">outbond</i> &#x2014; material icon named "outbond".
  static const IconData outbond = IconData(0xe460, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">outbond</i> &#x2014; material icon named "outbond" (sharp).
  static const IconData outbond_sharp = IconData(0xeb58, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">outbond</i> &#x2014; material icon named "outbond" (round).
  static const IconData outbond_rounded = IconData(0xf0037, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">outbond</i> &#x2014; material icon named "outbond" (outlined).
  static const IconData outbond_outlined = IconData(0xf245, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">outbound</i> &#x2014; material icon named "outbound".
  static const IconData outbound = IconData(0xe461, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">outbound</i> &#x2014; material icon named "outbound" (sharp).
  static const IconData outbound_sharp = IconData(0xeb59, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">outbound</i> &#x2014; material icon named "outbound" (round).
  static const IconData outbound_rounded = IconData(0xf0038, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">outbound</i> &#x2014; material icon named "outbound" (outlined).
  static const IconData outbound_outlined = IconData(0xf246, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">outbox</i> &#x2014; material icon named "outbox".
  static const IconData outbox = IconData(0xe462, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">outbox</i> &#x2014; material icon named "outbox" (sharp).
  static const IconData outbox_sharp = IconData(0xeb5a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">outbox</i> &#x2014; material icon named "outbox" (round).
  static const IconData outbox_rounded = IconData(0xf0039, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">outbox</i> &#x2014; material icon named "outbox" (outlined).
  static const IconData outbox_outlined = IconData(0xf247, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">outdoor_grill</i> &#x2014; material icon named "outdoor grill".
  static const IconData outdoor_grill = IconData(0xe463, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">outdoor_grill</i> &#x2014; material icon named "outdoor grill" (sharp).
  static const IconData outdoor_grill_sharp = IconData(0xeb5b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">outdoor_grill</i> &#x2014; material icon named "outdoor grill" (round).
  static const IconData outdoor_grill_rounded = IconData(0xf003a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">outdoor_grill</i> &#x2014; material icon named "outdoor grill" (outlined).
  static const IconData outdoor_grill_outlined = IconData(0xf248, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">outgoing_mail</i> &#x2014; material icon named "outgoing mail".
  static const IconData outgoing_mail = IconData(0xe464, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">outlet</i> &#x2014; material icon named "outlet".
  static const IconData outlet = IconData(0xe465, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">outlet</i> &#x2014; material icon named "outlet" (sharp).
  static const IconData outlet_sharp = IconData(0xeb5c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">outlet</i> &#x2014; material icon named "outlet" (round).
  static const IconData outlet_rounded = IconData(0xf003b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">outlet</i> &#x2014; material icon named "outlet" (outlined).
  static const IconData outlet_outlined = IconData(0xf249, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">outlined_flag</i> &#x2014; material icon named "outlined flag".
  static const IconData outlined_flag = IconData(0xe466, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">outlined_flag</i> &#x2014; material icon named "outlined flag" (sharp).
  static const IconData outlined_flag_sharp = IconData(0xeb5d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">outlined_flag</i> &#x2014; material icon named "outlined flag" (round).
  static const IconData outlined_flag_rounded = IconData(0xf003c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">outlined_flag</i> &#x2014; material icon named "outlined flag" (outlined).
  static const IconData outlined_flag_outlined = IconData(0xf24a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">output</i> &#x2014; material icon named "output".
  static const IconData output = IconData(0xf0543, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">output</i> &#x2014; material icon named "output" (sharp).
  static const IconData output_sharp = IconData(0xf044d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">output</i> &#x2014; material icon named "output" (round).
  static const IconData output_rounded = IconData(0xf035a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">output</i> &#x2014; material icon named "output" (outlined).
  static const IconData output_outlined = IconData(0xf063b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">padding</i> &#x2014; material icon named "padding".
  static const IconData padding = IconData(0xe467, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">padding</i> &#x2014; material icon named "padding" (sharp).
  static const IconData padding_sharp = IconData(0xeb5e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">padding</i> &#x2014; material icon named "padding" (round).
  static const IconData padding_rounded = IconData(0xf003d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">padding</i> &#x2014; material icon named "padding" (outlined).
  static const IconData padding_outlined = IconData(0xf24b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pages</i> &#x2014; material icon named "pages".
  static const IconData pages = IconData(0xe468, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pages</i> &#x2014; material icon named "pages" (sharp).
  static const IconData pages_sharp = IconData(0xeb5f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pages</i> &#x2014; material icon named "pages" (round).
  static const IconData pages_rounded = IconData(0xf003e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pages</i> &#x2014; material icon named "pages" (outlined).
  static const IconData pages_outlined = IconData(0xf24c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pageview</i> &#x2014; material icon named "pageview".
  static const IconData pageview = IconData(0xe469, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pageview</i> &#x2014; material icon named "pageview" (sharp).
  static const IconData pageview_sharp = IconData(0xeb60, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pageview</i> &#x2014; material icon named "pageview" (round).
  static const IconData pageview_rounded = IconData(0xf003f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pageview</i> &#x2014; material icon named "pageview" (outlined).
  static const IconData pageview_outlined = IconData(0xf24d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">paid</i> &#x2014; material icon named "paid".
  static const IconData paid = IconData(0xe46a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">paid</i> &#x2014; material icon named "paid" (sharp).
  static const IconData paid_sharp = IconData(0xeb61, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">paid</i> &#x2014; material icon named "paid" (round).
  static const IconData paid_rounded = IconData(0xf0040, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">paid</i> &#x2014; material icon named "paid" (outlined).
  static const IconData paid_outlined = IconData(0xf24e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">palette</i> &#x2014; material icon named "palette".
  static const IconData palette = IconData(0xe46b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">palette</i> &#x2014; material icon named "palette" (sharp).
  static const IconData palette_sharp = IconData(0xeb62, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">palette</i> &#x2014; material icon named "palette" (round).
  static const IconData palette_rounded = IconData(0xf0041, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">palette</i> &#x2014; material icon named "palette" (outlined).
  static const IconData palette_outlined = IconData(0xf24f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pan_tool</i> &#x2014; material icon named "pan tool".
  static const IconData pan_tool = IconData(0xe46c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pan_tool</i> &#x2014; material icon named "pan tool" (sharp).
  static const IconData pan_tool_sharp = IconData(0xeb63, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pan_tool</i> &#x2014; material icon named "pan tool" (round).
  static const IconData pan_tool_rounded = IconData(0xf0042, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pan_tool</i> &#x2014; material icon named "pan tool" (outlined).
  static const IconData pan_tool_outlined = IconData(0xf250, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pan_tool_alt</i> &#x2014; material icon named "pan tool alt".
  static const IconData pan_tool_alt = IconData(0xf0544, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pan_tool_alt</i> &#x2014; material icon named "pan tool alt" (sharp).
  static const IconData pan_tool_alt_sharp = IconData(0xf044e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pan_tool_alt</i> &#x2014; material icon named "pan tool alt" (round).
  static const IconData pan_tool_alt_rounded = IconData(0xf035b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pan_tool_alt</i> &#x2014; material icon named "pan tool alt" (outlined).
  static const IconData pan_tool_alt_outlined = IconData(0xf063c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">panorama</i> &#x2014; material icon named "panorama".
  static const IconData panorama = IconData(0xe46d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">panorama</i> &#x2014; material icon named "panorama" (sharp).
  static const IconData panorama_sharp = IconData(0xeb69, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">panorama</i> &#x2014; material icon named "panorama" (round).
  static const IconData panorama_rounded = IconData(0xf0048, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">panorama</i> &#x2014; material icon named "panorama" (outlined).
  static const IconData panorama_outlined = IconData(0xf254, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">panorama_fish_eye</i> &#x2014; material icon named "panorama fish eye".
  static const IconData panorama_fish_eye = IconData(0xe46e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">panorama_fish_eye</i> &#x2014; material icon named "panorama fish eye" (sharp).
  static const IconData panorama_fish_eye_sharp = IconData(0xeb64, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">panorama_fish_eye</i> &#x2014; material icon named "panorama fish eye" (round).
  static const IconData panorama_fish_eye_rounded = IconData(0xf0043, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">panorama_fish_eye</i> &#x2014; material icon named "panorama fish eye" (outlined).
  static const IconData panorama_fish_eye_outlined = IconData(0xf251, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">panorama_fisheye</i> &#x2014; material icon named "panorama fisheye".
  static const IconData panorama_fisheye = IconData(0xe46e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">panorama_fisheye</i> &#x2014; material icon named "panorama fisheye" (sharp).
  static const IconData panorama_fisheye_sharp = IconData(0xeb64, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">panorama_fisheye</i> &#x2014; material icon named "panorama fisheye" (round).
  static const IconData panorama_fisheye_rounded = IconData(0xf0043, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">panorama_fisheye</i> &#x2014; material icon named "panorama fisheye" (outlined).
  static const IconData panorama_fisheye_outlined = IconData(0xf251, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">panorama_horizontal</i> &#x2014; material icon named "panorama horizontal".
  static const IconData panorama_horizontal = IconData(0xe46f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">panorama_horizontal</i> &#x2014; material icon named "panorama horizontal" (sharp).
  static const IconData panorama_horizontal_sharp = IconData(0xeb66, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">panorama_horizontal</i> &#x2014; material icon named "panorama horizontal" (round).
  static const IconData panorama_horizontal_rounded = IconData(0xf0044, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">panorama_horizontal</i> &#x2014; material icon named "panorama horizontal" (outlined).
  static const IconData panorama_horizontal_outlined = IconData(0xf252, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">panorama_horizontal_select</i> &#x2014; material icon named "panorama horizontal select".
  static const IconData panorama_horizontal_select = IconData(0xe470, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">panorama_horizontal_select</i> &#x2014; material icon named "panorama horizontal select" (sharp).
  static const IconData panorama_horizontal_select_sharp = IconData(0xeb65, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">panorama_horizontal_select</i> &#x2014; material icon named "panorama horizontal select" (round).
  static const IconData panorama_horizontal_select_rounded = IconData(0xf0045, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">panorama_horizontal_select</i> &#x2014; material icon named "panorama horizontal select" (outlined).
  static const IconData panorama_horizontal_select_outlined = IconData(0xf253, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">panorama_photosphere</i> &#x2014; material icon named "panorama photosphere".
  static const IconData panorama_photosphere = IconData(0xe471, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">panorama_photosphere</i> &#x2014; material icon named "panorama photosphere" (sharp).
  static const IconData panorama_photosphere_sharp = IconData(0xeb68, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">panorama_photosphere</i> &#x2014; material icon named "panorama photosphere" (round).
  static const IconData panorama_photosphere_rounded = IconData(0xf0046, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">panorama_photosphere</i> &#x2014; material icon named "panorama photosphere" (outlined).
  static const IconData panorama_photosphere_outlined = IconData(0xf255, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">panorama_photosphere_select</i> &#x2014; material icon named "panorama photosphere select".
  static const IconData panorama_photosphere_select = IconData(0xe472, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">panorama_photosphere_select</i> &#x2014; material icon named "panorama photosphere select" (sharp).
  static const IconData panorama_photosphere_select_sharp = IconData(0xeb67, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">panorama_photosphere_select</i> &#x2014; material icon named "panorama photosphere select" (round).
  static const IconData panorama_photosphere_select_rounded = IconData(0xf0047, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">panorama_photosphere_select</i> &#x2014; material icon named "panorama photosphere select" (outlined).
  static const IconData panorama_photosphere_select_outlined = IconData(0xf256, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">panorama_vertical</i> &#x2014; material icon named "panorama vertical".
  static const IconData panorama_vertical = IconData(0xe473, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">panorama_vertical</i> &#x2014; material icon named "panorama vertical" (sharp).
  static const IconData panorama_vertical_sharp = IconData(0xeb6b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">panorama_vertical</i> &#x2014; material icon named "panorama vertical" (round).
  static const IconData panorama_vertical_rounded = IconData(0xf0049, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">panorama_vertical</i> &#x2014; material icon named "panorama vertical" (outlined).
  static const IconData panorama_vertical_outlined = IconData(0xf257, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">panorama_vertical_select</i> &#x2014; material icon named "panorama vertical select".
  static const IconData panorama_vertical_select = IconData(0xe474, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">panorama_vertical_select</i> &#x2014; material icon named "panorama vertical select" (sharp).
  static const IconData panorama_vertical_select_sharp = IconData(0xeb6a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">panorama_vertical_select</i> &#x2014; material icon named "panorama vertical select" (round).
  static const IconData panorama_vertical_select_rounded = IconData(0xf004a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">panorama_vertical_select</i> &#x2014; material icon named "panorama vertical select" (outlined).
  static const IconData panorama_vertical_select_outlined = IconData(0xf258, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">panorama_wide_angle</i> &#x2014; material icon named "panorama wide angle".
  static const IconData panorama_wide_angle = IconData(0xe475, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">panorama_wide_angle</i> &#x2014; material icon named "panorama wide angle" (sharp).
  static const IconData panorama_wide_angle_sharp = IconData(0xeb6d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">panorama_wide_angle</i> &#x2014; material icon named "panorama wide angle" (round).
  static const IconData panorama_wide_angle_rounded = IconData(0xf004b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">panorama_wide_angle</i> &#x2014; material icon named "panorama wide angle" (outlined).
  static const IconData panorama_wide_angle_outlined = IconData(0xf259, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">panorama_wide_angle_select</i> &#x2014; material icon named "panorama wide angle select".
  static const IconData panorama_wide_angle_select = IconData(0xe476, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">panorama_wide_angle_select</i> &#x2014; material icon named "panorama wide angle select" (sharp).
  static const IconData panorama_wide_angle_select_sharp = IconData(0xeb6c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">panorama_wide_angle_select</i> &#x2014; material icon named "panorama wide angle select" (round).
  static const IconData panorama_wide_angle_select_rounded = IconData(0xf004c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">panorama_wide_angle_select</i> &#x2014; material icon named "panorama wide angle select" (outlined).
  static const IconData panorama_wide_angle_select_outlined = IconData(0xf25a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">paragliding</i> &#x2014; material icon named "paragliding".
  static const IconData paragliding = IconData(0xe477, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">paragliding</i> &#x2014; material icon named "paragliding" (sharp).
  static const IconData paragliding_sharp = IconData(0xeb6e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">paragliding</i> &#x2014; material icon named "paragliding" (round).
  static const IconData paragliding_rounded = IconData(0xf004d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">paragliding</i> &#x2014; material icon named "paragliding" (outlined).
  static const IconData paragliding_outlined = IconData(0xf25b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">park</i> &#x2014; material icon named "park".
  static const IconData park = IconData(0xe478, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">park</i> &#x2014; material icon named "park" (sharp).
  static const IconData park_sharp = IconData(0xeb6f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">park</i> &#x2014; material icon named "park" (round).
  static const IconData park_rounded = IconData(0xf004e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">park</i> &#x2014; material icon named "park" (outlined).
  static const IconData park_outlined = IconData(0xf25c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">party_mode</i> &#x2014; material icon named "party mode".
  static const IconData party_mode = IconData(0xe479, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">party_mode</i> &#x2014; material icon named "party mode" (sharp).
  static const IconData party_mode_sharp = IconData(0xeb70, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">party_mode</i> &#x2014; material icon named "party mode" (round).
  static const IconData party_mode_rounded = IconData(0xf004f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">party_mode</i> &#x2014; material icon named "party mode" (outlined).
  static const IconData party_mode_outlined = IconData(0xf25d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">password</i> &#x2014; material icon named "password".
  static const IconData password = IconData(0xe47a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">password</i> &#x2014; material icon named "password" (sharp).
  static const IconData password_sharp = IconData(0xeb71, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">password</i> &#x2014; material icon named "password" (round).
  static const IconData password_rounded = IconData(0xf0050, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">password</i> &#x2014; material icon named "password" (outlined).
  static const IconData password_outlined = IconData(0xf25e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">paste</i> &#x2014; material icon named "paste".
  static const IconData paste = IconData(0xe192, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">paste</i> &#x2014; material icon named "paste" (sharp).
  static const IconData paste_sharp = IconData(0xe890, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">paste</i> &#x2014; material icon named "paste" (round).
  static const IconData paste_rounded = IconData(0xf66f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">paste</i> &#x2014; material icon named "paste" (outlined).
  static const IconData paste_outlined = IconData(0xef82, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pattern</i> &#x2014; material icon named "pattern".
  static const IconData pattern = IconData(0xe47b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pattern</i> &#x2014; material icon named "pattern" (sharp).
  static const IconData pattern_sharp = IconData(0xeb72, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pattern</i> &#x2014; material icon named "pattern" (round).
  static const IconData pattern_rounded = IconData(0xf0051, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pattern</i> &#x2014; material icon named "pattern" (outlined).
  static const IconData pattern_outlined = IconData(0xf25f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pause</i> &#x2014; material icon named "pause".
  static const IconData pause = IconData(0xe47c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pause</i> &#x2014; material icon named "pause" (sharp).
  static const IconData pause_sharp = IconData(0xeb77, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pause</i> &#x2014; material icon named "pause" (round).
  static const IconData pause_rounded = IconData(0xf0056, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pause</i> &#x2014; material icon named "pause" (outlined).
  static const IconData pause_outlined = IconData(0xf263, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pause_circle</i> &#x2014; material icon named "pause circle".
  static const IconData pause_circle = IconData(0xe47d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pause_circle</i> &#x2014; material icon named "pause circle" (sharp).
  static const IconData pause_circle_sharp = IconData(0xeb75, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pause_circle</i> &#x2014; material icon named "pause circle" (round).
  static const IconData pause_circle_rounded = IconData(0xf0054, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pause_circle</i> &#x2014; material icon named "pause circle" (outlined).
  static const IconData pause_circle_outlined = IconData(0xf262, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pause_circle_filled</i> &#x2014; material icon named "pause circle filled".
  static const IconData pause_circle_filled = IconData(0xe47e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pause_circle_filled</i> &#x2014; material icon named "pause circle filled" (sharp).
  static const IconData pause_circle_filled_sharp = IconData(0xeb73, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pause_circle_filled</i> &#x2014; material icon named "pause circle filled" (round).
  static const IconData pause_circle_filled_rounded = IconData(0xf0052, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pause_circle_filled</i> &#x2014; material icon named "pause circle filled" (outlined).
  static const IconData pause_circle_filled_outlined = IconData(0xf260, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pause_circle_outline</i> &#x2014; material icon named "pause circle outline".
  static const IconData pause_circle_outline = IconData(0xe47f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pause_circle_outline</i> &#x2014; material icon named "pause circle outline" (sharp).
  static const IconData pause_circle_outline_sharp = IconData(0xeb74, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pause_circle_outline</i> &#x2014; material icon named "pause circle outline" (round).
  static const IconData pause_circle_outline_rounded = IconData(0xf0053, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pause_circle_outline</i> &#x2014; material icon named "pause circle outline" (outlined).
  static const IconData pause_circle_outline_outlined = IconData(0xf261, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pause_presentation</i> &#x2014; material icon named "pause presentation".
  static const IconData pause_presentation = IconData(0xe480, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pause_presentation</i> &#x2014; material icon named "pause presentation" (sharp).
  static const IconData pause_presentation_sharp = IconData(0xeb76, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pause_presentation</i> &#x2014; material icon named "pause presentation" (round).
  static const IconData pause_presentation_rounded = IconData(0xf0055, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pause_presentation</i> &#x2014; material icon named "pause presentation" (outlined).
  static const IconData pause_presentation_outlined = IconData(0xf264, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">payment</i> &#x2014; material icon named "payment".
  static const IconData payment = IconData(0xe481, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">payment</i> &#x2014; material icon named "payment" (sharp).
  static const IconData payment_sharp = IconData(0xeb78, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">payment</i> &#x2014; material icon named "payment" (round).
  static const IconData payment_rounded = IconData(0xf0057, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">payment</i> &#x2014; material icon named "payment" (outlined).
  static const IconData payment_outlined = IconData(0xf265, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">payments</i> &#x2014; material icon named "payments".
  static const IconData payments = IconData(0xe482, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">payments</i> &#x2014; material icon named "payments" (sharp).
  static const IconData payments_sharp = IconData(0xeb79, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">payments</i> &#x2014; material icon named "payments" (round).
  static const IconData payments_rounded = IconData(0xf0058, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">payments</i> &#x2014; material icon named "payments" (outlined).
  static const IconData payments_outlined = IconData(0xf266, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">paypal</i> &#x2014; material icon named "paypal".
  static const IconData paypal = IconData(0xf0545, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">paypal</i> &#x2014; material icon named "paypal" (sharp).
  static const IconData paypal_sharp = IconData(0xf044f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">paypal</i> &#x2014; material icon named "paypal" (round).
  static const IconData paypal_rounded = IconData(0xf035c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">paypal</i> &#x2014; material icon named "paypal" (outlined).
  static const IconData paypal_outlined = IconData(0xf063d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pedal_bike</i> &#x2014; material icon named "pedal bike".
  static const IconData pedal_bike = IconData(0xe483, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pedal_bike</i> &#x2014; material icon named "pedal bike" (sharp).
  static const IconData pedal_bike_sharp = IconData(0xeb7a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pedal_bike</i> &#x2014; material icon named "pedal bike" (round).
  static const IconData pedal_bike_rounded = IconData(0xf0059, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pedal_bike</i> &#x2014; material icon named "pedal bike" (outlined).
  static const IconData pedal_bike_outlined = IconData(0xf267, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pending</i> &#x2014; material icon named "pending".
  static const IconData pending = IconData(0xe484, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pending</i> &#x2014; material icon named "pending" (sharp).
  static const IconData pending_sharp = IconData(0xeb7c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pending</i> &#x2014; material icon named "pending" (round).
  static const IconData pending_rounded = IconData(0xf005b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pending</i> &#x2014; material icon named "pending" (outlined).
  static const IconData pending_outlined = IconData(0xf269, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pending_actions</i> &#x2014; material icon named "pending actions".
  static const IconData pending_actions = IconData(0xe485, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pending_actions</i> &#x2014; material icon named "pending actions" (sharp).
  static const IconData pending_actions_sharp = IconData(0xeb7b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pending_actions</i> &#x2014; material icon named "pending actions" (round).
  static const IconData pending_actions_rounded = IconData(0xf005a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pending_actions</i> &#x2014; material icon named "pending actions" (outlined).
  static const IconData pending_actions_outlined = IconData(0xf268, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pentagon</i> &#x2014; material icon named "pentagon".
  static const IconData pentagon = IconData(0xf0546, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pentagon</i> &#x2014; material icon named "pentagon" (sharp).
  static const IconData pentagon_sharp = IconData(0xf0450, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pentagon</i> &#x2014; material icon named "pentagon" (round).
  static const IconData pentagon_rounded = IconData(0xf035d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pentagon</i> &#x2014; material icon named "pentagon" (outlined).
  static const IconData pentagon_outlined = IconData(0xf063e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">people</i> &#x2014; material icon named "people".
  static const IconData people = IconData(0xe486, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">people</i> &#x2014; material icon named "people" (sharp).
  static const IconData people_sharp = IconData(0xeb7f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">people</i> &#x2014; material icon named "people" (round).
  static const IconData people_rounded = IconData(0xf005e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">people</i> &#x2014; material icon named "people" (outlined).
  static const IconData people_outlined = IconData(0xf26c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">people_alt</i> &#x2014; material icon named "people alt".
  static const IconData people_alt = IconData(0xe487, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">people_alt</i> &#x2014; material icon named "people alt" (sharp).
  static const IconData people_alt_sharp = IconData(0xeb7d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">people_alt</i> &#x2014; material icon named "people alt" (round).
  static const IconData people_alt_rounded = IconData(0xf005c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">people_alt</i> &#x2014; material icon named "people alt" (outlined).
  static const IconData people_alt_outlined = IconData(0xf26a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">people_outline</i> &#x2014; material icon named "people outline".
  static const IconData people_outline = IconData(0xe488, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">people_outline</i> &#x2014; material icon named "people outline" (sharp).
  static const IconData people_outline_sharp = IconData(0xeb7e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">people_outline</i> &#x2014; material icon named "people outline" (round).
  static const IconData people_outline_rounded = IconData(0xf005d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">people_outline</i> &#x2014; material icon named "people outline" (outlined).
  static const IconData people_outline_outlined = IconData(0xf26b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">percent</i> &#x2014; material icon named "percent".
  static const IconData percent = IconData(0xf0547, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">percent</i> &#x2014; material icon named "percent" (sharp).
  static const IconData percent_sharp = IconData(0xf0451, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">percent</i> &#x2014; material icon named "percent" (round).
  static const IconData percent_rounded = IconData(0xf035e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">percent</i> &#x2014; material icon named "percent" (outlined).
  static const IconData percent_outlined = IconData(0xf063f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">perm_camera_mic</i> &#x2014; material icon named "perm camera mic".
  static const IconData perm_camera_mic = IconData(0xe489, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">perm_camera_mic</i> &#x2014; material icon named "perm camera mic" (sharp).
  static const IconData perm_camera_mic_sharp = IconData(0xeb80, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">perm_camera_mic</i> &#x2014; material icon named "perm camera mic" (round).
  static const IconData perm_camera_mic_rounded = IconData(0xf005f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">perm_camera_mic</i> &#x2014; material icon named "perm camera mic" (outlined).
  static const IconData perm_camera_mic_outlined = IconData(0xf26d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">perm_contact_cal</i> &#x2014; material icon named "perm contact cal".
  static const IconData perm_contact_cal = IconData(0xe48a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">perm_contact_cal</i> &#x2014; material icon named "perm contact cal" (sharp).
  static const IconData perm_contact_cal_sharp = IconData(0xeb81, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">perm_contact_cal</i> &#x2014; material icon named "perm contact cal" (round).
  static const IconData perm_contact_cal_rounded = IconData(0xf0060, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">perm_contact_cal</i> &#x2014; material icon named "perm contact cal" (outlined).
  static const IconData perm_contact_cal_outlined = IconData(0xf26e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">perm_contact_calendar</i> &#x2014; material icon named "perm contact calendar".
  static const IconData perm_contact_calendar = IconData(0xe48a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">perm_contact_calendar</i> &#x2014; material icon named "perm contact calendar" (sharp).
  static const IconData perm_contact_calendar_sharp = IconData(0xeb81, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">perm_contact_calendar</i> &#x2014; material icon named "perm contact calendar" (round).
  static const IconData perm_contact_calendar_rounded = IconData(0xf0060, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">perm_contact_calendar</i> &#x2014; material icon named "perm contact calendar" (outlined).
  static const IconData perm_contact_calendar_outlined = IconData(0xf26e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">perm_data_setting</i> &#x2014; material icon named "perm data setting".
  static const IconData perm_data_setting = IconData(0xe48b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">perm_data_setting</i> &#x2014; material icon named "perm data setting" (sharp).
  static const IconData perm_data_setting_sharp = IconData(0xeb82, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">perm_data_setting</i> &#x2014; material icon named "perm data setting" (round).
  static const IconData perm_data_setting_rounded = IconData(0xf0061, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">perm_data_setting</i> &#x2014; material icon named "perm data setting" (outlined).
  static const IconData perm_data_setting_outlined = IconData(0xf26f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">perm_device_info</i> &#x2014; material icon named "perm device info".
  static const IconData perm_device_info = IconData(0xe48c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">perm_device_info</i> &#x2014; material icon named "perm device info" (sharp).
  static const IconData perm_device_info_sharp = IconData(0xeb83, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">perm_device_info</i> &#x2014; material icon named "perm device info" (round).
  static const IconData perm_device_info_rounded = IconData(0xf0062, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">perm_device_info</i> &#x2014; material icon named "perm device info" (outlined).
  static const IconData perm_device_info_outlined = IconData(0xf270, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">perm_device_information</i> &#x2014; material icon named "perm device information".
  static const IconData perm_device_information = IconData(0xe48c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">perm_device_information</i> &#x2014; material icon named "perm device information" (sharp).
  static const IconData perm_device_information_sharp = IconData(0xeb83, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">perm_device_information</i> &#x2014; material icon named "perm device information" (round).
  static const IconData perm_device_information_rounded = IconData(0xf0062, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">perm_device_information</i> &#x2014; material icon named "perm device information" (outlined).
  static const IconData perm_device_information_outlined = IconData(0xf270, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">perm_identity</i> &#x2014; material icon named "perm identity".
  static const IconData perm_identity = IconData(0xe48d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">perm_identity</i> &#x2014; material icon named "perm identity" (sharp).
  static const IconData perm_identity_sharp = IconData(0xeb84, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">perm_identity</i> &#x2014; material icon named "perm identity" (round).
  static const IconData perm_identity_rounded = IconData(0xf0063, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">perm_identity</i> &#x2014; material icon named "perm identity" (outlined).
  static const IconData perm_identity_outlined = IconData(0xf271, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">perm_media</i> &#x2014; material icon named "perm media".
  static const IconData perm_media = IconData(0xe48e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">perm_media</i> &#x2014; material icon named "perm media" (sharp).
  static const IconData perm_media_sharp = IconData(0xeb85, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">perm_media</i> &#x2014; material icon named "perm media" (round).
  static const IconData perm_media_rounded = IconData(0xf0064, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">perm_media</i> &#x2014; material icon named "perm media" (outlined).
  static const IconData perm_media_outlined = IconData(0xf272, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">perm_phone_msg</i> &#x2014; material icon named "perm phone msg".
  static const IconData perm_phone_msg = IconData(0xe48f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">perm_phone_msg</i> &#x2014; material icon named "perm phone msg" (sharp).
  static const IconData perm_phone_msg_sharp = IconData(0xeb86, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">perm_phone_msg</i> &#x2014; material icon named "perm phone msg" (round).
  static const IconData perm_phone_msg_rounded = IconData(0xf0065, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">perm_phone_msg</i> &#x2014; material icon named "perm phone msg" (outlined).
  static const IconData perm_phone_msg_outlined = IconData(0xf273, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">perm_scan_wifi</i> &#x2014; material icon named "perm scan wifi".
  static const IconData perm_scan_wifi = IconData(0xe490, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">perm_scan_wifi</i> &#x2014; material icon named "perm scan wifi" (sharp).
  static const IconData perm_scan_wifi_sharp = IconData(0xeb87, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">perm_scan_wifi</i> &#x2014; material icon named "perm scan wifi" (round).
  static const IconData perm_scan_wifi_rounded = IconData(0xf0066, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">perm_scan_wifi</i> &#x2014; material icon named "perm scan wifi" (outlined).
  static const IconData perm_scan_wifi_outlined = IconData(0xf274, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">person</i> &#x2014; material icon named "person".
  static const IconData person = IconData(0xe491, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">person</i> &#x2014; material icon named "person" (sharp).
  static const IconData person_sharp = IconData(0xeb93, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">person</i> &#x2014; material icon named "person" (round).
  static const IconData person_rounded = IconData(0xf0071, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">person</i> &#x2014; material icon named "person" (outlined).
  static const IconData person_outlined = IconData(0xf27b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">person_add</i> &#x2014; material icon named "person add".
  static const IconData person_add = IconData(0xe492, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">person_add</i> &#x2014; material icon named "person add" (sharp).
  static const IconData person_add_sharp = IconData(0xeb8b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">person_add</i> &#x2014; material icon named "person add" (round).
  static const IconData person_add_rounded = IconData(0xf006a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">person_add</i> &#x2014; material icon named "person add" (outlined).
  static const IconData person_add_outlined = IconData(0xf278, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">person_add_alt</i> &#x2014; material icon named "person add alt".
  static const IconData person_add_alt = IconData(0xe493, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">person_add_alt</i> &#x2014; material icon named "person add alt" (sharp).
  static const IconData person_add_alt_sharp = IconData(0xeb89, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">person_add_alt</i> &#x2014; material icon named "person add alt" (round).
  static const IconData person_add_alt_rounded = IconData(0xf0068, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">person_add_alt</i> &#x2014; material icon named "person add alt" (outlined).
  static const IconData person_add_alt_outlined = IconData(0xf276, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">person_add_alt_1</i> &#x2014; material icon named "person add alt 1".
  static const IconData person_add_alt_1 = IconData(0xe494, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">person_add_alt_1</i> &#x2014; material icon named "person add alt 1" (sharp).
  static const IconData person_add_alt_1_sharp = IconData(0xeb88, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">person_add_alt_1</i> &#x2014; material icon named "person add alt 1" (round).
  static const IconData person_add_alt_1_rounded = IconData(0xf0067, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">person_add_alt_1</i> &#x2014; material icon named "person add alt 1" (outlined).
  static const IconData person_add_alt_1_outlined = IconData(0xf275, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">person_add_disabled</i> &#x2014; material icon named "person add disabled".
  static const IconData person_add_disabled = IconData(0xe495, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">person_add_disabled</i> &#x2014; material icon named "person add disabled" (sharp).
  static const IconData person_add_disabled_sharp = IconData(0xeb8a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">person_add_disabled</i> &#x2014; material icon named "person add disabled" (round).
  static const IconData person_add_disabled_rounded = IconData(0xf0069, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">person_add_disabled</i> &#x2014; material icon named "person add disabled" (outlined).
  static const IconData person_add_disabled_outlined = IconData(0xf277, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">person_off</i> &#x2014; material icon named "person off".
  static const IconData person_off = IconData(0xe496, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">person_off</i> &#x2014; material icon named "person off" (sharp).
  static const IconData person_off_sharp = IconData(0xeb8c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">person_off</i> &#x2014; material icon named "person off" (round).
  static const IconData person_off_rounded = IconData(0xf006b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">person_off</i> &#x2014; material icon named "person off" (outlined).
  static const IconData person_off_outlined = IconData(0xf279, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">person_outline</i> &#x2014; material icon named "person outline".
  static const IconData person_outline = IconData(0xe497, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">person_outline</i> &#x2014; material icon named "person outline" (sharp).
  static const IconData person_outline_sharp = IconData(0xeb8d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">person_outline</i> &#x2014; material icon named "person outline" (round).
  static const IconData person_outline_rounded = IconData(0xf006c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">person_outline</i> &#x2014; material icon named "person outline" (outlined).
  static const IconData person_outline_outlined = IconData(0xf27a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">person_pin</i> &#x2014; material icon named "person pin".
  static const IconData person_pin = IconData(0xe498, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">person_pin</i> &#x2014; material icon named "person pin" (sharp).
  static const IconData person_pin_sharp = IconData(0xeb8f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">person_pin</i> &#x2014; material icon named "person pin" (round).
  static const IconData person_pin_rounded = IconData(0xf006e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">person_pin</i> &#x2014; material icon named "person pin" (outlined).
  static const IconData person_pin_outlined = IconData(0xf27d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">person_pin_circle</i> &#x2014; material icon named "person pin circle".
  static const IconData person_pin_circle = IconData(0xe499, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">person_pin_circle</i> &#x2014; material icon named "person pin circle" (sharp).
  static const IconData person_pin_circle_sharp = IconData(0xeb8e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">person_pin_circle</i> &#x2014; material icon named "person pin circle" (round).
  static const IconData person_pin_circle_rounded = IconData(0xf006d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">person_pin_circle</i> &#x2014; material icon named "person pin circle" (outlined).
  static const IconData person_pin_circle_outlined = IconData(0xf27c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">person_remove</i> &#x2014; material icon named "person remove".
  static const IconData person_remove = IconData(0xe49a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">person_remove</i> &#x2014; material icon named "person remove" (sharp).
  static const IconData person_remove_sharp = IconData(0xeb91, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">person_remove</i> &#x2014; material icon named "person remove" (round).
  static const IconData person_remove_rounded = IconData(0xf0070, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">person_remove</i> &#x2014; material icon named "person remove" (outlined).
  static const IconData person_remove_outlined = IconData(0xf27f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">person_remove_alt_1</i> &#x2014; material icon named "person remove alt 1".
  static const IconData person_remove_alt_1 = IconData(0xe49b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">person_remove_alt_1</i> &#x2014; material icon named "person remove alt 1" (sharp).
  static const IconData person_remove_alt_1_sharp = IconData(0xeb90, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">person_remove_alt_1</i> &#x2014; material icon named "person remove alt 1" (round).
  static const IconData person_remove_alt_1_rounded = IconData(0xf006f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">person_remove_alt_1</i> &#x2014; material icon named "person remove alt 1" (outlined).
  static const IconData person_remove_alt_1_outlined = IconData(0xf27e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">person_search</i> &#x2014; material icon named "person search".
  static const IconData person_search = IconData(0xe49c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">person_search</i> &#x2014; material icon named "person search" (sharp).
  static const IconData person_search_sharp = IconData(0xeb92, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">person_search</i> &#x2014; material icon named "person search" (round).
  static const IconData person_search_rounded = IconData(0xf0072, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">person_search</i> &#x2014; material icon named "person search" (outlined).
  static const IconData person_search_outlined = IconData(0xf280, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">personal_injury</i> &#x2014; material icon named "personal injury".
  static const IconData personal_injury = IconData(0xe49d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">personal_injury</i> &#x2014; material icon named "personal injury" (sharp).
  static const IconData personal_injury_sharp = IconData(0xeb94, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">personal_injury</i> &#x2014; material icon named "personal injury" (round).
  static const IconData personal_injury_rounded = IconData(0xf0073, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">personal_injury</i> &#x2014; material icon named "personal injury" (outlined).
  static const IconData personal_injury_outlined = IconData(0xf281, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">personal_video</i> &#x2014; material icon named "personal video".
  static const IconData personal_video = IconData(0xe49e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">personal_video</i> &#x2014; material icon named "personal video" (sharp).
  static const IconData personal_video_sharp = IconData(0xeb95, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">personal_video</i> &#x2014; material icon named "personal video" (round).
  static const IconData personal_video_rounded = IconData(0xf0074, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">personal_video</i> &#x2014; material icon named "personal video" (outlined).
  static const IconData personal_video_outlined = IconData(0xf282, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pest_control</i> &#x2014; material icon named "pest control".
  static const IconData pest_control = IconData(0xe49f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pest_control</i> &#x2014; material icon named "pest control" (sharp).
  static const IconData pest_control_sharp = IconData(0xeb97, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pest_control</i> &#x2014; material icon named "pest control" (round).
  static const IconData pest_control_rounded = IconData(0xf0076, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pest_control</i> &#x2014; material icon named "pest control" (outlined).
  static const IconData pest_control_outlined = IconData(0xf283, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pest_control_rodent</i> &#x2014; material icon named "pest control rodent".
  static const IconData pest_control_rodent = IconData(0xe4a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pest_control_rodent</i> &#x2014; material icon named "pest control rodent" (sharp).
  static const IconData pest_control_rodent_sharp = IconData(0xeb96, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pest_control_rodent</i> &#x2014; material icon named "pest control rodent" (round).
  static const IconData pest_control_rodent_rounded = IconData(0xf0075, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pest_control_rodent</i> &#x2014; material icon named "pest control rodent" (outlined).
  static const IconData pest_control_rodent_outlined = IconData(0xf284, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pets</i> &#x2014; material icon named "pets".
  static const IconData pets = IconData(0xe4a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pets</i> &#x2014; material icon named "pets" (sharp).
  static const IconData pets_sharp = IconData(0xeb98, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pets</i> &#x2014; material icon named "pets" (round).
  static const IconData pets_rounded = IconData(0xf0077, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pets</i> &#x2014; material icon named "pets" (outlined).
  static const IconData pets_outlined = IconData(0xf285, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phishing</i> &#x2014; material icon named "phishing".
  static const IconData phishing = IconData(0xf0548, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phishing</i> &#x2014; material icon named "phishing" (sharp).
  static const IconData phishing_sharp = IconData(0xf0452, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phishing</i> &#x2014; material icon named "phishing" (round).
  static const IconData phishing_rounded = IconData(0xf035f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phishing</i> &#x2014; material icon named "phishing" (outlined).
  static const IconData phishing_outlined = IconData(0xf0640, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phone</i> &#x2014; material icon named "phone".
  static const IconData phone = IconData(0xe4a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phone</i> &#x2014; material icon named "phone" (sharp).
  static const IconData phone_sharp = IconData(0xeba4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phone</i> &#x2014; material icon named "phone" (round).
  static const IconData phone_rounded = IconData(0xf0083, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phone</i> &#x2014; material icon named "phone" (outlined).
  static const IconData phone_outlined = IconData(0xf290, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phone_android</i> &#x2014; material icon named "phone android".
  static const IconData phone_android = IconData(0xe4a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phone_android</i> &#x2014; material icon named "phone android" (sharp).
  static const IconData phone_android_sharp = IconData(0xeb99, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phone_android</i> &#x2014; material icon named "phone android" (round).
  static const IconData phone_android_rounded = IconData(0xf0078, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phone_android</i> &#x2014; material icon named "phone android" (outlined).
  static const IconData phone_android_outlined = IconData(0xf286, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phone_bluetooth_speaker</i> &#x2014; material icon named "phone bluetooth speaker".
  static const IconData phone_bluetooth_speaker = IconData(0xe4a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phone_bluetooth_speaker</i> &#x2014; material icon named "phone bluetooth speaker" (sharp).
  static const IconData phone_bluetooth_speaker_sharp = IconData(0xeb9a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phone_bluetooth_speaker</i> &#x2014; material icon named "phone bluetooth speaker" (round).
  static const IconData phone_bluetooth_speaker_rounded = IconData(0xf0079, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phone_bluetooth_speaker</i> &#x2014; material icon named "phone bluetooth speaker" (outlined).
  static const IconData phone_bluetooth_speaker_outlined = IconData(0xf287, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phone_callback</i> &#x2014; material icon named "phone callback".
  static const IconData phone_callback = IconData(0xe4a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phone_callback</i> &#x2014; material icon named "phone callback" (sharp).
  static const IconData phone_callback_sharp = IconData(0xeb9b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phone_callback</i> &#x2014; material icon named "phone callback" (round).
  static const IconData phone_callback_rounded = IconData(0xf007a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phone_callback</i> &#x2014; material icon named "phone callback" (outlined).
  static const IconData phone_callback_outlined = IconData(0xf288, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phone_disabled</i> &#x2014; material icon named "phone disabled".
  static const IconData phone_disabled = IconData(0xe4a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phone_disabled</i> &#x2014; material icon named "phone disabled" (sharp).
  static const IconData phone_disabled_sharp = IconData(0xeb9c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phone_disabled</i> &#x2014; material icon named "phone disabled" (round).
  static const IconData phone_disabled_rounded = IconData(0xf007b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phone_disabled</i> &#x2014; material icon named "phone disabled" (outlined).
  static const IconData phone_disabled_outlined = IconData(0xf289, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phone_enabled</i> &#x2014; material icon named "phone enabled".
  static const IconData phone_enabled = IconData(0xe4a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phone_enabled</i> &#x2014; material icon named "phone enabled" (sharp).
  static const IconData phone_enabled_sharp = IconData(0xeb9d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phone_enabled</i> &#x2014; material icon named "phone enabled" (round).
  static const IconData phone_enabled_rounded = IconData(0xf007c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phone_enabled</i> &#x2014; material icon named "phone enabled" (outlined).
  static const IconData phone_enabled_outlined = IconData(0xf28a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phone_forwarded</i> &#x2014; material icon named "phone forwarded".
  static const IconData phone_forwarded = IconData(0xe4a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phone_forwarded</i> &#x2014; material icon named "phone forwarded" (sharp).
  static const IconData phone_forwarded_sharp = IconData(0xeb9e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phone_forwarded</i> &#x2014; material icon named "phone forwarded" (round).
  static const IconData phone_forwarded_rounded = IconData(0xf007d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phone_forwarded</i> &#x2014; material icon named "phone forwarded" (outlined).
  static const IconData phone_forwarded_outlined = IconData(0xf28b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phone_in_talk</i> &#x2014; material icon named "phone in talk".
  static const IconData phone_in_talk = IconData(0xe4a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phone_in_talk</i> &#x2014; material icon named "phone in talk" (sharp).
  static const IconData phone_in_talk_sharp = IconData(0xeb9f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phone_in_talk</i> &#x2014; material icon named "phone in talk" (round).
  static const IconData phone_in_talk_rounded = IconData(0xf007e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phone_in_talk</i> &#x2014; material icon named "phone in talk" (outlined).
  static const IconData phone_in_talk_outlined = IconData(0xf28c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phone_iphone</i> &#x2014; material icon named "phone iphone".
  static const IconData phone_iphone = IconData(0xe4aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phone_iphone</i> &#x2014; material icon named "phone iphone" (sharp).
  static const IconData phone_iphone_sharp = IconData(0xeba0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phone_iphone</i> &#x2014; material icon named "phone iphone" (round).
  static const IconData phone_iphone_rounded = IconData(0xf007f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phone_iphone</i> &#x2014; material icon named "phone iphone" (outlined).
  static const IconData phone_iphone_outlined = IconData(0xf28d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phone_locked</i> &#x2014; material icon named "phone locked".
  static const IconData phone_locked = IconData(0xe4ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phone_locked</i> &#x2014; material icon named "phone locked" (sharp).
  static const IconData phone_locked_sharp = IconData(0xeba1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phone_locked</i> &#x2014; material icon named "phone locked" (round).
  static const IconData phone_locked_rounded = IconData(0xf0080, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phone_locked</i> &#x2014; material icon named "phone locked" (outlined).
  static const IconData phone_locked_outlined = IconData(0xf28e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phone_missed</i> &#x2014; material icon named "phone missed".
  static const IconData phone_missed = IconData(0xe4ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phone_missed</i> &#x2014; material icon named "phone missed" (sharp).
  static const IconData phone_missed_sharp = IconData(0xeba2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phone_missed</i> &#x2014; material icon named "phone missed" (round).
  static const IconData phone_missed_rounded = IconData(0xf0081, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phone_missed</i> &#x2014; material icon named "phone missed" (outlined).
  static const IconData phone_missed_outlined = IconData(0xf28f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phone_paused</i> &#x2014; material icon named "phone paused".
  static const IconData phone_paused = IconData(0xe4ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phone_paused</i> &#x2014; material icon named "phone paused" (sharp).
  static const IconData phone_paused_sharp = IconData(0xeba3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phone_paused</i> &#x2014; material icon named "phone paused" (round).
  static const IconData phone_paused_rounded = IconData(0xf0082, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phone_paused</i> &#x2014; material icon named "phone paused" (outlined).
  static const IconData phone_paused_outlined = IconData(0xf291, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phonelink</i> &#x2014; material icon named "phonelink".
  static const IconData phonelink = IconData(0xe4ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phonelink</i> &#x2014; material icon named "phonelink" (sharp).
  static const IconData phonelink_sharp = IconData(0xebaa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phonelink</i> &#x2014; material icon named "phonelink" (round).
  static const IconData phonelink_rounded = IconData(0xf0088, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phonelink</i> &#x2014; material icon named "phonelink" (outlined).
  static const IconData phonelink_outlined = IconData(0xf295, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phonelink_erase</i> &#x2014; material icon named "phonelink erase".
  static const IconData phonelink_erase = IconData(0xe4af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phonelink_erase</i> &#x2014; material icon named "phonelink erase" (sharp).
  static const IconData phonelink_erase_sharp = IconData(0xeba5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phonelink_erase</i> &#x2014; material icon named "phonelink erase" (round).
  static const IconData phonelink_erase_rounded = IconData(0xf0084, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phonelink_erase</i> &#x2014; material icon named "phonelink erase" (outlined).
  static const IconData phonelink_erase_outlined = IconData(0xf292, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phonelink_lock</i> &#x2014; material icon named "phonelink lock".
  static const IconData phonelink_lock = IconData(0xe4b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phonelink_lock</i> &#x2014; material icon named "phonelink lock" (sharp).
  static const IconData phonelink_lock_sharp = IconData(0xeba6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phonelink_lock</i> &#x2014; material icon named "phonelink lock" (round).
  static const IconData phonelink_lock_rounded = IconData(0xf0085, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phonelink_lock</i> &#x2014; material icon named "phonelink lock" (outlined).
  static const IconData phonelink_lock_outlined = IconData(0xf293, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phonelink_off</i> &#x2014; material icon named "phonelink off".
  static const IconData phonelink_off = IconData(0xe4b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phonelink_off</i> &#x2014; material icon named "phonelink off" (sharp).
  static const IconData phonelink_off_sharp = IconData(0xeba7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phonelink_off</i> &#x2014; material icon named "phonelink off" (round).
  static const IconData phonelink_off_rounded = IconData(0xf0086, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phonelink_off</i> &#x2014; material icon named "phonelink off" (outlined).
  static const IconData phonelink_off_outlined = IconData(0xf294, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phonelink_ring</i> &#x2014; material icon named "phonelink ring".
  static const IconData phonelink_ring = IconData(0xe4b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phonelink_ring</i> &#x2014; material icon named "phonelink ring" (sharp).
  static const IconData phonelink_ring_sharp = IconData(0xeba8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phonelink_ring</i> &#x2014; material icon named "phonelink ring" (round).
  static const IconData phonelink_ring_rounded = IconData(0xf0087, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phonelink_ring</i> &#x2014; material icon named "phonelink ring" (outlined).
  static const IconData phonelink_ring_outlined = IconData(0xf296, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">phonelink_setup</i> &#x2014; material icon named "phonelink setup".
  static const IconData phonelink_setup = IconData(0xe4b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">phonelink_setup</i> &#x2014; material icon named "phonelink setup" (sharp).
  static const IconData phonelink_setup_sharp = IconData(0xeba9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">phonelink_setup</i> &#x2014; material icon named "phonelink setup" (round).
  static const IconData phonelink_setup_rounded = IconData(0xf0089, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">phonelink_setup</i> &#x2014; material icon named "phonelink setup" (outlined).
  static const IconData phonelink_setup_outlined = IconData(0xf297, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">photo</i> &#x2014; material icon named "photo".
  static const IconData photo = IconData(0xe4b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">photo</i> &#x2014; material icon named "photo" (sharp).
  static const IconData photo_sharp = IconData(0xebb1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">photo</i> &#x2014; material icon named "photo" (round).
  static const IconData photo_rounded = IconData(0xf0090, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">photo</i> &#x2014; material icon named "photo" (outlined).
  static const IconData photo_outlined = IconData(0xf29e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">photo_album</i> &#x2014; material icon named "photo album".
  static const IconData photo_album = IconData(0xe4b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">photo_album</i> &#x2014; material icon named "photo album" (sharp).
  static const IconData photo_album_sharp = IconData(0xebab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">photo_album</i> &#x2014; material icon named "photo album" (round).
  static const IconData photo_album_rounded = IconData(0xf008a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">photo_album</i> &#x2014; material icon named "photo album" (outlined).
  static const IconData photo_album_outlined = IconData(0xf298, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">photo_camera</i> &#x2014; material icon named "photo camera".
  static const IconData photo_camera = IconData(0xe4b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">photo_camera</i> &#x2014; material icon named "photo camera" (sharp).
  static const IconData photo_camera_sharp = IconData(0xebae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">photo_camera</i> &#x2014; material icon named "photo camera" (round).
  static const IconData photo_camera_rounded = IconData(0xf008d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">photo_camera</i> &#x2014; material icon named "photo camera" (outlined).
  static const IconData photo_camera_outlined = IconData(0xf29b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">photo_camera_back</i> &#x2014; material icon named "photo camera back".
  static const IconData photo_camera_back = IconData(0xe4b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">photo_camera_back</i> &#x2014; material icon named "photo camera back" (sharp).
  static const IconData photo_camera_back_sharp = IconData(0xebac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">photo_camera_back</i> &#x2014; material icon named "photo camera back" (round).
  static const IconData photo_camera_back_rounded = IconData(0xf008b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">photo_camera_back</i> &#x2014; material icon named "photo camera back" (outlined).
  static const IconData photo_camera_back_outlined = IconData(0xf299, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">photo_camera_front</i> &#x2014; material icon named "photo camera front".
  static const IconData photo_camera_front = IconData(0xe4b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">photo_camera_front</i> &#x2014; material icon named "photo camera front" (sharp).
  static const IconData photo_camera_front_sharp = IconData(0xebad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">photo_camera_front</i> &#x2014; material icon named "photo camera front" (round).
  static const IconData photo_camera_front_rounded = IconData(0xf008c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">photo_camera_front</i> &#x2014; material icon named "photo camera front" (outlined).
  static const IconData photo_camera_front_outlined = IconData(0xf29a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">photo_filter</i> &#x2014; material icon named "photo filter".
  static const IconData photo_filter = IconData(0xe4b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">photo_filter</i> &#x2014; material icon named "photo filter" (sharp).
  static const IconData photo_filter_sharp = IconData(0xebaf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">photo_filter</i> &#x2014; material icon named "photo filter" (round).
  static const IconData photo_filter_rounded = IconData(0xf008e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">photo_filter</i> &#x2014; material icon named "photo filter" (outlined).
  static const IconData photo_filter_outlined = IconData(0xf29c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">photo_library</i> &#x2014; material icon named "photo library".
  static const IconData photo_library = IconData(0xe4ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">photo_library</i> &#x2014; material icon named "photo library" (sharp).
  static const IconData photo_library_sharp = IconData(0xebb0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">photo_library</i> &#x2014; material icon named "photo library" (round).
  static const IconData photo_library_rounded = IconData(0xf008f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">photo_library</i> &#x2014; material icon named "photo library" (outlined).
  static const IconData photo_library_outlined = IconData(0xf29d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">photo_size_select_actual</i> &#x2014; material icon named "photo size select actual".
  static const IconData photo_size_select_actual = IconData(0xe4bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">photo_size_select_actual</i> &#x2014; material icon named "photo size select actual" (sharp).
  static const IconData photo_size_select_actual_sharp = IconData(0xebb2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">photo_size_select_actual</i> &#x2014; material icon named "photo size select actual" (round).
  static const IconData photo_size_select_actual_rounded = IconData(0xf0091, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">photo_size_select_actual</i> &#x2014; material icon named "photo size select actual" (outlined).
  static const IconData photo_size_select_actual_outlined = IconData(0xf29f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">photo_size_select_large</i> &#x2014; material icon named "photo size select large".
  static const IconData photo_size_select_large = IconData(0xe4bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">photo_size_select_large</i> &#x2014; material icon named "photo size select large" (sharp).
  static const IconData photo_size_select_large_sharp = IconData(0xebb3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">photo_size_select_large</i> &#x2014; material icon named "photo size select large" (round).
  static const IconData photo_size_select_large_rounded = IconData(0xf0092, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">photo_size_select_large</i> &#x2014; material icon named "photo size select large" (outlined).
  static const IconData photo_size_select_large_outlined = IconData(0xf2a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">photo_size_select_small</i> &#x2014; material icon named "photo size select small".
  static const IconData photo_size_select_small = IconData(0xe4bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">photo_size_select_small</i> &#x2014; material icon named "photo size select small" (sharp).
  static const IconData photo_size_select_small_sharp = IconData(0xebb4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">photo_size_select_small</i> &#x2014; material icon named "photo size select small" (round).
  static const IconData photo_size_select_small_rounded = IconData(0xf0093, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">photo_size_select_small</i> &#x2014; material icon named "photo size select small" (outlined).
  static const IconData photo_size_select_small_outlined = IconData(0xf2a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">php</i> &#x2014; material icon named "php".
  static const IconData php = IconData(0xf0549, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">php</i> &#x2014; material icon named "php" (sharp).
  static const IconData php_sharp = IconData(0xf0453, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">php</i> &#x2014; material icon named "php" (round).
  static const IconData php_rounded = IconData(0xf0360, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">php</i> &#x2014; material icon named "php" (outlined).
  static const IconData php_outlined = IconData(0xf0641, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">piano</i> &#x2014; material icon named "piano".
  static const IconData piano = IconData(0xe4be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">piano</i> &#x2014; material icon named "piano" (sharp).
  static const IconData piano_sharp = IconData(0xebb6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">piano</i> &#x2014; material icon named "piano" (round).
  static const IconData piano_rounded = IconData(0xf0095, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">piano</i> &#x2014; material icon named "piano" (outlined).
  static const IconData piano_outlined = IconData(0xf2a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">piano_off</i> &#x2014; material icon named "piano off".
  static const IconData piano_off = IconData(0xe4bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">piano_off</i> &#x2014; material icon named "piano off" (sharp).
  static const IconData piano_off_sharp = IconData(0xebb5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">piano_off</i> &#x2014; material icon named "piano off" (round).
  static const IconData piano_off_rounded = IconData(0xf0094, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">piano_off</i> &#x2014; material icon named "piano off" (outlined).
  static const IconData piano_off_outlined = IconData(0xf2a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">picture_as_pdf</i> &#x2014; material icon named "picture as pdf".
  static const IconData picture_as_pdf = IconData(0xe4c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">picture_as_pdf</i> &#x2014; material icon named "picture as pdf" (sharp).
  static const IconData picture_as_pdf_sharp = IconData(0xebb7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">picture_as_pdf</i> &#x2014; material icon named "picture as pdf" (round).
  static const IconData picture_as_pdf_rounded = IconData(0xf0096, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">picture_as_pdf</i> &#x2014; material icon named "picture as pdf" (outlined).
  static const IconData picture_as_pdf_outlined = IconData(0xf2a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">picture_in_picture</i> &#x2014; material icon named "picture in picture".
  static const IconData picture_in_picture = IconData(0xe4c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">picture_in_picture</i> &#x2014; material icon named "picture in picture" (sharp).
  static const IconData picture_in_picture_sharp = IconData(0xebb9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">picture_in_picture</i> &#x2014; material icon named "picture in picture" (round).
  static const IconData picture_in_picture_rounded = IconData(0xf0098, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">picture_in_picture</i> &#x2014; material icon named "picture in picture" (outlined).
  static const IconData picture_in_picture_outlined = IconData(0xf2a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">picture_in_picture_alt</i> &#x2014; material icon named "picture in picture alt".
  static const IconData picture_in_picture_alt = IconData(0xe4c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">picture_in_picture_alt</i> &#x2014; material icon named "picture in picture alt" (sharp).
  static const IconData picture_in_picture_alt_sharp = IconData(0xebb8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">picture_in_picture_alt</i> &#x2014; material icon named "picture in picture alt" (round).
  static const IconData picture_in_picture_alt_rounded = IconData(0xf0097, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">picture_in_picture_alt</i> &#x2014; material icon named "picture in picture alt" (outlined).
  static const IconData picture_in_picture_alt_outlined = IconData(0xf2a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pie_chart</i> &#x2014; material icon named "pie chart".
  static const IconData pie_chart = IconData(0xe4c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pie_chart</i> &#x2014; material icon named "pie chart" (sharp).
  static const IconData pie_chart_sharp = IconData(0xebbb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pie_chart</i> &#x2014; material icon named "pie chart" (round).
  static const IconData pie_chart_rounded = IconData(0xf009a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pie_chart_outline</i> &#x2014; material icon named "pie chart outline".
  static const IconData pie_chart_outline = IconData(0xe4c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pie_chart_outline</i> &#x2014; material icon named "pie chart outline" (sharp).
  static const IconData pie_chart_outline_sharp = IconData(0xebba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pie_chart_outline</i> &#x2014; material icon named "pie chart outline" (round).
  static const IconData pie_chart_outline_rounded = IconData(0xf0099, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pie_chart_outline</i> &#x2014; material icon named "pie chart outline" (outlined).
  static const IconData pie_chart_outline_outlined = IconData(0xf2a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pin</i> &#x2014; material icon named "pin".
  static const IconData pin = IconData(0xe4c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pin</i> &#x2014; material icon named "pin" (sharp).
  static const IconData pin_sharp = IconData(0xebbd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pin</i> &#x2014; material icon named "pin" (round).
  static const IconData pin_rounded = IconData(0xf009c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pin</i> &#x2014; material icon named "pin" (outlined).
  static const IconData pin_outlined = IconData(0xf2aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pin_drop</i> &#x2014; material icon named "pin drop".
  static const IconData pin_drop = IconData(0xe4c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pin_drop</i> &#x2014; material icon named "pin drop" (sharp).
  static const IconData pin_drop_sharp = IconData(0xebbc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pin_drop</i> &#x2014; material icon named "pin drop" (round).
  static const IconData pin_drop_rounded = IconData(0xf009b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pin_drop</i> &#x2014; material icon named "pin drop" (outlined).
  static const IconData pin_drop_outlined = IconData(0xf2a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pin_end</i> &#x2014; material icon named "pin end".
  static const IconData pin_end = IconData(0xf054b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pin_end</i> &#x2014; material icon named "pin end" (sharp).
  static const IconData pin_end_sharp = IconData(0xf0454, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pin_end</i> &#x2014; material icon named "pin end" (round).
  static const IconData pin_end_rounded = IconData(0xf0361, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pin_end</i> &#x2014; material icon named "pin end" (outlined).
  static const IconData pin_end_outlined = IconData(0xf0642, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pin_invoke</i> &#x2014; material icon named "pin invoke".
  static const IconData pin_invoke = IconData(0xf054c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pin_invoke</i> &#x2014; material icon named "pin invoke" (sharp).
  static const IconData pin_invoke_sharp = IconData(0xf0455, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pin_invoke</i> &#x2014; material icon named "pin invoke" (round).
  static const IconData pin_invoke_rounded = IconData(0xf0362, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pin_invoke</i> &#x2014; material icon named "pin invoke" (outlined).
  static const IconData pin_invoke_outlined = IconData(0xf0643, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pinch</i> &#x2014; material icon named "pinch".
  static const IconData pinch = IconData(0xf054d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pinch</i> &#x2014; material icon named "pinch" (sharp).
  static const IconData pinch_sharp = IconData(0xf0456, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pinch</i> &#x2014; material icon named "pinch" (round).
  static const IconData pinch_rounded = IconData(0xf0363, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pinch</i> &#x2014; material icon named "pinch" (outlined).
  static const IconData pinch_outlined = IconData(0xf0644, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pivot_table_chart</i> &#x2014; material icon named "pivot table chart".
  static const IconData pivot_table_chart = IconData(0xe4c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pivot_table_chart</i> &#x2014; material icon named "pivot table chart" (sharp).
  static const IconData pivot_table_chart_sharp = IconData(0xebbe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pivot_table_chart</i> &#x2014; material icon named "pivot table chart" (round).
  static const IconData pivot_table_chart_rounded = IconData(0xf009d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pivot_table_chart</i> &#x2014; material icon named "pivot table chart" (outlined).
  static const IconData pivot_table_chart_outlined = IconData(0xf2ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pix</i> &#x2014; material icon named "pix".
  static const IconData pix = IconData(0xf054e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pix</i> &#x2014; material icon named "pix" (sharp).
  static const IconData pix_sharp = IconData(0xf0457, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pix</i> &#x2014; material icon named "pix" (round).
  static const IconData pix_rounded = IconData(0xf0364, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pix</i> &#x2014; material icon named "pix" (outlined).
  static const IconData pix_outlined = IconData(0xf0645, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">place</i> &#x2014; material icon named "place".
  static const IconData place = IconData(0xe4c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">place</i> &#x2014; material icon named "place" (sharp).
  static const IconData place_sharp = IconData(0xebbf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">place</i> &#x2014; material icon named "place" (round).
  static const IconData place_rounded = IconData(0xf009e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">place</i> &#x2014; material icon named "place" (outlined).
  static const IconData place_outlined = IconData(0xf2ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">plagiarism</i> &#x2014; material icon named "plagiarism".
  static const IconData plagiarism = IconData(0xe4ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">plagiarism</i> &#x2014; material icon named "plagiarism" (sharp).
  static const IconData plagiarism_sharp = IconData(0xebc0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">plagiarism</i> &#x2014; material icon named "plagiarism" (round).
  static const IconData plagiarism_rounded = IconData(0xf009f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">plagiarism</i> &#x2014; material icon named "plagiarism" (outlined).
  static const IconData plagiarism_outlined = IconData(0xf2ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">play_arrow</i> &#x2014; material icon named "play arrow".
  static const IconData play_arrow = IconData(0xe4cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">play_arrow</i> &#x2014; material icon named "play arrow" (sharp).
  static const IconData play_arrow_sharp = IconData(0xebc1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">play_arrow</i> &#x2014; material icon named "play arrow" (round).
  static const IconData play_arrow_rounded = IconData(0xf00a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">play_arrow</i> &#x2014; material icon named "play arrow" (outlined).
  static const IconData play_arrow_outlined = IconData(0xf2ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">play_circle</i> &#x2014; material icon named "play circle".
  static const IconData play_circle = IconData(0xe4cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">play_circle</i> &#x2014; material icon named "play circle" (sharp).
  static const IconData play_circle_sharp = IconData(0xebc4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">play_circle</i> &#x2014; material icon named "play circle" (round).
  static const IconData play_circle_rounded = IconData(0xf00a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">play_circle</i> &#x2014; material icon named "play circle" (outlined).
  static const IconData play_circle_outlined = IconData(0xf2b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">play_circle_fill</i> &#x2014; material icon named "play circle fill".
  static const IconData play_circle_fill = IconData(0xe4cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">play_circle_fill</i> &#x2014; material icon named "play circle fill" (sharp).
  static const IconData play_circle_fill_sharp = IconData(0xebc2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">play_circle_fill</i> &#x2014; material icon named "play circle fill" (round).
  static const IconData play_circle_fill_rounded = IconData(0xf00a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">play_circle_fill</i> &#x2014; material icon named "play circle fill" (outlined).
  static const IconData play_circle_fill_outlined = IconData(0xf2af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">play_circle_filled</i> &#x2014; material icon named "play circle filled".
  static const IconData play_circle_filled = IconData(0xe4cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">play_circle_filled</i> &#x2014; material icon named "play circle filled" (sharp).
  static const IconData play_circle_filled_sharp = IconData(0xebc2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">play_circle_filled</i> &#x2014; material icon named "play circle filled" (round).
  static const IconData play_circle_filled_rounded = IconData(0xf00a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">play_circle_filled</i> &#x2014; material icon named "play circle filled" (outlined).
  static const IconData play_circle_filled_outlined = IconData(0xf2af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">play_circle_outline</i> &#x2014; material icon named "play circle outline".
  static const IconData play_circle_outline = IconData(0xe4ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">play_circle_outline</i> &#x2014; material icon named "play circle outline" (sharp).
  static const IconData play_circle_outline_sharp = IconData(0xebc3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">play_circle_outline</i> &#x2014; material icon named "play circle outline" (round).
  static const IconData play_circle_outline_rounded = IconData(0xf00a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">play_circle_outline</i> &#x2014; material icon named "play circle outline" (outlined).
  static const IconData play_circle_outline_outlined = IconData(0xf2b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">play_disabled</i> &#x2014; material icon named "play disabled".
  static const IconData play_disabled = IconData(0xe4cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">play_disabled</i> &#x2014; material icon named "play disabled" (sharp).
  static const IconData play_disabled_sharp = IconData(0xebc5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">play_disabled</i> &#x2014; material icon named "play disabled" (round).
  static const IconData play_disabled_rounded = IconData(0xf00a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">play_disabled</i> &#x2014; material icon named "play disabled" (outlined).
  static const IconData play_disabled_outlined = IconData(0xf2b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">play_for_work</i> &#x2014; material icon named "play for work".
  static const IconData play_for_work = IconData(0xe4d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">play_for_work</i> &#x2014; material icon named "play for work" (sharp).
  static const IconData play_for_work_sharp = IconData(0xebc6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">play_for_work</i> &#x2014; material icon named "play for work" (round).
  static const IconData play_for_work_rounded = IconData(0xf00a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">play_for_work</i> &#x2014; material icon named "play for work" (outlined).
  static const IconData play_for_work_outlined = IconData(0xf2b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">play_lesson</i> &#x2014; material icon named "play lesson".
  static const IconData play_lesson = IconData(0xe4d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">play_lesson</i> &#x2014; material icon named "play lesson" (sharp).
  static const IconData play_lesson_sharp = IconData(0xebc7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">play_lesson</i> &#x2014; material icon named "play lesson" (round).
  static const IconData play_lesson_rounded = IconData(0xf00a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">play_lesson</i> &#x2014; material icon named "play lesson" (outlined).
  static const IconData play_lesson_outlined = IconData(0xf2b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">playlist_add</i> &#x2014; material icon named "playlist add".
  static const IconData playlist_add = IconData(0xe4d2, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">playlist_add</i> &#x2014; material icon named "playlist add" (sharp).
  static const IconData playlist_add_sharp = IconData(0xebc9, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">playlist_add</i> &#x2014; material icon named "playlist add" (round).
  static const IconData playlist_add_rounded = IconData(0xf00a8, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">playlist_add</i> &#x2014; material icon named "playlist add" (outlined).
  static const IconData playlist_add_outlined = IconData(0xf2b6, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">playlist_add_check</i> &#x2014; material icon named "playlist add check".
  static const IconData playlist_add_check = IconData(0xe4d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">playlist_add_check</i> &#x2014; material icon named "playlist add check" (sharp).
  static const IconData playlist_add_check_sharp = IconData(0xebc8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">playlist_add_check</i> &#x2014; material icon named "playlist add check" (round).
  static const IconData playlist_add_check_rounded = IconData(0xf00a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">playlist_add_check</i> &#x2014; material icon named "playlist add check" (outlined).
  static const IconData playlist_add_check_outlined = IconData(0xf2b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">playlist_add_check_circle</i> &#x2014; material icon named "playlist add check circle".
  static const IconData playlist_add_check_circle = IconData(0xf054f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">playlist_add_check_circle</i> &#x2014; material icon named "playlist add check circle" (sharp).
  static const IconData playlist_add_check_circle_sharp = IconData(0xf0458, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">playlist_add_check_circle</i> &#x2014; material icon named "playlist add check circle" (round).
  static const IconData playlist_add_check_circle_rounded = IconData(0xf0365, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">playlist_add_check_circle</i> &#x2014; material icon named "playlist add check circle" (outlined).
  static const IconData playlist_add_check_circle_outlined = IconData(0xf0646, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">playlist_add_circle</i> &#x2014; material icon named "playlist add circle".
  static const IconData playlist_add_circle = IconData(0xf0550, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">playlist_add_circle</i> &#x2014; material icon named "playlist add circle" (sharp).
  static const IconData playlist_add_circle_sharp = IconData(0xf0459, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">playlist_add_circle</i> &#x2014; material icon named "playlist add circle" (round).
  static const IconData playlist_add_circle_rounded = IconData(0xf0366, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">playlist_add_circle</i> &#x2014; material icon named "playlist add circle" (outlined).
  static const IconData playlist_add_circle_outlined = IconData(0xf0647, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">playlist_play</i> &#x2014; material icon named "playlist play".
  static const IconData playlist_play = IconData(0xe4d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">playlist_play</i> &#x2014; material icon named "playlist play" (sharp).
  static const IconData playlist_play_sharp = IconData(0xebca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">playlist_play</i> &#x2014; material icon named "playlist play" (round).
  static const IconData playlist_play_rounded = IconData(0xf00a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">playlist_play</i> &#x2014; material icon named "playlist play" (outlined).
  static const IconData playlist_play_outlined = IconData(0xf2b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">playlist_remove</i> &#x2014; material icon named "playlist remove".
  static const IconData playlist_remove = IconData(0xf0551, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">playlist_remove</i> &#x2014; material icon named "playlist remove" (sharp).
  static const IconData playlist_remove_sharp = IconData(0xf045a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">playlist_remove</i> &#x2014; material icon named "playlist remove" (round).
  static const IconData playlist_remove_rounded = IconData(0xf0367, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">playlist_remove</i> &#x2014; material icon named "playlist remove" (outlined).
  static const IconData playlist_remove_outlined = IconData(0xf0648, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">plumbing</i> &#x2014; material icon named "plumbing".
  static const IconData plumbing = IconData(0xe4d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">plumbing</i> &#x2014; material icon named "plumbing" (sharp).
  static const IconData plumbing_sharp = IconData(0xebcb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">plumbing</i> &#x2014; material icon named "plumbing" (round).
  static const IconData plumbing_rounded = IconData(0xf00aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">plumbing</i> &#x2014; material icon named "plumbing" (outlined).
  static const IconData plumbing_outlined = IconData(0xf2b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">plus_one</i> &#x2014; material icon named "plus one".
  static const IconData plus_one = IconData(0xe4d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">plus_one</i> &#x2014; material icon named "plus one" (sharp).
  static const IconData plus_one_sharp = IconData(0xebcc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">plus_one</i> &#x2014; material icon named "plus one" (round).
  static const IconData plus_one_rounded = IconData(0xf00ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">plus_one</i> &#x2014; material icon named "plus one" (outlined).
  static const IconData plus_one_outlined = IconData(0xf2b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">podcasts</i> &#x2014; material icon named "podcasts".
  static const IconData podcasts = IconData(0xe4d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">podcasts</i> &#x2014; material icon named "podcasts" (sharp).
  static const IconData podcasts_sharp = IconData(0xebcd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">podcasts</i> &#x2014; material icon named "podcasts" (round).
  static const IconData podcasts_rounded = IconData(0xf00ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">podcasts</i> &#x2014; material icon named "podcasts" (outlined).
  static const IconData podcasts_outlined = IconData(0xf2ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">point_of_sale</i> &#x2014; material icon named "point of sale".
  static const IconData point_of_sale = IconData(0xe4d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">point_of_sale</i> &#x2014; material icon named "point of sale" (sharp).
  static const IconData point_of_sale_sharp = IconData(0xebce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">point_of_sale</i> &#x2014; material icon named "point of sale" (round).
  static const IconData point_of_sale_rounded = IconData(0xf00ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">point_of_sale</i> &#x2014; material icon named "point of sale" (outlined).
  static const IconData point_of_sale_outlined = IconData(0xf2bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">policy</i> &#x2014; material icon named "policy".
  static const IconData policy = IconData(0xe4d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">policy</i> &#x2014; material icon named "policy" (sharp).
  static const IconData policy_sharp = IconData(0xebcf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">policy</i> &#x2014; material icon named "policy" (round).
  static const IconData policy_rounded = IconData(0xf00ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">policy</i> &#x2014; material icon named "policy" (outlined).
  static const IconData policy_outlined = IconData(0xf2bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">poll</i> &#x2014; material icon named "poll".
  static const IconData poll = IconData(0xe4da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">poll</i> &#x2014; material icon named "poll" (sharp).
  static const IconData poll_sharp = IconData(0xebd0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">poll</i> &#x2014; material icon named "poll" (round).
  static const IconData poll_rounded = IconData(0xf00af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">poll</i> &#x2014; material icon named "poll" (outlined).
  static const IconData poll_outlined = IconData(0xf2bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">polyline</i> &#x2014; material icon named "polyline".
  static const IconData polyline = IconData(0xf0552, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">polyline</i> &#x2014; material icon named "polyline" (sharp).
  static const IconData polyline_sharp = IconData(0xf045b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">polyline</i> &#x2014; material icon named "polyline" (round).
  static const IconData polyline_rounded = IconData(0xf0368, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">polyline</i> &#x2014; material icon named "polyline" (outlined).
  static const IconData polyline_outlined = IconData(0xf0649, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">polymer</i> &#x2014; material icon named "polymer".
  static const IconData polymer = IconData(0xe4db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">polymer</i> &#x2014; material icon named "polymer" (sharp).
  static const IconData polymer_sharp = IconData(0xebd1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">polymer</i> &#x2014; material icon named "polymer" (round).
  static const IconData polymer_rounded = IconData(0xf00b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">polymer</i> &#x2014; material icon named "polymer" (outlined).
  static const IconData polymer_outlined = IconData(0xf2be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pool</i> &#x2014; material icon named "pool".
  static const IconData pool = IconData(0xe4dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pool</i> &#x2014; material icon named "pool" (sharp).
  static const IconData pool_sharp = IconData(0xebd2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pool</i> &#x2014; material icon named "pool" (round).
  static const IconData pool_rounded = IconData(0xf00b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pool</i> &#x2014; material icon named "pool" (outlined).
  static const IconData pool_outlined = IconData(0xf2bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">portable_wifi_off</i> &#x2014; material icon named "portable wifi off".
  static const IconData portable_wifi_off = IconData(0xe4dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">portable_wifi_off</i> &#x2014; material icon named "portable wifi off" (sharp).
  static const IconData portable_wifi_off_sharp = IconData(0xebd3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">portable_wifi_off</i> &#x2014; material icon named "portable wifi off" (round).
  static const IconData portable_wifi_off_rounded = IconData(0xf00b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">portable_wifi_off</i> &#x2014; material icon named "portable wifi off" (outlined).
  static const IconData portable_wifi_off_outlined = IconData(0xf2c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">portrait</i> &#x2014; material icon named "portrait".
  static const IconData portrait = IconData(0xe4de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">portrait</i> &#x2014; material icon named "portrait" (sharp).
  static const IconData portrait_sharp = IconData(0xebd4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">portrait</i> &#x2014; material icon named "portrait" (round).
  static const IconData portrait_rounded = IconData(0xf00b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">portrait</i> &#x2014; material icon named "portrait" (outlined).
  static const IconData portrait_outlined = IconData(0xf2c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">post_add</i> &#x2014; material icon named "post add".
  static const IconData post_add = IconData(0xe4df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">post_add</i> &#x2014; material icon named "post add" (sharp).
  static const IconData post_add_sharp = IconData(0xebd5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">post_add</i> &#x2014; material icon named "post add" (round).
  static const IconData post_add_rounded = IconData(0xf00b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">post_add</i> &#x2014; material icon named "post add" (outlined).
  static const IconData post_add_outlined = IconData(0xf2c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">power</i> &#x2014; material icon named "power".
  static const IconData power = IconData(0xe4e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">power</i> &#x2014; material icon named "power" (sharp).
  static const IconData power_sharp = IconData(0xebd9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">power</i> &#x2014; material icon named "power" (round).
  static const IconData power_rounded = IconData(0xf00b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">power</i> &#x2014; material icon named "power" (outlined).
  static const IconData power_outlined = IconData(0xf2c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">power_input</i> &#x2014; material icon named "power input".
  static const IconData power_input = IconData(0xe4e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">power_input</i> &#x2014; material icon named "power input" (sharp).
  static const IconData power_input_sharp = IconData(0xebd6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">power_input</i> &#x2014; material icon named "power input" (round).
  static const IconData power_input_rounded = IconData(0xf00b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">power_input</i> &#x2014; material icon named "power input" (outlined).
  static const IconData power_input_outlined = IconData(0xf2c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">power_off</i> &#x2014; material icon named "power off".
  static const IconData power_off = IconData(0xe4e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">power_off</i> &#x2014; material icon named "power off" (sharp).
  static const IconData power_off_sharp = IconData(0xebd7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">power_off</i> &#x2014; material icon named "power off" (round).
  static const IconData power_off_rounded = IconData(0xf00b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">power_off</i> &#x2014; material icon named "power off" (outlined).
  static const IconData power_off_outlined = IconData(0xf2c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">power_settings_new</i> &#x2014; material icon named "power settings new".
  static const IconData power_settings_new = IconData(0xe4e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">power_settings_new</i> &#x2014; material icon named "power settings new" (sharp).
  static const IconData power_settings_new_sharp = IconData(0xebd8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">power_settings_new</i> &#x2014; material icon named "power settings new" (round).
  static const IconData power_settings_new_rounded = IconData(0xf00b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">power_settings_new</i> &#x2014; material icon named "power settings new" (outlined).
  static const IconData power_settings_new_outlined = IconData(0xf2c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">precision_manufacturing</i> &#x2014; material icon named "precision manufacturing".
  static const IconData precision_manufacturing = IconData(0xe4e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">precision_manufacturing</i> &#x2014; material icon named "precision manufacturing" (sharp).
  static const IconData precision_manufacturing_sharp = IconData(0xebda, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">precision_manufacturing</i> &#x2014; material icon named "precision manufacturing" (round).
  static const IconData precision_manufacturing_rounded = IconData(0xf00b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">precision_manufacturing</i> &#x2014; material icon named "precision manufacturing" (outlined).
  static const IconData precision_manufacturing_outlined = IconData(0xf2c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">pregnant_woman</i> &#x2014; material icon named "pregnant woman".
  static const IconData pregnant_woman = IconData(0xe4e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">pregnant_woman</i> &#x2014; material icon named "pregnant woman" (sharp).
  static const IconData pregnant_woman_sharp = IconData(0xebdb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">pregnant_woman</i> &#x2014; material icon named "pregnant woman" (round).
  static const IconData pregnant_woman_rounded = IconData(0xf00ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">pregnant_woman</i> &#x2014; material icon named "pregnant woman" (outlined).
  static const IconData pregnant_woman_outlined = IconData(0xf2c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">present_to_all</i> &#x2014; material icon named "present to all".
  static const IconData present_to_all = IconData(0xe4e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">present_to_all</i> &#x2014; material icon named "present to all" (sharp).
  static const IconData present_to_all_sharp = IconData(0xebdc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">present_to_all</i> &#x2014; material icon named "present to all" (round).
  static const IconData present_to_all_rounded = IconData(0xf00bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">present_to_all</i> &#x2014; material icon named "present to all" (outlined).
  static const IconData present_to_all_outlined = IconData(0xf2c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">preview</i> &#x2014; material icon named "preview".
  static const IconData preview = IconData(0xe4e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">preview</i> &#x2014; material icon named "preview" (sharp).
  static const IconData preview_sharp = IconData(0xebdd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">preview</i> &#x2014; material icon named "preview" (round).
  static const IconData preview_rounded = IconData(0xf00bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">preview</i> &#x2014; material icon named "preview" (outlined).
  static const IconData preview_outlined = IconData(0xf2ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">price_change</i> &#x2014; material icon named "price change".
  static const IconData price_change = IconData(0xe4e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">price_change</i> &#x2014; material icon named "price change" (sharp).
  static const IconData price_change_sharp = IconData(0xebde, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">price_change</i> &#x2014; material icon named "price change" (round).
  static const IconData price_change_rounded = IconData(0xf00bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">price_change</i> &#x2014; material icon named "price change" (outlined).
  static const IconData price_change_outlined = IconData(0xf2cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">price_check</i> &#x2014; material icon named "price check".
  static const IconData price_check = IconData(0xe4e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">price_check</i> &#x2014; material icon named "price check" (sharp).
  static const IconData price_check_sharp = IconData(0xebdf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">price_check</i> &#x2014; material icon named "price check" (round).
  static const IconData price_check_rounded = IconData(0xf00be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">price_check</i> &#x2014; material icon named "price check" (outlined).
  static const IconData price_check_outlined = IconData(0xf2cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">print</i> &#x2014; material icon named "print".
  static const IconData print = IconData(0xe4ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">print</i> &#x2014; material icon named "print" (sharp).
  static const IconData print_sharp = IconData(0xebe1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">print</i> &#x2014; material icon named "print" (round).
  static const IconData print_rounded = IconData(0xf00c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">print</i> &#x2014; material icon named "print" (outlined).
  static const IconData print_outlined = IconData(0xf2ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">print_disabled</i> &#x2014; material icon named "print disabled".
  static const IconData print_disabled = IconData(0xe4eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">print_disabled</i> &#x2014; material icon named "print disabled" (sharp).
  static const IconData print_disabled_sharp = IconData(0xebe0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">print_disabled</i> &#x2014; material icon named "print disabled" (round).
  static const IconData print_disabled_rounded = IconData(0xf00bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">print_disabled</i> &#x2014; material icon named "print disabled" (outlined).
  static const IconData print_disabled_outlined = IconData(0xf2cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">priority_high</i> &#x2014; material icon named "priority high".
  static const IconData priority_high = IconData(0xe4ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">priority_high</i> &#x2014; material icon named "priority high" (sharp).
  static const IconData priority_high_sharp = IconData(0xebe2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">priority_high</i> &#x2014; material icon named "priority high" (round).
  static const IconData priority_high_rounded = IconData(0xf00c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">priority_high</i> &#x2014; material icon named "priority high" (outlined).
  static const IconData priority_high_outlined = IconData(0xf2cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">privacy_tip</i> &#x2014; material icon named "privacy tip".
  static const IconData privacy_tip = IconData(0xe4ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">privacy_tip</i> &#x2014; material icon named "privacy tip" (sharp).
  static const IconData privacy_tip_sharp = IconData(0xebe3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">privacy_tip</i> &#x2014; material icon named "privacy tip" (round).
  static const IconData privacy_tip_rounded = IconData(0xf00c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">privacy_tip</i> &#x2014; material icon named "privacy tip" (outlined).
  static const IconData privacy_tip_outlined = IconData(0xf2d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">private_connectivity</i> &#x2014; material icon named "private connectivity".
  static const IconData private_connectivity = IconData(0xf0553, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">private_connectivity</i> &#x2014; material icon named "private connectivity" (sharp).
  static const IconData private_connectivity_sharp = IconData(0xf045c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">private_connectivity</i> &#x2014; material icon named "private connectivity" (round).
  static const IconData private_connectivity_rounded = IconData(0xf0369, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">private_connectivity</i> &#x2014; material icon named "private connectivity" (outlined).
  static const IconData private_connectivity_outlined = IconData(0xf064a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">production_quantity_limits</i> &#x2014; material icon named "production quantity limits".
  static const IconData production_quantity_limits = IconData(0xe4ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">production_quantity_limits</i> &#x2014; material icon named "production quantity limits" (sharp).
  static const IconData production_quantity_limits_sharp = IconData(0xebe4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">production_quantity_limits</i> &#x2014; material icon named "production quantity limits" (round).
  static const IconData production_quantity_limits_rounded = IconData(0xf00c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">production_quantity_limits</i> &#x2014; material icon named "production quantity limits" (outlined).
  static const IconData production_quantity_limits_outlined = IconData(0xf2d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">propane</i> &#x2014; material icon named "propane".
  static const IconData propane = IconData(0xf07b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">propane</i> &#x2014; material icon named "propane" (sharp).
  static const IconData propane_sharp = IconData(0xf0761, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">propane</i> &#x2014; material icon named "propane" (round).
  static const IconData propane_rounded = IconData(0xf0811, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">propane</i> &#x2014; material icon named "propane" (outlined).
  static const IconData propane_outlined = IconData(0xf0709, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">propane_tank</i> &#x2014; material icon named "propane tank".
  static const IconData propane_tank = IconData(0xf07ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">propane_tank</i> &#x2014; material icon named "propane tank" (sharp).
  static const IconData propane_tank_sharp = IconData(0xf0762, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">propane_tank</i> &#x2014; material icon named "propane tank" (round).
  static const IconData propane_tank_rounded = IconData(0xf0812, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">propane_tank</i> &#x2014; material icon named "propane tank" (outlined).
  static const IconData propane_tank_outlined = IconData(0xf070a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">psychology</i> &#x2014; material icon named "psychology".
  static const IconData psychology = IconData(0xe4ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">psychology</i> &#x2014; material icon named "psychology" (sharp).
  static const IconData psychology_sharp = IconData(0xebe5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">psychology</i> &#x2014; material icon named "psychology" (round).
  static const IconData psychology_rounded = IconData(0xf00c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">psychology</i> &#x2014; material icon named "psychology" (outlined).
  static const IconData psychology_outlined = IconData(0xf2d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">public</i> &#x2014; material icon named "public".
  static const IconData public = IconData(0xe4f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">public</i> &#x2014; material icon named "public" (sharp).
  static const IconData public_sharp = IconData(0xebe7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">public</i> &#x2014; material icon named "public" (round).
  static const IconData public_rounded = IconData(0xf00c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">public</i> &#x2014; material icon named "public" (outlined).
  static const IconData public_outlined = IconData(0xf2d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">public_off</i> &#x2014; material icon named "public off".
  static const IconData public_off = IconData(0xe4f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">public_off</i> &#x2014; material icon named "public off" (sharp).
  static const IconData public_off_sharp = IconData(0xebe6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">public_off</i> &#x2014; material icon named "public off" (round).
  static const IconData public_off_rounded = IconData(0xf00c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">public_off</i> &#x2014; material icon named "public off" (outlined).
  static const IconData public_off_outlined = IconData(0xf2d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">publish</i> &#x2014; material icon named "publish".
  static const IconData publish = IconData(0xe4f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">publish</i> &#x2014; material icon named "publish" (sharp).
  static const IconData publish_sharp = IconData(0xebe8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">publish</i> &#x2014; material icon named "publish" (round).
  static const IconData publish_rounded = IconData(0xf00c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">publish</i> &#x2014; material icon named "publish" (outlined).
  static const IconData publish_outlined = IconData(0xf2d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">published_with_changes</i> &#x2014; material icon named "published with changes".
  static const IconData published_with_changes = IconData(0xe4f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">published_with_changes</i> &#x2014; material icon named "published with changes" (sharp).
  static const IconData published_with_changes_sharp = IconData(0xebe9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">published_with_changes</i> &#x2014; material icon named "published with changes" (round).
  static const IconData published_with_changes_rounded = IconData(0xf00c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">published_with_changes</i> &#x2014; material icon named "published with changes" (outlined).
  static const IconData published_with_changes_outlined = IconData(0xf2d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">punch_clock</i> &#x2014; material icon named "punch clock".
  static const IconData punch_clock = IconData(0xf0554, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">punch_clock</i> &#x2014; material icon named "punch clock" (sharp).
  static const IconData punch_clock_sharp = IconData(0xf045d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">punch_clock</i> &#x2014; material icon named "punch clock" (round).
  static const IconData punch_clock_rounded = IconData(0xf036a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">punch_clock</i> &#x2014; material icon named "punch clock" (outlined).
  static const IconData punch_clock_outlined = IconData(0xf064b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">push_pin</i> &#x2014; material icon named "push pin".
  static const IconData push_pin = IconData(0xe4f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">push_pin</i> &#x2014; material icon named "push pin" (sharp).
  static const IconData push_pin_sharp = IconData(0xebea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">push_pin</i> &#x2014; material icon named "push pin" (round).
  static const IconData push_pin_rounded = IconData(0xf00c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">push_pin</i> &#x2014; material icon named "push pin" (outlined).
  static const IconData push_pin_outlined = IconData(0xf2d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">qr_code</i> &#x2014; material icon named "qr code".
  static const IconData qr_code = IconData(0xe4f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">qr_code</i> &#x2014; material icon named "qr code" (sharp).
  static const IconData qr_code_sharp = IconData(0xebed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">qr_code</i> &#x2014; material icon named "qr code" (round).
  static const IconData qr_code_rounded = IconData(0xf00cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">qr_code</i> &#x2014; material icon named "qr code" (outlined).
  static const IconData qr_code_outlined = IconData(0xf2d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">qr_code_2</i> &#x2014; material icon named "qr code 2".
  static const IconData qr_code_2 = IconData(0xe4f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">qr_code_2</i> &#x2014; material icon named "qr code 2" (sharp).
  static const IconData qr_code_2_sharp = IconData(0xebeb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">qr_code_2</i> &#x2014; material icon named "qr code 2" (round).
  static const IconData qr_code_2_rounded = IconData(0xf00ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">qr_code_2</i> &#x2014; material icon named "qr code 2" (outlined).
  static const IconData qr_code_2_outlined = IconData(0xf2d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">qr_code_scanner</i> &#x2014; material icon named "qr code scanner".
  static const IconData qr_code_scanner = IconData(0xe4f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">qr_code_scanner</i> &#x2014; material icon named "qr code scanner" (sharp).
  static const IconData qr_code_scanner_sharp = IconData(0xebec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">qr_code_scanner</i> &#x2014; material icon named "qr code scanner" (round).
  static const IconData qr_code_scanner_rounded = IconData(0xf00cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">qr_code_scanner</i> &#x2014; material icon named "qr code scanner" (outlined).
  static const IconData qr_code_scanner_outlined = IconData(0xf2da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">query_builder</i> &#x2014; material icon named "query builder".
  static const IconData query_builder = IconData(0xe4f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">query_builder</i> &#x2014; material icon named "query builder" (sharp).
  static const IconData query_builder_sharp = IconData(0xebee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">query_builder</i> &#x2014; material icon named "query builder" (round).
  static const IconData query_builder_rounded = IconData(0xf00cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">query_builder</i> &#x2014; material icon named "query builder" (outlined).
  static const IconData query_builder_outlined = IconData(0xf2db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">query_stats</i> &#x2014; material icon named "query stats".
  static const IconData query_stats = IconData(0xe4f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">query_stats</i> &#x2014; material icon named "query stats" (sharp).
  static const IconData query_stats_sharp = IconData(0xebef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">query_stats</i> &#x2014; material icon named "query stats" (round).
  static const IconData query_stats_rounded = IconData(0xf00ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">query_stats</i> &#x2014; material icon named "query stats" (outlined).
  static const IconData query_stats_outlined = IconData(0xf2dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">question_answer</i> &#x2014; material icon named "question answer".
  static const IconData question_answer = IconData(0xe4fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">question_answer</i> &#x2014; material icon named "question answer" (sharp).
  static const IconData question_answer_sharp = IconData(0xebf0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">question_answer</i> &#x2014; material icon named "question answer" (round).
  static const IconData question_answer_rounded = IconData(0xf00cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">question_answer</i> &#x2014; material icon named "question answer" (outlined).
  static const IconData question_answer_outlined = IconData(0xf2dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">question_mark</i> &#x2014; material icon named "question mark".
  static const IconData question_mark = IconData(0xf0555, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">question_mark</i> &#x2014; material icon named "question mark" (sharp).
  static const IconData question_mark_sharp = IconData(0xf045e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">question_mark</i> &#x2014; material icon named "question mark" (round).
  static const IconData question_mark_rounded = IconData(0xf036b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">question_mark</i> &#x2014; material icon named "question mark" (outlined).
  static const IconData question_mark_outlined = IconData(0xf064c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">queue</i> &#x2014; material icon named "queue".
  static const IconData queue = IconData(0xe4fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">queue</i> &#x2014; material icon named "queue" (sharp).
  static const IconData queue_sharp = IconData(0xebf3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">queue</i> &#x2014; material icon named "queue" (round).
  static const IconData queue_rounded = IconData(0xf00d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">queue</i> &#x2014; material icon named "queue" (outlined).
  static const IconData queue_outlined = IconData(0xf2df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">queue_music</i> &#x2014; material icon named "queue music".
  static const IconData queue_music = IconData(0xe4fc, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">queue_music</i> &#x2014; material icon named "queue music" (sharp).
  static const IconData queue_music_sharp = IconData(0xebf1, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">queue_music</i> &#x2014; material icon named "queue music" (round).
  static const IconData queue_music_rounded = IconData(0xf00d0, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">queue_music</i> &#x2014; material icon named "queue music" (outlined).
  static const IconData queue_music_outlined = IconData(0xf2de, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">queue_play_next</i> &#x2014; material icon named "queue play next".
  static const IconData queue_play_next = IconData(0xe4fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">queue_play_next</i> &#x2014; material icon named "queue play next" (sharp).
  static const IconData queue_play_next_sharp = IconData(0xebf2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">queue_play_next</i> &#x2014; material icon named "queue play next" (round).
  static const IconData queue_play_next_rounded = IconData(0xf00d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">queue_play_next</i> &#x2014; material icon named "queue play next" (outlined).
  static const IconData queue_play_next_outlined = IconData(0xf2e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">quick_contacts_dialer</i> &#x2014; material icon named "quick contacts dialer".
  static const IconData quick_contacts_dialer = IconData(0xe18c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">quick_contacts_dialer</i> &#x2014; material icon named "quick contacts dialer" (sharp).
  static const IconData quick_contacts_dialer_sharp = IconData(0xe889, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">quick_contacts_dialer</i> &#x2014; material icon named "quick contacts dialer" (round).
  static const IconData quick_contacts_dialer_rounded = IconData(0xf668, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">quick_contacts_dialer</i> &#x2014; material icon named "quick contacts dialer" (outlined).
  static const IconData quick_contacts_dialer_outlined = IconData(0xef7b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">quick_contacts_mail</i> &#x2014; material icon named "quick contacts mail".
  static const IconData quick_contacts_mail = IconData(0xe18a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">quick_contacts_mail</i> &#x2014; material icon named "quick contacts mail" (sharp).
  static const IconData quick_contacts_mail_sharp = IconData(0xe887, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">quick_contacts_mail</i> &#x2014; material icon named "quick contacts mail" (round).
  static const IconData quick_contacts_mail_rounded = IconData(0xf666, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">quick_contacts_mail</i> &#x2014; material icon named "quick contacts mail" (outlined).
  static const IconData quick_contacts_mail_outlined = IconData(0xef79, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">quickreply</i> &#x2014; material icon named "quickreply".
  static const IconData quickreply = IconData(0xe4fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">quickreply</i> &#x2014; material icon named "quickreply" (sharp).
  static const IconData quickreply_sharp = IconData(0xebf4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">quickreply</i> &#x2014; material icon named "quickreply" (round).
  static const IconData quickreply_rounded = IconData(0xf00d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">quickreply</i> &#x2014; material icon named "quickreply" (outlined).
  static const IconData quickreply_outlined = IconData(0xf2e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">quiz</i> &#x2014; material icon named "quiz".
  static const IconData quiz = IconData(0xe4ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">quiz</i> &#x2014; material icon named "quiz" (sharp).
  static const IconData quiz_sharp = IconData(0xebf5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">quiz</i> &#x2014; material icon named "quiz" (round).
  static const IconData quiz_rounded = IconData(0xf00d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">quiz</i> &#x2014; material icon named "quiz" (outlined).
  static const IconData quiz_outlined = IconData(0xf2e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">quora</i> &#x2014; material icon named "quora".
  static const IconData quora = IconData(0xf0556, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">quora</i> &#x2014; material icon named "quora" (sharp).
  static const IconData quora_sharp = IconData(0xf045f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">quora</i> &#x2014; material icon named "quora" (round).
  static const IconData quora_rounded = IconData(0xf036c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">quora</i> &#x2014; material icon named "quora" (outlined).
  static const IconData quora_outlined = IconData(0xf064d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">r_mobiledata</i> &#x2014; material icon named "r mobiledata".
  static const IconData r_mobiledata = IconData(0xe500, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">r_mobiledata</i> &#x2014; material icon named "r mobiledata" (sharp).
  static const IconData r_mobiledata_sharp = IconData(0xebf6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">r_mobiledata</i> &#x2014; material icon named "r mobiledata" (round).
  static const IconData r_mobiledata_rounded = IconData(0xf00d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">r_mobiledata</i> &#x2014; material icon named "r mobiledata" (outlined).
  static const IconData r_mobiledata_outlined = IconData(0xf2e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">radar</i> &#x2014; material icon named "radar".
  static const IconData radar = IconData(0xe501, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">radar</i> &#x2014; material icon named "radar" (sharp).
  static const IconData radar_sharp = IconData(0xebf7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">radar</i> &#x2014; material icon named "radar" (round).
  static const IconData radar_rounded = IconData(0xf00d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">radar</i> &#x2014; material icon named "radar" (outlined).
  static const IconData radar_outlined = IconData(0xf2e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">radio</i> &#x2014; material icon named "radio".
  static const IconData radio = IconData(0xe502, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">radio</i> &#x2014; material icon named "radio" (sharp).
  static const IconData radio_sharp = IconData(0xebfa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">radio</i> &#x2014; material icon named "radio" (round).
  static const IconData radio_rounded = IconData(0xf00d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">radio</i> &#x2014; material icon named "radio" (outlined).
  static const IconData radio_outlined = IconData(0xf2e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">radio_button_checked</i> &#x2014; material icon named "radio button checked".
  static const IconData radio_button_checked = IconData(0xe503, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">radio_button_checked</i> &#x2014; material icon named "radio button checked" (sharp).
  static const IconData radio_button_checked_sharp = IconData(0xebf8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">radio_button_checked</i> &#x2014; material icon named "radio button checked" (round).
  static const IconData radio_button_checked_rounded = IconData(0xf00d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">radio_button_checked</i> &#x2014; material icon named "radio button checked" (outlined).
  static const IconData radio_button_checked_outlined = IconData(0xf2e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">radio_button_off</i> &#x2014; material icon named "radio button off".
  static const IconData radio_button_off = IconData(0xe504, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">radio_button_off</i> &#x2014; material icon named "radio button off" (sharp).
  static const IconData radio_button_off_sharp = IconData(0xebf9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">radio_button_off</i> &#x2014; material icon named "radio button off" (round).
  static const IconData radio_button_off_rounded = IconData(0xf00d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">radio_button_off</i> &#x2014; material icon named "radio button off" (outlined).
  static const IconData radio_button_off_outlined = IconData(0xf2e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">radio_button_on</i> &#x2014; material icon named "radio button on".
  static const IconData radio_button_on = IconData(0xe503, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">radio_button_on</i> &#x2014; material icon named "radio button on" (sharp).
  static const IconData radio_button_on_sharp = IconData(0xebf8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">radio_button_on</i> &#x2014; material icon named "radio button on" (round).
  static const IconData radio_button_on_rounded = IconData(0xf00d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">radio_button_on</i> &#x2014; material icon named "radio button on" (outlined).
  static const IconData radio_button_on_outlined = IconData(0xf2e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">radio_button_unchecked</i> &#x2014; material icon named "radio button unchecked".
  static const IconData radio_button_unchecked = IconData(0xe504, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">radio_button_unchecked</i> &#x2014; material icon named "radio button unchecked" (sharp).
  static const IconData radio_button_unchecked_sharp = IconData(0xebf9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">radio_button_unchecked</i> &#x2014; material icon named "radio button unchecked" (round).
  static const IconData radio_button_unchecked_rounded = IconData(0xf00d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">radio_button_unchecked</i> &#x2014; material icon named "radio button unchecked" (outlined).
  static const IconData radio_button_unchecked_outlined = IconData(0xf2e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">railway_alert</i> &#x2014; material icon named "railway alert".
  static const IconData railway_alert = IconData(0xe505, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">railway_alert</i> &#x2014; material icon named "railway alert" (sharp).
  static const IconData railway_alert_sharp = IconData(0xebfb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">railway_alert</i> &#x2014; material icon named "railway alert" (round).
  static const IconData railway_alert_rounded = IconData(0xf00da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">railway_alert</i> &#x2014; material icon named "railway alert" (outlined).
  static const IconData railway_alert_outlined = IconData(0xf2e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">ramen_dining</i> &#x2014; material icon named "ramen dining".
  static const IconData ramen_dining = IconData(0xe506, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">ramen_dining</i> &#x2014; material icon named "ramen dining" (sharp).
  static const IconData ramen_dining_sharp = IconData(0xebfc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">ramen_dining</i> &#x2014; material icon named "ramen dining" (round).
  static const IconData ramen_dining_rounded = IconData(0xf00db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">ramen_dining</i> &#x2014; material icon named "ramen dining" (outlined).
  static const IconData ramen_dining_outlined = IconData(0xf2e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">ramp_left</i> &#x2014; material icon named "ramp left".
  static const IconData ramp_left = IconData(0xf0557, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">ramp_left</i> &#x2014; material icon named "ramp left" (sharp).
  static const IconData ramp_left_sharp = IconData(0xf0460, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">ramp_left</i> &#x2014; material icon named "ramp left" (round).
  static const IconData ramp_left_rounded = IconData(0xf036d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">ramp_left</i> &#x2014; material icon named "ramp left" (outlined).
  static const IconData ramp_left_outlined = IconData(0xf064e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">ramp_right</i> &#x2014; material icon named "ramp right".
  static const IconData ramp_right = IconData(0xf0558, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">ramp_right</i> &#x2014; material icon named "ramp right" (sharp).
  static const IconData ramp_right_sharp = IconData(0xf0461, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">ramp_right</i> &#x2014; material icon named "ramp right" (round).
  static const IconData ramp_right_rounded = IconData(0xf036e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">ramp_right</i> &#x2014; material icon named "ramp right" (outlined).
  static const IconData ramp_right_outlined = IconData(0xf064f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rate_review</i> &#x2014; material icon named "rate review".
  static const IconData rate_review = IconData(0xe507, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rate_review</i> &#x2014; material icon named "rate review" (sharp).
  static const IconData rate_review_sharp = IconData(0xebfd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rate_review</i> &#x2014; material icon named "rate review" (round).
  static const IconData rate_review_rounded = IconData(0xf00dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rate_review</i> &#x2014; material icon named "rate review" (outlined).
  static const IconData rate_review_outlined = IconData(0xf2ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">raw_off</i> &#x2014; material icon named "raw off".
  static const IconData raw_off = IconData(0xe508, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">raw_off</i> &#x2014; material icon named "raw off" (sharp).
  static const IconData raw_off_sharp = IconData(0xebfe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">raw_off</i> &#x2014; material icon named "raw off" (round).
  static const IconData raw_off_rounded = IconData(0xf00dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">raw_off</i> &#x2014; material icon named "raw off" (outlined).
  static const IconData raw_off_outlined = IconData(0xf2eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">raw_on</i> &#x2014; material icon named "raw on".
  static const IconData raw_on = IconData(0xe509, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">raw_on</i> &#x2014; material icon named "raw on" (sharp).
  static const IconData raw_on_sharp = IconData(0xebff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">raw_on</i> &#x2014; material icon named "raw on" (round).
  static const IconData raw_on_rounded = IconData(0xf00de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">raw_on</i> &#x2014; material icon named "raw on" (outlined).
  static const IconData raw_on_outlined = IconData(0xf2ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">read_more</i> &#x2014; material icon named "read more".
  static const IconData read_more = IconData(0xe50a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">read_more</i> &#x2014; material icon named "read more" (sharp).
  static const IconData read_more_sharp = IconData(0xec00, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">read_more</i> &#x2014; material icon named "read more" (round).
  static const IconData read_more_rounded = IconData(0xf00df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">read_more</i> &#x2014; material icon named "read more" (outlined).
  static const IconData read_more_outlined = IconData(0xf2ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">real_estate_agent</i> &#x2014; material icon named "real estate agent".
  static const IconData real_estate_agent = IconData(0xe50b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">real_estate_agent</i> &#x2014; material icon named "real estate agent" (sharp).
  static const IconData real_estate_agent_sharp = IconData(0xec01, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">real_estate_agent</i> &#x2014; material icon named "real estate agent" (round).
  static const IconData real_estate_agent_rounded = IconData(0xf00e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">real_estate_agent</i> &#x2014; material icon named "real estate agent" (outlined).
  static const IconData real_estate_agent_outlined = IconData(0xf2ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">receipt</i> &#x2014; material icon named "receipt".
  static const IconData receipt = IconData(0xe50c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">receipt</i> &#x2014; material icon named "receipt" (sharp).
  static const IconData receipt_sharp = IconData(0xec03, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">receipt</i> &#x2014; material icon named "receipt" (round).
  static const IconData receipt_rounded = IconData(0xf00e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">receipt</i> &#x2014; material icon named "receipt" (outlined).
  static const IconData receipt_outlined = IconData(0xf2f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">receipt_long</i> &#x2014; material icon named "receipt long".
  static const IconData receipt_long = IconData(0xe50d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">receipt_long</i> &#x2014; material icon named "receipt long" (sharp).
  static const IconData receipt_long_sharp = IconData(0xec02, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">receipt_long</i> &#x2014; material icon named "receipt long" (round).
  static const IconData receipt_long_rounded = IconData(0xf00e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">receipt_long</i> &#x2014; material icon named "receipt long" (outlined).
  static const IconData receipt_long_outlined = IconData(0xf2ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">recent_actors</i> &#x2014; material icon named "recent actors".
  static const IconData recent_actors = IconData(0xe50e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">recent_actors</i> &#x2014; material icon named "recent actors" (sharp).
  static const IconData recent_actors_sharp = IconData(0xec04, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">recent_actors</i> &#x2014; material icon named "recent actors" (round).
  static const IconData recent_actors_rounded = IconData(0xf00e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">recent_actors</i> &#x2014; material icon named "recent actors" (outlined).
  static const IconData recent_actors_outlined = IconData(0xf2f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">recommend</i> &#x2014; material icon named "recommend".
  static const IconData recommend = IconData(0xe50f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">recommend</i> &#x2014; material icon named "recommend" (sharp).
  static const IconData recommend_sharp = IconData(0xec05, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">recommend</i> &#x2014; material icon named "recommend" (round).
  static const IconData recommend_rounded = IconData(0xf00e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">recommend</i> &#x2014; material icon named "recommend" (outlined).
  static const IconData recommend_outlined = IconData(0xf2f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">record_voice_over</i> &#x2014; material icon named "record voice over".
  static const IconData record_voice_over = IconData(0xe510, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">record_voice_over</i> &#x2014; material icon named "record voice over" (sharp).
  static const IconData record_voice_over_sharp = IconData(0xec06, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">record_voice_over</i> &#x2014; material icon named "record voice over" (round).
  static const IconData record_voice_over_rounded = IconData(0xf00e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">record_voice_over</i> &#x2014; material icon named "record voice over" (outlined).
  static const IconData record_voice_over_outlined = IconData(0xf2f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rectangle</i> &#x2014; material icon named "rectangle".
  static const IconData rectangle = IconData(0xf0559, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rectangle</i> &#x2014; material icon named "rectangle" (sharp).
  static const IconData rectangle_sharp = IconData(0xf0462, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rectangle</i> &#x2014; material icon named "rectangle" (round).
  static const IconData rectangle_rounded = IconData(0xf036f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rectangle</i> &#x2014; material icon named "rectangle" (outlined).
  static const IconData rectangle_outlined = IconData(0xf0650, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">recycling</i> &#x2014; material icon named "recycling".
  static const IconData recycling = IconData(0xf055a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">recycling</i> &#x2014; material icon named "recycling" (sharp).
  static const IconData recycling_sharp = IconData(0xf0463, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">recycling</i> &#x2014; material icon named "recycling" (round).
  static const IconData recycling_rounded = IconData(0xf0370, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">recycling</i> &#x2014; material icon named "recycling" (outlined).
  static const IconData recycling_outlined = IconData(0xf0651, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">reddit</i> &#x2014; material icon named "reddit".
  static const IconData reddit = IconData(0xf055b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">reddit</i> &#x2014; material icon named "reddit" (sharp).
  static const IconData reddit_sharp = IconData(0xf0464, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">reddit</i> &#x2014; material icon named "reddit" (round).
  static const IconData reddit_rounded = IconData(0xf0371, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">reddit</i> &#x2014; material icon named "reddit" (outlined).
  static const IconData reddit_outlined = IconData(0xf0652, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">redeem</i> &#x2014; material icon named "redeem".
  static const IconData redeem = IconData(0xe511, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">redeem</i> &#x2014; material icon named "redeem" (sharp).
  static const IconData redeem_sharp = IconData(0xec07, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">redeem</i> &#x2014; material icon named "redeem" (round).
  static const IconData redeem_rounded = IconData(0xf00e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">redeem</i> &#x2014; material icon named "redeem" (outlined).
  static const IconData redeem_outlined = IconData(0xf2f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">redo</i> &#x2014; material icon named "redo".
  static const IconData redo = IconData(0xe512, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">redo</i> &#x2014; material icon named "redo" (sharp).
  static const IconData redo_sharp = IconData(0xec08, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">redo</i> &#x2014; material icon named "redo" (round).
  static const IconData redo_rounded = IconData(0xf00e7, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">redo</i> &#x2014; material icon named "redo" (outlined).
  static const IconData redo_outlined = IconData(0xf2f5, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">reduce_capacity</i> &#x2014; material icon named "reduce capacity".
  static const IconData reduce_capacity = IconData(0xe513, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">reduce_capacity</i> &#x2014; material icon named "reduce capacity" (sharp).
  static const IconData reduce_capacity_sharp = IconData(0xec09, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">reduce_capacity</i> &#x2014; material icon named "reduce capacity" (round).
  static const IconData reduce_capacity_rounded = IconData(0xf00e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">reduce_capacity</i> &#x2014; material icon named "reduce capacity" (outlined).
  static const IconData reduce_capacity_outlined = IconData(0xf2f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">refresh</i> &#x2014; material icon named "refresh".
  static const IconData refresh = IconData(0xe514, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">refresh</i> &#x2014; material icon named "refresh" (sharp).
  static const IconData refresh_sharp = IconData(0xec0a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">refresh</i> &#x2014; material icon named "refresh" (round).
  static const IconData refresh_rounded = IconData(0xf00e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">refresh</i> &#x2014; material icon named "refresh" (outlined).
  static const IconData refresh_outlined = IconData(0xf2f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">remember_me</i> &#x2014; material icon named "remember me".
  static const IconData remember_me = IconData(0xe515, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">remember_me</i> &#x2014; material icon named "remember me" (sharp).
  static const IconData remember_me_sharp = IconData(0xec0b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">remember_me</i> &#x2014; material icon named "remember me" (round).
  static const IconData remember_me_rounded = IconData(0xf00ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">remember_me</i> &#x2014; material icon named "remember me" (outlined).
  static const IconData remember_me_outlined = IconData(0xf2f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">remove</i> &#x2014; material icon named "remove".
  static const IconData remove = IconData(0xe516, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">remove</i> &#x2014; material icon named "remove" (sharp).
  static const IconData remove_sharp = IconData(0xec12, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">remove</i> &#x2014; material icon named "remove" (round).
  static const IconData remove_rounded = IconData(0xf00f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">remove</i> &#x2014; material icon named "remove" (outlined).
  static const IconData remove_outlined = IconData(0xf2fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">remove_circle</i> &#x2014; material icon named "remove circle".
  static const IconData remove_circle = IconData(0xe517, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">remove_circle</i> &#x2014; material icon named "remove circle" (sharp).
  static const IconData remove_circle_sharp = IconData(0xec0d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">remove_circle</i> &#x2014; material icon named "remove circle" (round).
  static const IconData remove_circle_rounded = IconData(0xf00ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">remove_circle</i> &#x2014; material icon named "remove circle" (outlined).
  static const IconData remove_circle_outlined = IconData(0xf2fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">remove_circle_outline</i> &#x2014; material icon named "remove circle outline".
  static const IconData remove_circle_outline = IconData(0xe518, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">remove_circle_outline</i> &#x2014; material icon named "remove circle outline" (sharp).
  static const IconData remove_circle_outline_sharp = IconData(0xec0c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">remove_circle_outline</i> &#x2014; material icon named "remove circle outline" (round).
  static const IconData remove_circle_outline_rounded = IconData(0xf00eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">remove_circle_outline</i> &#x2014; material icon named "remove circle outline" (outlined).
  static const IconData remove_circle_outline_outlined = IconData(0xf2f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">remove_done</i> &#x2014; material icon named "remove done".
  static const IconData remove_done = IconData(0xe519, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">remove_done</i> &#x2014; material icon named "remove done" (sharp).
  static const IconData remove_done_sharp = IconData(0xec0e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">remove_done</i> &#x2014; material icon named "remove done" (round).
  static const IconData remove_done_rounded = IconData(0xf00ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">remove_done</i> &#x2014; material icon named "remove done" (outlined).
  static const IconData remove_done_outlined = IconData(0xf2fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">remove_from_queue</i> &#x2014; material icon named "remove from queue".
  static const IconData remove_from_queue = IconData(0xe51a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">remove_from_queue</i> &#x2014; material icon named "remove from queue" (sharp).
  static const IconData remove_from_queue_sharp = IconData(0xec0f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">remove_from_queue</i> &#x2014; material icon named "remove from queue" (round).
  static const IconData remove_from_queue_rounded = IconData(0xf00ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">remove_from_queue</i> &#x2014; material icon named "remove from queue" (outlined).
  static const IconData remove_from_queue_outlined = IconData(0xf2fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">remove_moderator</i> &#x2014; material icon named "remove moderator".
  static const IconData remove_moderator = IconData(0xe51b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">remove_moderator</i> &#x2014; material icon named "remove moderator" (sharp).
  static const IconData remove_moderator_sharp = IconData(0xec10, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">remove_moderator</i> &#x2014; material icon named "remove moderator" (round).
  static const IconData remove_moderator_rounded = IconData(0xf00ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">remove_moderator</i> &#x2014; material icon named "remove moderator" (outlined).
  static const IconData remove_moderator_outlined = IconData(0xf2fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">remove_red_eye</i> &#x2014; material icon named "remove red eye".
  static const IconData remove_red_eye = IconData(0xe51c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">remove_red_eye</i> &#x2014; material icon named "remove red eye" (sharp).
  static const IconData remove_red_eye_sharp = IconData(0xec11, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">remove_red_eye</i> &#x2014; material icon named "remove red eye" (round).
  static const IconData remove_red_eye_rounded = IconData(0xf00f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">remove_red_eye</i> &#x2014; material icon named "remove red eye" (outlined).
  static const IconData remove_red_eye_outlined = IconData(0xf2ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">remove_road</i> &#x2014; material icon named "remove road".
  static const IconData remove_road = IconData(0xf07bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">remove_road</i> &#x2014; material icon named "remove road" (sharp).
  static const IconData remove_road_sharp = IconData(0xf0763, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">remove_road</i> &#x2014; material icon named "remove road" (round).
  static const IconData remove_road_rounded = IconData(0xf0813, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">remove_road</i> &#x2014; material icon named "remove road" (outlined).
  static const IconData remove_road_outlined = IconData(0xf070b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">remove_shopping_cart</i> &#x2014; material icon named "remove shopping cart".
  static const IconData remove_shopping_cart = IconData(0xe51d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">remove_shopping_cart</i> &#x2014; material icon named "remove shopping cart" (sharp).
  static const IconData remove_shopping_cart_sharp = IconData(0xec13, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">remove_shopping_cart</i> &#x2014; material icon named "remove shopping cart" (round).
  static const IconData remove_shopping_cart_rounded = IconData(0xf00f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">remove_shopping_cart</i> &#x2014; material icon named "remove shopping cart" (outlined).
  static const IconData remove_shopping_cart_outlined = IconData(0xf300, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">reorder</i> &#x2014; material icon named "reorder".
  static const IconData reorder = IconData(0xe51e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">reorder</i> &#x2014; material icon named "reorder" (sharp).
  static const IconData reorder_sharp = IconData(0xec14, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">reorder</i> &#x2014; material icon named "reorder" (round).
  static const IconData reorder_rounded = IconData(0xf00f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">reorder</i> &#x2014; material icon named "reorder" (outlined).
  static const IconData reorder_outlined = IconData(0xf301, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">repeat</i> &#x2014; material icon named "repeat".
  static const IconData repeat = IconData(0xe51f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">repeat</i> &#x2014; material icon named "repeat" (sharp).
  static const IconData repeat_sharp = IconData(0xec18, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">repeat</i> &#x2014; material icon named "repeat" (round).
  static const IconData repeat_rounded = IconData(0xf00f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">repeat</i> &#x2014; material icon named "repeat" (outlined).
  static const IconData repeat_outlined = IconData(0xf305, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">repeat_on</i> &#x2014; material icon named "repeat on".
  static const IconData repeat_on = IconData(0xe520, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">repeat_on</i> &#x2014; material icon named "repeat on" (sharp).
  static const IconData repeat_on_sharp = IconData(0xec15, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">repeat_on</i> &#x2014; material icon named "repeat on" (round).
  static const IconData repeat_on_rounded = IconData(0xf00f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">repeat_on</i> &#x2014; material icon named "repeat on" (outlined).
  static const IconData repeat_on_outlined = IconData(0xf302, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">repeat_one</i> &#x2014; material icon named "repeat one".
  static const IconData repeat_one = IconData(0xe521, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">repeat_one</i> &#x2014; material icon named "repeat one" (sharp).
  static const IconData repeat_one_sharp = IconData(0xec17, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">repeat_one</i> &#x2014; material icon named "repeat one" (round).
  static const IconData repeat_one_rounded = IconData(0xf00f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">repeat_one</i> &#x2014; material icon named "repeat one" (outlined).
  static const IconData repeat_one_outlined = IconData(0xf304, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">repeat_one_on</i> &#x2014; material icon named "repeat one on".
  static const IconData repeat_one_on = IconData(0xe522, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">repeat_one_on</i> &#x2014; material icon named "repeat one on" (sharp).
  static const IconData repeat_one_on_sharp = IconData(0xec16, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">repeat_one_on</i> &#x2014; material icon named "repeat one on" (round).
  static const IconData repeat_one_on_rounded = IconData(0xf00f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">repeat_one_on</i> &#x2014; material icon named "repeat one on" (outlined).
  static const IconData repeat_one_on_outlined = IconData(0xf303, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">replay</i> &#x2014; material icon named "replay".
  static const IconData replay = IconData(0xe523, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">replay</i> &#x2014; material icon named "replay" (sharp).
  static const IconData replay_sharp = IconData(0xec1d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">replay</i> &#x2014; material icon named "replay" (round).
  static const IconData replay_rounded = IconData(0xf00fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">replay</i> &#x2014; material icon named "replay" (outlined).
  static const IconData replay_outlined = IconData(0xf30a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">replay_10</i> &#x2014; material icon named "replay 10".
  static const IconData replay_10 = IconData(0xe524, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">replay_10</i> &#x2014; material icon named "replay 10" (sharp).
  static const IconData replay_10_sharp = IconData(0xec19, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">replay_10</i> &#x2014; material icon named "replay 10" (round).
  static const IconData replay_10_rounded = IconData(0xf00f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">replay_10</i> &#x2014; material icon named "replay 10" (outlined).
  static const IconData replay_10_outlined = IconData(0xf306, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">replay_30</i> &#x2014; material icon named "replay 30".
  static const IconData replay_30 = IconData(0xe525, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">replay_30</i> &#x2014; material icon named "replay 30" (sharp).
  static const IconData replay_30_sharp = IconData(0xec1a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">replay_30</i> &#x2014; material icon named "replay 30" (round).
  static const IconData replay_30_rounded = IconData(0xf00f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">replay_30</i> &#x2014; material icon named "replay 30" (outlined).
  static const IconData replay_30_outlined = IconData(0xf307, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">replay_5</i> &#x2014; material icon named "replay 5".
  static const IconData replay_5 = IconData(0xe526, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">replay_5</i> &#x2014; material icon named "replay 5" (sharp).
  static const IconData replay_5_sharp = IconData(0xec1b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">replay_5</i> &#x2014; material icon named "replay 5" (round).
  static const IconData replay_5_rounded = IconData(0xf00fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">replay_5</i> &#x2014; material icon named "replay 5" (outlined).
  static const IconData replay_5_outlined = IconData(0xf308, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">replay_circle_filled</i> &#x2014; material icon named "replay circle filled".
  static const IconData replay_circle_filled = IconData(0xe527, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">replay_circle_filled</i> &#x2014; material icon named "replay circle filled" (sharp).
  static const IconData replay_circle_filled_sharp = IconData(0xec1c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">replay_circle_filled</i> &#x2014; material icon named "replay circle filled" (round).
  static const IconData replay_circle_filled_rounded = IconData(0xf00fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">replay_circle_filled</i> &#x2014; material icon named "replay circle filled" (outlined).
  static const IconData replay_circle_filled_outlined = IconData(0xf309, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">reply</i> &#x2014; material icon named "reply".
  static const IconData reply = IconData(0xe528, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">reply</i> &#x2014; material icon named "reply" (sharp).
  static const IconData reply_sharp = IconData(0xec1f, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">reply</i> &#x2014; material icon named "reply" (round).
  static const IconData reply_rounded = IconData(0xf00fe, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">reply</i> &#x2014; material icon named "reply" (outlined).
  static const IconData reply_outlined = IconData(0xf30c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">reply_all</i> &#x2014; material icon named "reply all".
  static const IconData reply_all = IconData(0xe529, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">reply_all</i> &#x2014; material icon named "reply all" (sharp).
  static const IconData reply_all_sharp = IconData(0xec1e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">reply_all</i> &#x2014; material icon named "reply all" (round).
  static const IconData reply_all_rounded = IconData(0xf00fd, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">reply_all</i> &#x2014; material icon named "reply all" (outlined).
  static const IconData reply_all_outlined = IconData(0xf30b, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">report</i> &#x2014; material icon named "report".
  static const IconData report = IconData(0xe52a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">report</i> &#x2014; material icon named "report" (sharp).
  static const IconData report_sharp = IconData(0xec23, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">report</i> &#x2014; material icon named "report" (round).
  static const IconData report_rounded = IconData(0xf0102, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">report</i> &#x2014; material icon named "report" (outlined).
  static const IconData report_outlined = IconData(0xf30f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">report_gmailerrorred</i> &#x2014; material icon named "report gmailerrorred".
  static const IconData report_gmailerrorred = IconData(0xe52b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">report_gmailerrorred</i> &#x2014; material icon named "report gmailerrorred" (sharp).
  static const IconData report_gmailerrorred_sharp = IconData(0xec20, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">report_gmailerrorred</i> &#x2014; material icon named "report gmailerrorred" (round).
  static const IconData report_gmailerrorred_rounded = IconData(0xf00ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">report_gmailerrorred</i> &#x2014; material icon named "report gmailerrorred" (outlined).
  static const IconData report_gmailerrorred_outlined = IconData(0xf30d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">report_off</i> &#x2014; material icon named "report off".
  static const IconData report_off = IconData(0xe52c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">report_off</i> &#x2014; material icon named "report off" (sharp).
  static const IconData report_off_sharp = IconData(0xec21, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">report_off</i> &#x2014; material icon named "report off" (round).
  static const IconData report_off_rounded = IconData(0xf0100, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">report_off</i> &#x2014; material icon named "report off" (outlined).
  static const IconData report_off_outlined = IconData(0xf30e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">report_problem</i> &#x2014; material icon named "report problem".
  static const IconData report_problem = IconData(0xe52d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">report_problem</i> &#x2014; material icon named "report problem" (sharp).
  static const IconData report_problem_sharp = IconData(0xec22, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">report_problem</i> &#x2014; material icon named "report problem" (round).
  static const IconData report_problem_rounded = IconData(0xf0101, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">report_problem</i> &#x2014; material icon named "report problem" (outlined).
  static const IconData report_problem_outlined = IconData(0xf310, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">request_page</i> &#x2014; material icon named "request page".
  static const IconData request_page = IconData(0xe52e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">request_page</i> &#x2014; material icon named "request page" (sharp).
  static const IconData request_page_sharp = IconData(0xec24, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">request_page</i> &#x2014; material icon named "request page" (round).
  static const IconData request_page_rounded = IconData(0xf0103, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">request_page</i> &#x2014; material icon named "request page" (outlined).
  static const IconData request_page_outlined = IconData(0xf311, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">request_quote</i> &#x2014; material icon named "request quote".
  static const IconData request_quote = IconData(0xe52f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">request_quote</i> &#x2014; material icon named "request quote" (sharp).
  static const IconData request_quote_sharp = IconData(0xec25, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">request_quote</i> &#x2014; material icon named "request quote" (round).
  static const IconData request_quote_rounded = IconData(0xf0104, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">request_quote</i> &#x2014; material icon named "request quote" (outlined).
  static const IconData request_quote_outlined = IconData(0xf312, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">reset_tv</i> &#x2014; material icon named "reset tv".
  static const IconData reset_tv = IconData(0xe530, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">reset_tv</i> &#x2014; material icon named "reset tv" (sharp).
  static const IconData reset_tv_sharp = IconData(0xec26, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">reset_tv</i> &#x2014; material icon named "reset tv" (round).
  static const IconData reset_tv_rounded = IconData(0xf0105, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">reset_tv</i> &#x2014; material icon named "reset tv" (outlined).
  static const IconData reset_tv_outlined = IconData(0xf313, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">restart_alt</i> &#x2014; material icon named "restart alt".
  static const IconData restart_alt = IconData(0xe531, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">restart_alt</i> &#x2014; material icon named "restart alt" (sharp).
  static const IconData restart_alt_sharp = IconData(0xec27, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">restart_alt</i> &#x2014; material icon named "restart alt" (round).
  static const IconData restart_alt_rounded = IconData(0xf0106, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">restart_alt</i> &#x2014; material icon named "restart alt" (outlined).
  static const IconData restart_alt_outlined = IconData(0xf314, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">restaurant</i> &#x2014; material icon named "restaurant".
  static const IconData restaurant = IconData(0xe532, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">restaurant</i> &#x2014; material icon named "restaurant" (sharp).
  static const IconData restaurant_sharp = IconData(0xec29, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">restaurant</i> &#x2014; material icon named "restaurant" (round).
  static const IconData restaurant_rounded = IconData(0xf0108, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">restaurant</i> &#x2014; material icon named "restaurant" (outlined).
  static const IconData restaurant_outlined = IconData(0xf316, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">restaurant_menu</i> &#x2014; material icon named "restaurant menu".
  static const IconData restaurant_menu = IconData(0xe533, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">restaurant_menu</i> &#x2014; material icon named "restaurant menu" (sharp).
  static const IconData restaurant_menu_sharp = IconData(0xec28, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">restaurant_menu</i> &#x2014; material icon named "restaurant menu" (round).
  static const IconData restaurant_menu_rounded = IconData(0xf0107, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">restaurant_menu</i> &#x2014; material icon named "restaurant menu" (outlined).
  static const IconData restaurant_menu_outlined = IconData(0xf315, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">restore</i> &#x2014; material icon named "restore".
  static const IconData restore = IconData(0xe534, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">restore</i> &#x2014; material icon named "restore" (sharp).
  static const IconData restore_sharp = IconData(0xec2c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">restore</i> &#x2014; material icon named "restore" (round).
  static const IconData restore_rounded = IconData(0xf010b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">restore</i> &#x2014; material icon named "restore" (outlined).
  static const IconData restore_outlined = IconData(0xf318, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">restore_from_trash</i> &#x2014; material icon named "restore from trash".
  static const IconData restore_from_trash = IconData(0xe535, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">restore_from_trash</i> &#x2014; material icon named "restore from trash" (sharp).
  static const IconData restore_from_trash_sharp = IconData(0xec2a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">restore_from_trash</i> &#x2014; material icon named "restore from trash" (round).
  static const IconData restore_from_trash_rounded = IconData(0xf0109, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">restore_from_trash</i> &#x2014; material icon named "restore from trash" (outlined).
  static const IconData restore_from_trash_outlined = IconData(0xf317, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">restore_page</i> &#x2014; material icon named "restore page".
  static const IconData restore_page = IconData(0xe536, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">restore_page</i> &#x2014; material icon named "restore page" (sharp).
  static const IconData restore_page_sharp = IconData(0xec2b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">restore_page</i> &#x2014; material icon named "restore page" (round).
  static const IconData restore_page_rounded = IconData(0xf010a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">restore_page</i> &#x2014; material icon named "restore page" (outlined).
  static const IconData restore_page_outlined = IconData(0xf319, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">reviews</i> &#x2014; material icon named "reviews".
  static const IconData reviews = IconData(0xe537, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">reviews</i> &#x2014; material icon named "reviews" (sharp).
  static const IconData reviews_sharp = IconData(0xec2d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">reviews</i> &#x2014; material icon named "reviews" (round).
  static const IconData reviews_rounded = IconData(0xf010c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">reviews</i> &#x2014; material icon named "reviews" (outlined).
  static const IconData reviews_outlined = IconData(0xf31a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rice_bowl</i> &#x2014; material icon named "rice bowl".
  static const IconData rice_bowl = IconData(0xe538, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rice_bowl</i> &#x2014; material icon named "rice bowl" (sharp).
  static const IconData rice_bowl_sharp = IconData(0xec2e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rice_bowl</i> &#x2014; material icon named "rice bowl" (round).
  static const IconData rice_bowl_rounded = IconData(0xf010d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rice_bowl</i> &#x2014; material icon named "rice bowl" (outlined).
  static const IconData rice_bowl_outlined = IconData(0xf31b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">ring_volume</i> &#x2014; material icon named "ring volume".
  static const IconData ring_volume = IconData(0xe539, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">ring_volume</i> &#x2014; material icon named "ring volume" (sharp).
  static const IconData ring_volume_sharp = IconData(0xec2f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">ring_volume</i> &#x2014; material icon named "ring volume" (round).
  static const IconData ring_volume_rounded = IconData(0xf010e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">ring_volume</i> &#x2014; material icon named "ring volume" (outlined).
  static const IconData ring_volume_outlined = IconData(0xf31c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rocket</i> &#x2014; material icon named "rocket".
  static const IconData rocket = IconData(0xf055c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rocket</i> &#x2014; material icon named "rocket" (sharp).
  static const IconData rocket_sharp = IconData(0xf0466, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rocket</i> &#x2014; material icon named "rocket" (round).
  static const IconData rocket_rounded = IconData(0xf0373, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rocket</i> &#x2014; material icon named "rocket" (outlined).
  static const IconData rocket_outlined = IconData(0xf0654, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rocket_launch</i> &#x2014; material icon named "rocket launch".
  static const IconData rocket_launch = IconData(0xf055d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rocket_launch</i> &#x2014; material icon named "rocket launch" (sharp).
  static const IconData rocket_launch_sharp = IconData(0xf0465, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rocket_launch</i> &#x2014; material icon named "rocket launch" (round).
  static const IconData rocket_launch_rounded = IconData(0xf0372, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rocket_launch</i> &#x2014; material icon named "rocket launch" (outlined).
  static const IconData rocket_launch_outlined = IconData(0xf0653, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">roller_shades</i> &#x2014; material icon named "roller shades".
  static const IconData roller_shades = IconData(0xf07bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">roller_shades</i> &#x2014; material icon named "roller shades" (sharp).
  static const IconData roller_shades_sharp = IconData(0xf0765, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">roller_shades</i> &#x2014; material icon named "roller shades" (round).
  static const IconData roller_shades_rounded = IconData(0xf0815, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">roller_shades</i> &#x2014; material icon named "roller shades" (outlined).
  static const IconData roller_shades_outlined = IconData(0xf070d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">roller_shades_closed</i> &#x2014; material icon named "roller shades closed".
  static const IconData roller_shades_closed = IconData(0xf07bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">roller_shades_closed</i> &#x2014; material icon named "roller shades closed" (sharp).
  static const IconData roller_shades_closed_sharp = IconData(0xf0764, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">roller_shades_closed</i> &#x2014; material icon named "roller shades closed" (round).
  static const IconData roller_shades_closed_rounded = IconData(0xf0814, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">roller_shades_closed</i> &#x2014; material icon named "roller shades closed" (outlined).
  static const IconData roller_shades_closed_outlined = IconData(0xf070c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">roller_skating</i> &#x2014; material icon named "roller skating".
  static const IconData roller_skating = IconData(0xf06c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">roller_skating</i> &#x2014; material icon named "roller skating" (sharp).
  static const IconData roller_skating_sharp = IconData(0xf06b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">roller_skating</i> &#x2014; material icon named "roller skating" (round).
  static const IconData roller_skating_rounded = IconData(0xf06cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">roller_skating</i> &#x2014; material icon named "roller skating" (outlined).
  static const IconData roller_skating_outlined = IconData(0xf06a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">roofing</i> &#x2014; material icon named "roofing".
  static const IconData roofing = IconData(0xe53a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">roofing</i> &#x2014; material icon named "roofing" (sharp).
  static const IconData roofing_sharp = IconData(0xec30, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">roofing</i> &#x2014; material icon named "roofing" (round).
  static const IconData roofing_rounded = IconData(0xf010f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">roofing</i> &#x2014; material icon named "roofing" (outlined).
  static const IconData roofing_outlined = IconData(0xf31d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">room</i> &#x2014; material icon named "room".
  static const IconData room = IconData(0xe53b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">room</i> &#x2014; material icon named "room" (sharp).
  static const IconData room_sharp = IconData(0xec33, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">room</i> &#x2014; material icon named "room" (round).
  static const IconData room_rounded = IconData(0xf0111, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">room</i> &#x2014; material icon named "room" (outlined).
  static const IconData room_outlined = IconData(0xf31e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">room_preferences</i> &#x2014; material icon named "room preferences".
  static const IconData room_preferences = IconData(0xe53c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">room_preferences</i> &#x2014; material icon named "room preferences" (sharp).
  static const IconData room_preferences_sharp = IconData(0xec31, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">room_preferences</i> &#x2014; material icon named "room preferences" (round).
  static const IconData room_preferences_rounded = IconData(0xf0110, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">room_preferences</i> &#x2014; material icon named "room preferences" (outlined).
  static const IconData room_preferences_outlined = IconData(0xf31f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">room_service</i> &#x2014; material icon named "room service".
  static const IconData room_service = IconData(0xe53d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">room_service</i> &#x2014; material icon named "room service" (sharp).
  static const IconData room_service_sharp = IconData(0xec32, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">room_service</i> &#x2014; material icon named "room service" (round).
  static const IconData room_service_rounded = IconData(0xf0112, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">room_service</i> &#x2014; material icon named "room service" (outlined).
  static const IconData room_service_outlined = IconData(0xf320, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rotate_90_degrees_ccw</i> &#x2014; material icon named "rotate 90 degrees ccw".
  static const IconData rotate_90_degrees_ccw = IconData(0xe53e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rotate_90_degrees_ccw</i> &#x2014; material icon named "rotate 90 degrees ccw" (sharp).
  static const IconData rotate_90_degrees_ccw_sharp = IconData(0xec34, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rotate_90_degrees_ccw</i> &#x2014; material icon named "rotate 90 degrees ccw" (round).
  static const IconData rotate_90_degrees_ccw_rounded = IconData(0xf0113, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rotate_90_degrees_ccw</i> &#x2014; material icon named "rotate 90 degrees ccw" (outlined).
  static const IconData rotate_90_degrees_ccw_outlined = IconData(0xf321, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rotate_90_degrees_cw</i> &#x2014; material icon named "rotate 90 degrees cw".
  static const IconData rotate_90_degrees_cw = IconData(0xf055e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rotate_90_degrees_cw</i> &#x2014; material icon named "rotate 90 degrees cw" (sharp).
  static const IconData rotate_90_degrees_cw_sharp = IconData(0xf0467, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rotate_90_degrees_cw</i> &#x2014; material icon named "rotate 90 degrees cw" (round).
  static const IconData rotate_90_degrees_cw_rounded = IconData(0xf0374, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rotate_90_degrees_cw</i> &#x2014; material icon named "rotate 90 degrees cw" (outlined).
  static const IconData rotate_90_degrees_cw_outlined = IconData(0xf0655, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rotate_left</i> &#x2014; material icon named "rotate left".
  static const IconData rotate_left = IconData(0xe53f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rotate_left</i> &#x2014; material icon named "rotate left" (sharp).
  static const IconData rotate_left_sharp = IconData(0xec35, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rotate_left</i> &#x2014; material icon named "rotate left" (round).
  static const IconData rotate_left_rounded = IconData(0xf0114, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rotate_left</i> &#x2014; material icon named "rotate left" (outlined).
  static const IconData rotate_left_outlined = IconData(0xf322, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rotate_right</i> &#x2014; material icon named "rotate right".
  static const IconData rotate_right = IconData(0xe540, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rotate_right</i> &#x2014; material icon named "rotate right" (sharp).
  static const IconData rotate_right_sharp = IconData(0xec36, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rotate_right</i> &#x2014; material icon named "rotate right" (round).
  static const IconData rotate_right_rounded = IconData(0xf0115, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rotate_right</i> &#x2014; material icon named "rotate right" (outlined).
  static const IconData rotate_right_outlined = IconData(0xf323, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">roundabout_left</i> &#x2014; material icon named "roundabout left".
  static const IconData roundabout_left = IconData(0xf055f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">roundabout_left</i> &#x2014; material icon named "roundabout left" (sharp).
  static const IconData roundabout_left_sharp = IconData(0xf0468, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">roundabout_left</i> &#x2014; material icon named "roundabout left" (round).
  static const IconData roundabout_left_rounded = IconData(0xf0375, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">roundabout_left</i> &#x2014; material icon named "roundabout left" (outlined).
  static const IconData roundabout_left_outlined = IconData(0xf0656, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">roundabout_right</i> &#x2014; material icon named "roundabout right".
  static const IconData roundabout_right = IconData(0xf0560, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">roundabout_right</i> &#x2014; material icon named "roundabout right" (sharp).
  static const IconData roundabout_right_sharp = IconData(0xf0469, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">roundabout_right</i> &#x2014; material icon named "roundabout right" (round).
  static const IconData roundabout_right_rounded = IconData(0xf0376, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">roundabout_right</i> &#x2014; material icon named "roundabout right" (outlined).
  static const IconData roundabout_right_outlined = IconData(0xf0657, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rounded_corner</i> &#x2014; material icon named "rounded corner".
  static const IconData rounded_corner = IconData(0xe541, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rounded_corner</i> &#x2014; material icon named "rounded corner" (sharp).
  static const IconData rounded_corner_sharp = IconData(0xec37, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rounded_corner</i> &#x2014; material icon named "rounded corner" (round).
  static const IconData rounded_corner_rounded = IconData(0xf0116, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rounded_corner</i> &#x2014; material icon named "rounded corner" (outlined).
  static const IconData rounded_corner_outlined = IconData(0xf324, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">route</i> &#x2014; material icon named "route".
  static const IconData route = IconData(0xf0561, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">route</i> &#x2014; material icon named "route" (sharp).
  static const IconData route_sharp = IconData(0xf046a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">route</i> &#x2014; material icon named "route" (round).
  static const IconData route_rounded = IconData(0xf0377, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">route</i> &#x2014; material icon named "route" (outlined).
  static const IconData route_outlined = IconData(0xf0658, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">router</i> &#x2014; material icon named "router".
  static const IconData router = IconData(0xe542, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">router</i> &#x2014; material icon named "router" (sharp).
  static const IconData router_sharp = IconData(0xec38, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">router</i> &#x2014; material icon named "router" (round).
  static const IconData router_rounded = IconData(0xf0117, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">router</i> &#x2014; material icon named "router" (outlined).
  static const IconData router_outlined = IconData(0xf325, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rowing</i> &#x2014; material icon named "rowing".
  static const IconData rowing = IconData(0xe543, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rowing</i> &#x2014; material icon named "rowing" (sharp).
  static const IconData rowing_sharp = IconData(0xec39, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rowing</i> &#x2014; material icon named "rowing" (round).
  static const IconData rowing_rounded = IconData(0xf0118, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rowing</i> &#x2014; material icon named "rowing" (outlined).
  static const IconData rowing_outlined = IconData(0xf326, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rss_feed</i> &#x2014; material icon named "rss feed".
  static const IconData rss_feed = IconData(0xe544, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rss_feed</i> &#x2014; material icon named "rss feed" (sharp).
  static const IconData rss_feed_sharp = IconData(0xec3a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rss_feed</i> &#x2014; material icon named "rss feed" (round).
  static const IconData rss_feed_rounded = IconData(0xf0119, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rss_feed</i> &#x2014; material icon named "rss feed" (outlined).
  static const IconData rss_feed_outlined = IconData(0xf327, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rsvp</i> &#x2014; material icon named "rsvp".
  static const IconData rsvp = IconData(0xe545, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rsvp</i> &#x2014; material icon named "rsvp" (sharp).
  static const IconData rsvp_sharp = IconData(0xec3b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rsvp</i> &#x2014; material icon named "rsvp" (round).
  static const IconData rsvp_rounded = IconData(0xf011a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rsvp</i> &#x2014; material icon named "rsvp" (outlined).
  static const IconData rsvp_outlined = IconData(0xf328, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rtt</i> &#x2014; material icon named "rtt".
  static const IconData rtt = IconData(0xe546, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rtt</i> &#x2014; material icon named "rtt" (sharp).
  static const IconData rtt_sharp = IconData(0xec3c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rtt</i> &#x2014; material icon named "rtt" (round).
  static const IconData rtt_rounded = IconData(0xf011b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rtt</i> &#x2014; material icon named "rtt" (outlined).
  static const IconData rtt_outlined = IconData(0xf329, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rule</i> &#x2014; material icon named "rule".
  static const IconData rule = IconData(0xe547, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rule</i> &#x2014; material icon named "rule" (sharp).
  static const IconData rule_sharp = IconData(0xec3e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rule</i> &#x2014; material icon named "rule" (round).
  static const IconData rule_rounded = IconData(0xf011d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rule</i> &#x2014; material icon named "rule" (outlined).
  static const IconData rule_outlined = IconData(0xf32b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rule_folder</i> &#x2014; material icon named "rule folder".
  static const IconData rule_folder = IconData(0xe548, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rule_folder</i> &#x2014; material icon named "rule folder" (sharp).
  static const IconData rule_folder_sharp = IconData(0xec3d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rule_folder</i> &#x2014; material icon named "rule folder" (round).
  static const IconData rule_folder_rounded = IconData(0xf011c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rule_folder</i> &#x2014; material icon named "rule folder" (outlined).
  static const IconData rule_folder_outlined = IconData(0xf32a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">run_circle</i> &#x2014; material icon named "run circle".
  static const IconData run_circle = IconData(0xe549, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">run_circle</i> &#x2014; material icon named "run circle" (sharp).
  static const IconData run_circle_sharp = IconData(0xec3f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">run_circle</i> &#x2014; material icon named "run circle" (round).
  static const IconData run_circle_rounded = IconData(0xf011e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">run_circle</i> &#x2014; material icon named "run circle" (outlined).
  static const IconData run_circle_outlined = IconData(0xf32c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">running_with_errors</i> &#x2014; material icon named "running with errors".
  static const IconData running_with_errors = IconData(0xe54a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">running_with_errors</i> &#x2014; material icon named "running with errors" (sharp).
  static const IconData running_with_errors_sharp = IconData(0xec40, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">running_with_errors</i> &#x2014; material icon named "running with errors" (round).
  static const IconData running_with_errors_rounded = IconData(0xf011f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">running_with_errors</i> &#x2014; material icon named "running with errors" (outlined).
  static const IconData running_with_errors_outlined = IconData(0xf32d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">rv_hookup</i> &#x2014; material icon named "rv hookup".
  static const IconData rv_hookup = IconData(0xe54b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">rv_hookup</i> &#x2014; material icon named "rv hookup" (sharp).
  static const IconData rv_hookup_sharp = IconData(0xec41, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">rv_hookup</i> &#x2014; material icon named "rv hookup" (round).
  static const IconData rv_hookup_rounded = IconData(0xf0120, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">rv_hookup</i> &#x2014; material icon named "rv hookup" (outlined).
  static const IconData rv_hookup_outlined = IconData(0xf32e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">safety_check</i> &#x2014; material icon named "safety check".
  static const IconData safety_check = IconData(0xf07be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">safety_check</i> &#x2014; material icon named "safety check" (sharp).
  static const IconData safety_check_sharp = IconData(0xf0766, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">safety_check</i> &#x2014; material icon named "safety check" (round).
  static const IconData safety_check_rounded = IconData(0xf0816, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">safety_check</i> &#x2014; material icon named "safety check" (outlined).
  static const IconData safety_check_outlined = IconData(0xf070e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">safety_divider</i> &#x2014; material icon named "safety divider".
  static const IconData safety_divider = IconData(0xe54c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">safety_divider</i> &#x2014; material icon named "safety divider" (sharp).
  static const IconData safety_divider_sharp = IconData(0xec42, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">safety_divider</i> &#x2014; material icon named "safety divider" (round).
  static const IconData safety_divider_rounded = IconData(0xf0121, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">safety_divider</i> &#x2014; material icon named "safety divider" (outlined).
  static const IconData safety_divider_outlined = IconData(0xf32f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sailing</i> &#x2014; material icon named "sailing".
  static const IconData sailing = IconData(0xe54d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sailing</i> &#x2014; material icon named "sailing" (sharp).
  static const IconData sailing_sharp = IconData(0xec43, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sailing</i> &#x2014; material icon named "sailing" (round).
  static const IconData sailing_rounded = IconData(0xf0122, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sailing</i> &#x2014; material icon named "sailing" (outlined).
  static const IconData sailing_outlined = IconData(0xf330, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sanitizer</i> &#x2014; material icon named "sanitizer".
  static const IconData sanitizer = IconData(0xe54e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sanitizer</i> &#x2014; material icon named "sanitizer" (sharp).
  static const IconData sanitizer_sharp = IconData(0xec44, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sanitizer</i> &#x2014; material icon named "sanitizer" (round).
  static const IconData sanitizer_rounded = IconData(0xf0123, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sanitizer</i> &#x2014; material icon named "sanitizer" (outlined).
  static const IconData sanitizer_outlined = IconData(0xf331, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">satellite</i> &#x2014; material icon named "satellite".
  static const IconData satellite = IconData(0xe54f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">satellite</i> &#x2014; material icon named "satellite" (sharp).
  static const IconData satellite_sharp = IconData(0xec45, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">satellite</i> &#x2014; material icon named "satellite" (round).
  static const IconData satellite_rounded = IconData(0xf0124, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">satellite</i> &#x2014; material icon named "satellite" (outlined).
  static const IconData satellite_outlined = IconData(0xf332, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">satellite_alt</i> &#x2014; material icon named "satellite alt".
  static const IconData satellite_alt = IconData(0xf0562, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">satellite_alt</i> &#x2014; material icon named "satellite alt" (sharp).
  static const IconData satellite_alt_sharp = IconData(0xf046b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">satellite_alt</i> &#x2014; material icon named "satellite alt" (round).
  static const IconData satellite_alt_rounded = IconData(0xf0378, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">satellite_alt</i> &#x2014; material icon named "satellite alt" (outlined).
  static const IconData satellite_alt_outlined = IconData(0xf0659, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">save</i> &#x2014; material icon named "save".
  static const IconData save = IconData(0xe550, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">save</i> &#x2014; material icon named "save" (sharp).
  static const IconData save_sharp = IconData(0xec47, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">save</i> &#x2014; material icon named "save" (round).
  static const IconData save_rounded = IconData(0xf0126, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">save</i> &#x2014; material icon named "save" (outlined).
  static const IconData save_outlined = IconData(0xf334, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">save_alt</i> &#x2014; material icon named "save alt".
  static const IconData save_alt = IconData(0xe551, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">save_alt</i> &#x2014; material icon named "save alt" (sharp).
  static const IconData save_alt_sharp = IconData(0xec46, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">save_alt</i> &#x2014; material icon named "save alt" (round).
  static const IconData save_alt_rounded = IconData(0xf0125, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">save_alt</i> &#x2014; material icon named "save alt" (outlined).
  static const IconData save_alt_outlined = IconData(0xf333, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">save_as</i> &#x2014; material icon named "save as".
  static const IconData save_as = IconData(0xf0563, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">save_as</i> &#x2014; material icon named "save as" (sharp).
  static const IconData save_as_sharp = IconData(0xf046c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">save_as</i> &#x2014; material icon named "save as" (round).
  static const IconData save_as_rounded = IconData(0xf0379, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">save_as</i> &#x2014; material icon named "save as" (outlined).
  static const IconData save_as_outlined = IconData(0xf065a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">saved_search</i> &#x2014; material icon named "saved search".
  static const IconData saved_search = IconData(0xe552, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">saved_search</i> &#x2014; material icon named "saved search" (sharp).
  static const IconData saved_search_sharp = IconData(0xec48, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">saved_search</i> &#x2014; material icon named "saved search" (round).
  static const IconData saved_search_rounded = IconData(0xf0127, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">saved_search</i> &#x2014; material icon named "saved search" (outlined).
  static const IconData saved_search_outlined = IconData(0xf335, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">savings</i> &#x2014; material icon named "savings".
  static const IconData savings = IconData(0xe553, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">savings</i> &#x2014; material icon named "savings" (sharp).
  static const IconData savings_sharp = IconData(0xec49, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">savings</i> &#x2014; material icon named "savings" (round).
  static const IconData savings_rounded = IconData(0xf0128, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">savings</i> &#x2014; material icon named "savings" (outlined).
  static const IconData savings_outlined = IconData(0xf336, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">scale</i> &#x2014; material icon named "scale".
  static const IconData scale = IconData(0xf0564, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">scale</i> &#x2014; material icon named "scale" (sharp).
  static const IconData scale_sharp = IconData(0xf046d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">scale</i> &#x2014; material icon named "scale" (round).
  static const IconData scale_rounded = IconData(0xf037a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">scale</i> &#x2014; material icon named "scale" (outlined).
  static const IconData scale_outlined = IconData(0xf065b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">scanner</i> &#x2014; material icon named "scanner".
  static const IconData scanner = IconData(0xe554, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">scanner</i> &#x2014; material icon named "scanner" (sharp).
  static const IconData scanner_sharp = IconData(0xec4a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">scanner</i> &#x2014; material icon named "scanner" (round).
  static const IconData scanner_rounded = IconData(0xf0129, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">scanner</i> &#x2014; material icon named "scanner" (outlined).
  static const IconData scanner_outlined = IconData(0xf337, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">scatter_plot</i> &#x2014; material icon named "scatter plot".
  static const IconData scatter_plot = IconData(0xe555, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">scatter_plot</i> &#x2014; material icon named "scatter plot" (sharp).
  static const IconData scatter_plot_sharp = IconData(0xec4b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">scatter_plot</i> &#x2014; material icon named "scatter plot" (round).
  static const IconData scatter_plot_rounded = IconData(0xf012a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">scatter_plot</i> &#x2014; material icon named "scatter plot" (outlined).
  static const IconData scatter_plot_outlined = IconData(0xf338, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">schedule</i> &#x2014; material icon named "schedule".
  static const IconData schedule = IconData(0xe556, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">schedule</i> &#x2014; material icon named "schedule" (sharp).
  static const IconData schedule_sharp = IconData(0xec4d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">schedule</i> &#x2014; material icon named "schedule" (round).
  static const IconData schedule_rounded = IconData(0xf012b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">schedule</i> &#x2014; material icon named "schedule" (outlined).
  static const IconData schedule_outlined = IconData(0xf339, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">schedule_send</i> &#x2014; material icon named "schedule send".
  static const IconData schedule_send = IconData(0xe557, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">schedule_send</i> &#x2014; material icon named "schedule send" (sharp).
  static const IconData schedule_send_sharp = IconData(0xec4c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">schedule_send</i> &#x2014; material icon named "schedule send" (round).
  static const IconData schedule_send_rounded = IconData(0xf012c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">schedule_send</i> &#x2014; material icon named "schedule send" (outlined).
  static const IconData schedule_send_outlined = IconData(0xf33a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">schema</i> &#x2014; material icon named "schema".
  static const IconData schema = IconData(0xe558, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">schema</i> &#x2014; material icon named "schema" (sharp).
  static const IconData schema_sharp = IconData(0xec4e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">schema</i> &#x2014; material icon named "schema" (round).
  static const IconData schema_rounded = IconData(0xf012d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">schema</i> &#x2014; material icon named "schema" (outlined).
  static const IconData schema_outlined = IconData(0xf33b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">school</i> &#x2014; material icon named "school".
  static const IconData school = IconData(0xe559, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">school</i> &#x2014; material icon named "school" (sharp).
  static const IconData school_sharp = IconData(0xec4f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">school</i> &#x2014; material icon named "school" (round).
  static const IconData school_rounded = IconData(0xf012e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">school</i> &#x2014; material icon named "school" (outlined).
  static const IconData school_outlined = IconData(0xf33c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">science</i> &#x2014; material icon named "science".
  static const IconData science = IconData(0xe55a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">science</i> &#x2014; material icon named "science" (sharp).
  static const IconData science_sharp = IconData(0xec50, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">science</i> &#x2014; material icon named "science" (round).
  static const IconData science_rounded = IconData(0xf012f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">science</i> &#x2014; material icon named "science" (outlined).
  static const IconData science_outlined = IconData(0xf33d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">score</i> &#x2014; material icon named "score".
  static const IconData score = IconData(0xe55b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">score</i> &#x2014; material icon named "score" (sharp).
  static const IconData score_sharp = IconData(0xec51, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">score</i> &#x2014; material icon named "score" (round).
  static const IconData score_rounded = IconData(0xf0130, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">score</i> &#x2014; material icon named "score" (outlined).
  static const IconData score_outlined = IconData(0xf33e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">scoreboard</i> &#x2014; material icon named "scoreboard".
  static const IconData scoreboard = IconData(0xf06c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">scoreboard</i> &#x2014; material icon named "scoreboard" (sharp).
  static const IconData scoreboard_sharp = IconData(0xf06b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">scoreboard</i> &#x2014; material icon named "scoreboard" (round).
  static const IconData scoreboard_rounded = IconData(0xf06ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">scoreboard</i> &#x2014; material icon named "scoreboard" (outlined).
  static const IconData scoreboard_outlined = IconData(0xf06a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">screen_lock_landscape</i> &#x2014; material icon named "screen lock landscape".
  static const IconData screen_lock_landscape = IconData(0xe55c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">screen_lock_landscape</i> &#x2014; material icon named "screen lock landscape" (sharp).
  static const IconData screen_lock_landscape_sharp = IconData(0xec52, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">screen_lock_landscape</i> &#x2014; material icon named "screen lock landscape" (round).
  static const IconData screen_lock_landscape_rounded = IconData(0xf0131, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">screen_lock_landscape</i> &#x2014; material icon named "screen lock landscape" (outlined).
  static const IconData screen_lock_landscape_outlined = IconData(0xf33f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">screen_lock_portrait</i> &#x2014; material icon named "screen lock portrait".
  static const IconData screen_lock_portrait = IconData(0xe55d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">screen_lock_portrait</i> &#x2014; material icon named "screen lock portrait" (sharp).
  static const IconData screen_lock_portrait_sharp = IconData(0xec53, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">screen_lock_portrait</i> &#x2014; material icon named "screen lock portrait" (round).
  static const IconData screen_lock_portrait_rounded = IconData(0xf0132, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">screen_lock_portrait</i> &#x2014; material icon named "screen lock portrait" (outlined).
  static const IconData screen_lock_portrait_outlined = IconData(0xf340, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">screen_lock_rotation</i> &#x2014; material icon named "screen lock rotation".
  static const IconData screen_lock_rotation = IconData(0xe55e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">screen_lock_rotation</i> &#x2014; material icon named "screen lock rotation" (sharp).
  static const IconData screen_lock_rotation_sharp = IconData(0xec54, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">screen_lock_rotation</i> &#x2014; material icon named "screen lock rotation" (round).
  static const IconData screen_lock_rotation_rounded = IconData(0xf0133, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">screen_lock_rotation</i> &#x2014; material icon named "screen lock rotation" (outlined).
  static const IconData screen_lock_rotation_outlined = IconData(0xf341, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">screen_rotation</i> &#x2014; material icon named "screen rotation".
  static const IconData screen_rotation = IconData(0xe55f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">screen_rotation</i> &#x2014; material icon named "screen rotation" (sharp).
  static const IconData screen_rotation_sharp = IconData(0xec55, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">screen_rotation</i> &#x2014; material icon named "screen rotation" (round).
  static const IconData screen_rotation_rounded = IconData(0xf0134, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">screen_rotation</i> &#x2014; material icon named "screen rotation" (outlined).
  static const IconData screen_rotation_outlined = IconData(0xf342, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">screen_rotation_alt</i> &#x2014; material icon named "screen rotation alt".
  static const IconData screen_rotation_alt = IconData(0xf07bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">screen_rotation_alt</i> &#x2014; material icon named "screen rotation alt" (sharp).
  static const IconData screen_rotation_alt_sharp = IconData(0xf0767, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">screen_rotation_alt</i> &#x2014; material icon named "screen rotation alt" (round).
  static const IconData screen_rotation_alt_rounded = IconData(0xf0817, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">screen_rotation_alt</i> &#x2014; material icon named "screen rotation alt" (outlined).
  static const IconData screen_rotation_alt_outlined = IconData(0xf070f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">screen_search_desktop</i> &#x2014; material icon named "screen search desktop".
  static const IconData screen_search_desktop = IconData(0xe560, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">screen_search_desktop</i> &#x2014; material icon named "screen search desktop" (sharp).
  static const IconData screen_search_desktop_sharp = IconData(0xec56, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">screen_search_desktop</i> &#x2014; material icon named "screen search desktop" (round).
  static const IconData screen_search_desktop_rounded = IconData(0xf0135, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">screen_search_desktop</i> &#x2014; material icon named "screen search desktop" (outlined).
  static const IconData screen_search_desktop_outlined = IconData(0xf343, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">screen_share</i> &#x2014; material icon named "screen share".
  static const IconData screen_share = IconData(0xe561, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">screen_share</i> &#x2014; material icon named "screen share" (sharp).
  static const IconData screen_share_sharp = IconData(0xec57, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">screen_share</i> &#x2014; material icon named "screen share" (round).
  static const IconData screen_share_rounded = IconData(0xf0136, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">screen_share</i> &#x2014; material icon named "screen share" (outlined).
  static const IconData screen_share_outlined = IconData(0xf344, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">screenshot</i> &#x2014; material icon named "screenshot".
  static const IconData screenshot = IconData(0xe562, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">screenshot</i> &#x2014; material icon named "screenshot" (sharp).
  static const IconData screenshot_sharp = IconData(0xec58, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">screenshot</i> &#x2014; material icon named "screenshot" (round).
  static const IconData screenshot_rounded = IconData(0xf0137, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">screenshot</i> &#x2014; material icon named "screenshot" (outlined).
  static const IconData screenshot_outlined = IconData(0xf345, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">screenshot_monitor</i> &#x2014; material icon named "screenshot monitor".
  static const IconData screenshot_monitor = IconData(0xf07c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">screenshot_monitor</i> &#x2014; material icon named "screenshot monitor" (sharp).
  static const IconData screenshot_monitor_sharp = IconData(0xf0768, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">screenshot_monitor</i> &#x2014; material icon named "screenshot monitor" (round).
  static const IconData screenshot_monitor_rounded = IconData(0xf0818, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">screenshot_monitor</i> &#x2014; material icon named "screenshot monitor" (outlined).
  static const IconData screenshot_monitor_outlined = IconData(0xf0710, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">scuba_diving</i> &#x2014; material icon named "scuba diving".
  static const IconData scuba_diving = IconData(0xf06c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">scuba_diving</i> &#x2014; material icon named "scuba diving" (sharp).
  static const IconData scuba_diving_sharp = IconData(0xf06b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">scuba_diving</i> &#x2014; material icon named "scuba diving" (round).
  static const IconData scuba_diving_rounded = IconData(0xf06cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">scuba_diving</i> &#x2014; material icon named "scuba diving" (outlined).
  static const IconData scuba_diving_outlined = IconData(0xf06a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sd</i> &#x2014; material icon named "sd".
  static const IconData sd = IconData(0xe563, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sd</i> &#x2014; material icon named "sd" (sharp).
  static const IconData sd_sharp = IconData(0xec5b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sd</i> &#x2014; material icon named "sd" (round).
  static const IconData sd_rounded = IconData(0xf013a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sd</i> &#x2014; material icon named "sd" (outlined).
  static const IconData sd_outlined = IconData(0xf348, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sd_card</i> &#x2014; material icon named "sd card".
  static const IconData sd_card = IconData(0xe564, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sd_card</i> &#x2014; material icon named "sd card" (sharp).
  static const IconData sd_card_sharp = IconData(0xec5a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sd_card</i> &#x2014; material icon named "sd card" (round).
  static const IconData sd_card_rounded = IconData(0xf0139, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sd_card</i> &#x2014; material icon named "sd card" (outlined).
  static const IconData sd_card_outlined = IconData(0xf347, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sd_card_alert</i> &#x2014; material icon named "sd card alert".
  static const IconData sd_card_alert = IconData(0xe565, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sd_card_alert</i> &#x2014; material icon named "sd card alert" (sharp).
  static const IconData sd_card_alert_sharp = IconData(0xec59, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sd_card_alert</i> &#x2014; material icon named "sd card alert" (round).
  static const IconData sd_card_alert_rounded = IconData(0xf0138, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sd_card_alert</i> &#x2014; material icon named "sd card alert" (outlined).
  static const IconData sd_card_alert_outlined = IconData(0xf346, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sd_storage</i> &#x2014; material icon named "sd storage".
  static const IconData sd_storage = IconData(0xe566, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sd_storage</i> &#x2014; material icon named "sd storage" (sharp).
  static const IconData sd_storage_sharp = IconData(0xec5c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sd_storage</i> &#x2014; material icon named "sd storage" (round).
  static const IconData sd_storage_rounded = IconData(0xf013b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sd_storage</i> &#x2014; material icon named "sd storage" (outlined).
  static const IconData sd_storage_outlined = IconData(0xf349, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">search</i> &#x2014; material icon named "search".
  static const IconData search = IconData(0xe567, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">search</i> &#x2014; material icon named "search" (sharp).
  static const IconData search_sharp = IconData(0xec5e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">search</i> &#x2014; material icon named "search" (round).
  static const IconData search_rounded = IconData(0xf013d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">search</i> &#x2014; material icon named "search" (outlined).
  static const IconData search_outlined = IconData(0xf34b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">search_off</i> &#x2014; material icon named "search off".
  static const IconData search_off = IconData(0xe568, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">search_off</i> &#x2014; material icon named "search off" (sharp).
  static const IconData search_off_sharp = IconData(0xec5d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">search_off</i> &#x2014; material icon named "search off" (round).
  static const IconData search_off_rounded = IconData(0xf013c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">search_off</i> &#x2014; material icon named "search off" (outlined).
  static const IconData search_off_outlined = IconData(0xf34a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">security</i> &#x2014; material icon named "security".
  static const IconData security = IconData(0xe569, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">security</i> &#x2014; material icon named "security" (sharp).
  static const IconData security_sharp = IconData(0xec5f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">security</i> &#x2014; material icon named "security" (round).
  static const IconData security_rounded = IconData(0xf013e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">security</i> &#x2014; material icon named "security" (outlined).
  static const IconData security_outlined = IconData(0xf34c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">security_update</i> &#x2014; material icon named "security update".
  static const IconData security_update = IconData(0xe56a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">security_update</i> &#x2014; material icon named "security update" (sharp).
  static const IconData security_update_sharp = IconData(0xec61, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">security_update</i> &#x2014; material icon named "security update" (round).
  static const IconData security_update_rounded = IconData(0xf0140, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">security_update</i> &#x2014; material icon named "security update" (outlined).
  static const IconData security_update_outlined = IconData(0xf34e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">security_update_good</i> &#x2014; material icon named "security update good".
  static const IconData security_update_good = IconData(0xe56b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">security_update_good</i> &#x2014; material icon named "security update good" (sharp).
  static const IconData security_update_good_sharp = IconData(0xec60, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">security_update_good</i> &#x2014; material icon named "security update good" (round).
  static const IconData security_update_good_rounded = IconData(0xf013f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">security_update_good</i> &#x2014; material icon named "security update good" (outlined).
  static const IconData security_update_good_outlined = IconData(0xf34d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">security_update_warning</i> &#x2014; material icon named "security update warning".
  static const IconData security_update_warning = IconData(0xe56c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">security_update_warning</i> &#x2014; material icon named "security update warning" (sharp).
  static const IconData security_update_warning_sharp = IconData(0xec62, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">security_update_warning</i> &#x2014; material icon named "security update warning" (round).
  static const IconData security_update_warning_rounded = IconData(0xf0141, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">security_update_warning</i> &#x2014; material icon named "security update warning" (outlined).
  static const IconData security_update_warning_outlined = IconData(0xf34f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">segment</i> &#x2014; material icon named "segment".
  static const IconData segment = IconData(0xe56d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">segment</i> &#x2014; material icon named "segment" (sharp).
  static const IconData segment_sharp = IconData(0xec63, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">segment</i> &#x2014; material icon named "segment" (round).
  static const IconData segment_rounded = IconData(0xf0142, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">segment</i> &#x2014; material icon named "segment" (outlined).
  static const IconData segment_outlined = IconData(0xf350, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">select_all</i> &#x2014; material icon named "select all".
  static const IconData select_all = IconData(0xe56e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">select_all</i> &#x2014; material icon named "select all" (sharp).
  static const IconData select_all_sharp = IconData(0xec64, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">select_all</i> &#x2014; material icon named "select all" (round).
  static const IconData select_all_rounded = IconData(0xf0143, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">select_all</i> &#x2014; material icon named "select all" (outlined).
  static const IconData select_all_outlined = IconData(0xf351, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">self_improvement</i> &#x2014; material icon named "self improvement".
  static const IconData self_improvement = IconData(0xe56f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">self_improvement</i> &#x2014; material icon named "self improvement" (sharp).
  static const IconData self_improvement_sharp = IconData(0xec65, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">self_improvement</i> &#x2014; material icon named "self improvement" (round).
  static const IconData self_improvement_rounded = IconData(0xf0144, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">self_improvement</i> &#x2014; material icon named "self improvement" (outlined).
  static const IconData self_improvement_outlined = IconData(0xf352, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sell</i> &#x2014; material icon named "sell".
  static const IconData sell = IconData(0xe570, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sell</i> &#x2014; material icon named "sell" (sharp).
  static const IconData sell_sharp = IconData(0xec66, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sell</i> &#x2014; material icon named "sell" (round).
  static const IconData sell_rounded = IconData(0xf0145, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sell</i> &#x2014; material icon named "sell" (outlined).
  static const IconData sell_outlined = IconData(0xf353, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">send</i> &#x2014; material icon named "send".
  static const IconData send = IconData(0xe571, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">send</i> &#x2014; material icon named "send" (sharp).
  static const IconData send_sharp = IconData(0xec68, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">send</i> &#x2014; material icon named "send" (round).
  static const IconData send_rounded = IconData(0xf0147, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">send</i> &#x2014; material icon named "send" (outlined).
  static const IconData send_outlined = IconData(0xf355, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">send_and_archive</i> &#x2014; material icon named "send and archive".
  static const IconData send_and_archive = IconData(0xe572, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">send_and_archive</i> &#x2014; material icon named "send and archive" (sharp).
  static const IconData send_and_archive_sharp = IconData(0xec67, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">send_and_archive</i> &#x2014; material icon named "send and archive" (round).
  static const IconData send_and_archive_rounded = IconData(0xf0146, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">send_and_archive</i> &#x2014; material icon named "send and archive" (outlined).
  static const IconData send_and_archive_outlined = IconData(0xf354, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">send_time_extension</i> &#x2014; material icon named "send time extension".
  static const IconData send_time_extension = IconData(0xf0565, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">send_time_extension</i> &#x2014; material icon named "send time extension" (sharp).
  static const IconData send_time_extension_sharp = IconData(0xf046e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">send_time_extension</i> &#x2014; material icon named "send time extension" (round).
  static const IconData send_time_extension_rounded = IconData(0xf037b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">send_time_extension</i> &#x2014; material icon named "send time extension" (outlined).
  static const IconData send_time_extension_outlined = IconData(0xf065c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">send_to_mobile</i> &#x2014; material icon named "send to mobile".
  static const IconData send_to_mobile = IconData(0xe573, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">send_to_mobile</i> &#x2014; material icon named "send to mobile" (sharp).
  static const IconData send_to_mobile_sharp = IconData(0xec69, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">send_to_mobile</i> &#x2014; material icon named "send to mobile" (round).
  static const IconData send_to_mobile_rounded = IconData(0xf0148, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">send_to_mobile</i> &#x2014; material icon named "send to mobile" (outlined).
  static const IconData send_to_mobile_outlined = IconData(0xf356, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sensor_door</i> &#x2014; material icon named "sensor door".
  static const IconData sensor_door = IconData(0xe574, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sensor_door</i> &#x2014; material icon named "sensor door" (sharp).
  static const IconData sensor_door_sharp = IconData(0xec6a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sensor_door</i> &#x2014; material icon named "sensor door" (round).
  static const IconData sensor_door_rounded = IconData(0xf0149, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sensor_door</i> &#x2014; material icon named "sensor door" (outlined).
  static const IconData sensor_door_outlined = IconData(0xf357, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sensor_occupied</i> &#x2014; material icon named "sensor occupied".
  static const IconData sensor_occupied = IconData(0xf07c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sensor_occupied</i> &#x2014; material icon named "sensor occupied" (sharp).
  static const IconData sensor_occupied_sharp = IconData(0xf0769, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sensor_occupied</i> &#x2014; material icon named "sensor occupied" (round).
  static const IconData sensor_occupied_rounded = IconData(0xf0819, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sensor_occupied</i> &#x2014; material icon named "sensor occupied" (outlined).
  static const IconData sensor_occupied_outlined = IconData(0xf0711, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sensor_window</i> &#x2014; material icon named "sensor window".
  static const IconData sensor_window = IconData(0xe575, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sensor_window</i> &#x2014; material icon named "sensor window" (sharp).
  static const IconData sensor_window_sharp = IconData(0xec6b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sensor_window</i> &#x2014; material icon named "sensor window" (round).
  static const IconData sensor_window_rounded = IconData(0xf014a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sensor_window</i> &#x2014; material icon named "sensor window" (outlined).
  static const IconData sensor_window_outlined = IconData(0xf358, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sensors</i> &#x2014; material icon named "sensors".
  static const IconData sensors = IconData(0xe576, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sensors</i> &#x2014; material icon named "sensors" (sharp).
  static const IconData sensors_sharp = IconData(0xec6d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sensors</i> &#x2014; material icon named "sensors" (round).
  static const IconData sensors_rounded = IconData(0xf014c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sensors</i> &#x2014; material icon named "sensors" (outlined).
  static const IconData sensors_outlined = IconData(0xf35a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sensors_off</i> &#x2014; material icon named "sensors off".
  static const IconData sensors_off = IconData(0xe577, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sensors_off</i> &#x2014; material icon named "sensors off" (sharp).
  static const IconData sensors_off_sharp = IconData(0xec6c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sensors_off</i> &#x2014; material icon named "sensors off" (round).
  static const IconData sensors_off_rounded = IconData(0xf014b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sensors_off</i> &#x2014; material icon named "sensors off" (outlined).
  static const IconData sensors_off_outlined = IconData(0xf359, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sentiment_dissatisfied</i> &#x2014; material icon named "sentiment dissatisfied".
  static const IconData sentiment_dissatisfied = IconData(0xe578, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sentiment_dissatisfied</i> &#x2014; material icon named "sentiment dissatisfied" (sharp).
  static const IconData sentiment_dissatisfied_sharp = IconData(0xec6e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sentiment_dissatisfied</i> &#x2014; material icon named "sentiment dissatisfied" (round).
  static const IconData sentiment_dissatisfied_rounded = IconData(0xf014d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sentiment_dissatisfied</i> &#x2014; material icon named "sentiment dissatisfied" (outlined).
  static const IconData sentiment_dissatisfied_outlined = IconData(0xf35b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sentiment_neutral</i> &#x2014; material icon named "sentiment neutral".
  static const IconData sentiment_neutral = IconData(0xe579, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sentiment_neutral</i> &#x2014; material icon named "sentiment neutral" (sharp).
  static const IconData sentiment_neutral_sharp = IconData(0xec6f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sentiment_neutral</i> &#x2014; material icon named "sentiment neutral" (round).
  static const IconData sentiment_neutral_rounded = IconData(0xf014e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sentiment_neutral</i> &#x2014; material icon named "sentiment neutral" (outlined).
  static const IconData sentiment_neutral_outlined = IconData(0xf35c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sentiment_satisfied</i> &#x2014; material icon named "sentiment satisfied".
  static const IconData sentiment_satisfied = IconData(0xe57a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sentiment_satisfied</i> &#x2014; material icon named "sentiment satisfied" (sharp).
  static const IconData sentiment_satisfied_sharp = IconData(0xec71, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sentiment_satisfied</i> &#x2014; material icon named "sentiment satisfied" (round).
  static const IconData sentiment_satisfied_rounded = IconData(0xf0150, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sentiment_satisfied</i> &#x2014; material icon named "sentiment satisfied" (outlined).
  static const IconData sentiment_satisfied_outlined = IconData(0xf35e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sentiment_satisfied_alt</i> &#x2014; material icon named "sentiment satisfied alt".
  static const IconData sentiment_satisfied_alt = IconData(0xe57b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sentiment_satisfied_alt</i> &#x2014; material icon named "sentiment satisfied alt" (sharp).
  static const IconData sentiment_satisfied_alt_sharp = IconData(0xec70, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sentiment_satisfied_alt</i> &#x2014; material icon named "sentiment satisfied alt" (round).
  static const IconData sentiment_satisfied_alt_rounded = IconData(0xf014f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sentiment_satisfied_alt</i> &#x2014; material icon named "sentiment satisfied alt" (outlined).
  static const IconData sentiment_satisfied_alt_outlined = IconData(0xf35d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sentiment_very_dissatisfied</i> &#x2014; material icon named "sentiment very dissatisfied".
  static const IconData sentiment_very_dissatisfied = IconData(0xe57c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sentiment_very_dissatisfied</i> &#x2014; material icon named "sentiment very dissatisfied" (sharp).
  static const IconData sentiment_very_dissatisfied_sharp = IconData(0xec72, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sentiment_very_dissatisfied</i> &#x2014; material icon named "sentiment very dissatisfied" (round).
  static const IconData sentiment_very_dissatisfied_rounded = IconData(0xf0151, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sentiment_very_dissatisfied</i> &#x2014; material icon named "sentiment very dissatisfied" (outlined).
  static const IconData sentiment_very_dissatisfied_outlined = IconData(0xf35f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sentiment_very_satisfied</i> &#x2014; material icon named "sentiment very satisfied".
  static const IconData sentiment_very_satisfied = IconData(0xe57d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sentiment_very_satisfied</i> &#x2014; material icon named "sentiment very satisfied" (sharp).
  static const IconData sentiment_very_satisfied_sharp = IconData(0xec73, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sentiment_very_satisfied</i> &#x2014; material icon named "sentiment very satisfied" (round).
  static const IconData sentiment_very_satisfied_rounded = IconData(0xf0152, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sentiment_very_satisfied</i> &#x2014; material icon named "sentiment very satisfied" (outlined).
  static const IconData sentiment_very_satisfied_outlined = IconData(0xf360, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">set_meal</i> &#x2014; material icon named "set meal".
  static const IconData set_meal = IconData(0xe57e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">set_meal</i> &#x2014; material icon named "set meal" (sharp).
  static const IconData set_meal_sharp = IconData(0xec74, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">set_meal</i> &#x2014; material icon named "set meal" (round).
  static const IconData set_meal_rounded = IconData(0xf0153, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">set_meal</i> &#x2014; material icon named "set meal" (outlined).
  static const IconData set_meal_outlined = IconData(0xf361, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings</i> &#x2014; material icon named "settings".
  static const IconData settings = IconData(0xe57f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings</i> &#x2014; material icon named "settings" (sharp).
  static const IconData settings_sharp = IconData(0xec85, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings</i> &#x2014; material icon named "settings" (round).
  static const IconData settings_rounded = IconData(0xf0164, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings</i> &#x2014; material icon named "settings" (outlined).
  static const IconData settings_outlined = IconData(0xf36e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_accessibility</i> &#x2014; material icon named "settings accessibility".
  static const IconData settings_accessibility = IconData(0xe580, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_accessibility</i> &#x2014; material icon named "settings accessibility" (sharp).
  static const IconData settings_accessibility_sharp = IconData(0xec75, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_accessibility</i> &#x2014; material icon named "settings accessibility" (round).
  static const IconData settings_accessibility_rounded = IconData(0xf0154, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_accessibility</i> &#x2014; material icon named "settings accessibility" (outlined).
  static const IconData settings_accessibility_outlined = IconData(0xf362, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_applications</i> &#x2014; material icon named "settings applications".
  static const IconData settings_applications = IconData(0xe581, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_applications</i> &#x2014; material icon named "settings applications" (sharp).
  static const IconData settings_applications_sharp = IconData(0xec76, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_applications</i> &#x2014; material icon named "settings applications" (round).
  static const IconData settings_applications_rounded = IconData(0xf0155, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_applications</i> &#x2014; material icon named "settings applications" (outlined).
  static const IconData settings_applications_outlined = IconData(0xf363, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_backup_restore</i> &#x2014; material icon named "settings backup restore".
  static const IconData settings_backup_restore = IconData(0xe582, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_backup_restore</i> &#x2014; material icon named "settings backup restore" (sharp).
  static const IconData settings_backup_restore_sharp = IconData(0xec77, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_backup_restore</i> &#x2014; material icon named "settings backup restore" (round).
  static const IconData settings_backup_restore_rounded = IconData(0xf0156, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_backup_restore</i> &#x2014; material icon named "settings backup restore" (outlined).
  static const IconData settings_backup_restore_outlined = IconData(0xf364, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_bluetooth</i> &#x2014; material icon named "settings bluetooth".
  static const IconData settings_bluetooth = IconData(0xe583, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_bluetooth</i> &#x2014; material icon named "settings bluetooth" (sharp).
  static const IconData settings_bluetooth_sharp = IconData(0xec78, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_bluetooth</i> &#x2014; material icon named "settings bluetooth" (round).
  static const IconData settings_bluetooth_rounded = IconData(0xf0157, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_bluetooth</i> &#x2014; material icon named "settings bluetooth" (outlined).
  static const IconData settings_bluetooth_outlined = IconData(0xf365, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_brightness</i> &#x2014; material icon named "settings brightness".
  static const IconData settings_brightness = IconData(0xe584, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_brightness</i> &#x2014; material icon named "settings brightness" (sharp).
  static const IconData settings_brightness_sharp = IconData(0xec79, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_brightness</i> &#x2014; material icon named "settings brightness" (round).
  static const IconData settings_brightness_rounded = IconData(0xf0158, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_brightness</i> &#x2014; material icon named "settings brightness" (outlined).
  static const IconData settings_brightness_outlined = IconData(0xf366, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_cell</i> &#x2014; material icon named "settings cell".
  static const IconData settings_cell = IconData(0xe585, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_cell</i> &#x2014; material icon named "settings cell" (sharp).
  static const IconData settings_cell_sharp = IconData(0xec7a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_cell</i> &#x2014; material icon named "settings cell" (round).
  static const IconData settings_cell_rounded = IconData(0xf0159, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_cell</i> &#x2014; material icon named "settings cell" (outlined).
  static const IconData settings_cell_outlined = IconData(0xf367, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_display</i> &#x2014; material icon named "settings display".
  static const IconData settings_display = IconData(0xe584, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_display</i> &#x2014; material icon named "settings display" (sharp).
  static const IconData settings_display_sharp = IconData(0xec79, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_display</i> &#x2014; material icon named "settings display" (round).
  static const IconData settings_display_rounded = IconData(0xf0158, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_display</i> &#x2014; material icon named "settings display" (outlined).
  static const IconData settings_display_outlined = IconData(0xf366, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_ethernet</i> &#x2014; material icon named "settings ethernet".
  static const IconData settings_ethernet = IconData(0xe586, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_ethernet</i> &#x2014; material icon named "settings ethernet" (sharp).
  static const IconData settings_ethernet_sharp = IconData(0xec7b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_ethernet</i> &#x2014; material icon named "settings ethernet" (round).
  static const IconData settings_ethernet_rounded = IconData(0xf015a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_ethernet</i> &#x2014; material icon named "settings ethernet" (outlined).
  static const IconData settings_ethernet_outlined = IconData(0xf368, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_input_antenna</i> &#x2014; material icon named "settings input antenna".
  static const IconData settings_input_antenna = IconData(0xe587, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_input_antenna</i> &#x2014; material icon named "settings input antenna" (sharp).
  static const IconData settings_input_antenna_sharp = IconData(0xec7c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_input_antenna</i> &#x2014; material icon named "settings input antenna" (round).
  static const IconData settings_input_antenna_rounded = IconData(0xf015b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_input_antenna</i> &#x2014; material icon named "settings input antenna" (outlined).
  static const IconData settings_input_antenna_outlined = IconData(0xf369, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_input_component</i> &#x2014; material icon named "settings input component".
  static const IconData settings_input_component = IconData(0xe588, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_input_component</i> &#x2014; material icon named "settings input component" (sharp).
  static const IconData settings_input_component_sharp = IconData(0xec7d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_input_component</i> &#x2014; material icon named "settings input component" (round).
  static const IconData settings_input_component_rounded = IconData(0xf015c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_input_component</i> &#x2014; material icon named "settings input component" (outlined).
  static const IconData settings_input_component_outlined = IconData(0xf36a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_input_composite</i> &#x2014; material icon named "settings input composite".
  static const IconData settings_input_composite = IconData(0xe589, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_input_composite</i> &#x2014; material icon named "settings input composite" (sharp).
  static const IconData settings_input_composite_sharp = IconData(0xec7e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_input_composite</i> &#x2014; material icon named "settings input composite" (round).
  static const IconData settings_input_composite_rounded = IconData(0xf015d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_input_composite</i> &#x2014; material icon named "settings input composite" (outlined).
  static const IconData settings_input_composite_outlined = IconData(0xf36b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_input_hdmi</i> &#x2014; material icon named "settings input hdmi".
  static const IconData settings_input_hdmi = IconData(0xe58a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_input_hdmi</i> &#x2014; material icon named "settings input hdmi" (sharp).
  static const IconData settings_input_hdmi_sharp = IconData(0xec7f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_input_hdmi</i> &#x2014; material icon named "settings input hdmi" (round).
  static const IconData settings_input_hdmi_rounded = IconData(0xf015e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_input_hdmi</i> &#x2014; material icon named "settings input hdmi" (outlined).
  static const IconData settings_input_hdmi_outlined = IconData(0xf36c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_input_svideo</i> &#x2014; material icon named "settings input svideo".
  static const IconData settings_input_svideo = IconData(0xe58b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_input_svideo</i> &#x2014; material icon named "settings input svideo" (sharp).
  static const IconData settings_input_svideo_sharp = IconData(0xec80, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_input_svideo</i> &#x2014; material icon named "settings input svideo" (round).
  static const IconData settings_input_svideo_rounded = IconData(0xf015f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_input_svideo</i> &#x2014; material icon named "settings input svideo" (outlined).
  static const IconData settings_input_svideo_outlined = IconData(0xf36d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_overscan</i> &#x2014; material icon named "settings overscan".
  static const IconData settings_overscan = IconData(0xe58c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_overscan</i> &#x2014; material icon named "settings overscan" (sharp).
  static const IconData settings_overscan_sharp = IconData(0xec81, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_overscan</i> &#x2014; material icon named "settings overscan" (round).
  static const IconData settings_overscan_rounded = IconData(0xf0160, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_overscan</i> &#x2014; material icon named "settings overscan" (outlined).
  static const IconData settings_overscan_outlined = IconData(0xf36f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_phone</i> &#x2014; material icon named "settings phone".
  static const IconData settings_phone = IconData(0xe58d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_phone</i> &#x2014; material icon named "settings phone" (sharp).
  static const IconData settings_phone_sharp = IconData(0xec82, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_phone</i> &#x2014; material icon named "settings phone" (round).
  static const IconData settings_phone_rounded = IconData(0xf0161, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_phone</i> &#x2014; material icon named "settings phone" (outlined).
  static const IconData settings_phone_outlined = IconData(0xf370, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_power</i> &#x2014; material icon named "settings power".
  static const IconData settings_power = IconData(0xe58e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_power</i> &#x2014; material icon named "settings power" (sharp).
  static const IconData settings_power_sharp = IconData(0xec83, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_power</i> &#x2014; material icon named "settings power" (round).
  static const IconData settings_power_rounded = IconData(0xf0162, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_power</i> &#x2014; material icon named "settings power" (outlined).
  static const IconData settings_power_outlined = IconData(0xf371, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_remote</i> &#x2014; material icon named "settings remote".
  static const IconData settings_remote = IconData(0xe58f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_remote</i> &#x2014; material icon named "settings remote" (sharp).
  static const IconData settings_remote_sharp = IconData(0xec84, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_remote</i> &#x2014; material icon named "settings remote" (round).
  static const IconData settings_remote_rounded = IconData(0xf0163, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_remote</i> &#x2014; material icon named "settings remote" (outlined).
  static const IconData settings_remote_outlined = IconData(0xf372, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_suggest</i> &#x2014; material icon named "settings suggest".
  static const IconData settings_suggest = IconData(0xe590, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_suggest</i> &#x2014; material icon named "settings suggest" (sharp).
  static const IconData settings_suggest_sharp = IconData(0xec86, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_suggest</i> &#x2014; material icon named "settings suggest" (round).
  static const IconData settings_suggest_rounded = IconData(0xf0165, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_suggest</i> &#x2014; material icon named "settings suggest" (outlined).
  static const IconData settings_suggest_outlined = IconData(0xf373, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_system_daydream</i> &#x2014; material icon named "settings system daydream".
  static const IconData settings_system_daydream = IconData(0xe591, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_system_daydream</i> &#x2014; material icon named "settings system daydream" (sharp).
  static const IconData settings_system_daydream_sharp = IconData(0xec87, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_system_daydream</i> &#x2014; material icon named "settings system daydream" (round).
  static const IconData settings_system_daydream_rounded = IconData(0xf0166, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_system_daydream</i> &#x2014; material icon named "settings system daydream" (outlined).
  static const IconData settings_system_daydream_outlined = IconData(0xf374, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">settings_voice</i> &#x2014; material icon named "settings voice".
  static const IconData settings_voice = IconData(0xe592, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">settings_voice</i> &#x2014; material icon named "settings voice" (sharp).
  static const IconData settings_voice_sharp = IconData(0xec88, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">settings_voice</i> &#x2014; material icon named "settings voice" (round).
  static const IconData settings_voice_rounded = IconData(0xf0167, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">settings_voice</i> &#x2014; material icon named "settings voice" (outlined).
  static const IconData settings_voice_outlined = IconData(0xf375, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">severe_cold</i> &#x2014; material icon named "severe cold".
  static const IconData severe_cold = IconData(0xf07c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">severe_cold</i> &#x2014; material icon named "severe cold" (sharp).
  static const IconData severe_cold_sharp = IconData(0xf076a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">severe_cold</i> &#x2014; material icon named "severe cold" (round).
  static const IconData severe_cold_rounded = IconData(0xf081a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">severe_cold</i> &#x2014; material icon named "severe cold" (outlined).
  static const IconData severe_cold_outlined = IconData(0xf0712, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">share</i> &#x2014; material icon named "share".
  static const IconData share = IconData(0xe593, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">share</i> &#x2014; material icon named "share" (sharp).
  static const IconData share_sharp = IconData(0xec8b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">share</i> &#x2014; material icon named "share" (round).
  static const IconData share_rounded = IconData(0xf016a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">share</i> &#x2014; material icon named "share" (outlined).
  static const IconData share_outlined = IconData(0xf378, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">share_arrival_time</i> &#x2014; material icon named "share arrival time".
  static const IconData share_arrival_time = IconData(0xe594, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">share_arrival_time</i> &#x2014; material icon named "share arrival time" (sharp).
  static const IconData share_arrival_time_sharp = IconData(0xec89, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">share_arrival_time</i> &#x2014; material icon named "share arrival time" (round).
  static const IconData share_arrival_time_rounded = IconData(0xf0168, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">share_arrival_time</i> &#x2014; material icon named "share arrival time" (outlined).
  static const IconData share_arrival_time_outlined = IconData(0xf376, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">share_location</i> &#x2014; material icon named "share location".
  static const IconData share_location = IconData(0xe595, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">share_location</i> &#x2014; material icon named "share location" (sharp).
  static const IconData share_location_sharp = IconData(0xec8a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">share_location</i> &#x2014; material icon named "share location" (round).
  static const IconData share_location_rounded = IconData(0xf0169, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">share_location</i> &#x2014; material icon named "share location" (outlined).
  static const IconData share_location_outlined = IconData(0xf377, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">shield</i> &#x2014; material icon named "shield".
  static const IconData shield = IconData(0xe596, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shield</i> &#x2014; material icon named "shield" (sharp).
  static const IconData shield_sharp = IconData(0xec8c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shield</i> &#x2014; material icon named "shield" (round).
  static const IconData shield_rounded = IconData(0xf016b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shield</i> &#x2014; material icon named "shield" (outlined).
  static const IconData shield_outlined = IconData(0xf379, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">shield_moon</i> &#x2014; material icon named "shield moon".
  static const IconData shield_moon = IconData(0xf0566, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shield_moon</i> &#x2014; material icon named "shield moon" (sharp).
  static const IconData shield_moon_sharp = IconData(0xf046f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shield_moon</i> &#x2014; material icon named "shield moon" (round).
  static const IconData shield_moon_rounded = IconData(0xf037c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shield_moon</i> &#x2014; material icon named "shield moon" (outlined).
  static const IconData shield_moon_outlined = IconData(0xf065d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">shop</i> &#x2014; material icon named "shop".
  static const IconData shop = IconData(0xe597, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shop</i> &#x2014; material icon named "shop" (sharp).
  static const IconData shop_sharp = IconData(0xec8e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shop</i> &#x2014; material icon named "shop" (round).
  static const IconData shop_rounded = IconData(0xf016d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shop</i> &#x2014; material icon named "shop" (outlined).
  static const IconData shop_outlined = IconData(0xf37b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">shop_2</i> &#x2014; material icon named "shop 2".
  static const IconData shop_2 = IconData(0xe598, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shop_2</i> &#x2014; material icon named "shop 2" (sharp).
  static const IconData shop_2_sharp = IconData(0xec8d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shop_2</i> &#x2014; material icon named "shop 2" (round).
  static const IconData shop_2_rounded = IconData(0xf016c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shop_2</i> &#x2014; material icon named "shop 2" (outlined).
  static const IconData shop_2_outlined = IconData(0xf37a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">shop_two</i> &#x2014; material icon named "shop two".
  static const IconData shop_two = IconData(0xe599, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shop_two</i> &#x2014; material icon named "shop two" (sharp).
  static const IconData shop_two_sharp = IconData(0xec8f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shop_two</i> &#x2014; material icon named "shop two" (round).
  static const IconData shop_two_rounded = IconData(0xf016e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shop_two</i> &#x2014; material icon named "shop two" (outlined).
  static const IconData shop_two_outlined = IconData(0xf37c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">shopify</i> &#x2014; material icon named "shopify".
  static const IconData shopify = IconData(0xf0567, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shopify</i> &#x2014; material icon named "shopify" (sharp).
  static const IconData shopify_sharp = IconData(0xf0470, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shopify</i> &#x2014; material icon named "shopify" (round).
  static const IconData shopify_rounded = IconData(0xf037d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shopify</i> &#x2014; material icon named "shopify" (outlined).
  static const IconData shopify_outlined = IconData(0xf065e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">shopping_bag</i> &#x2014; material icon named "shopping bag".
  static const IconData shopping_bag = IconData(0xe59a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shopping_bag</i> &#x2014; material icon named "shopping bag" (sharp).
  static const IconData shopping_bag_sharp = IconData(0xec90, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shopping_bag</i> &#x2014; material icon named "shopping bag" (round).
  static const IconData shopping_bag_rounded = IconData(0xf016f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shopping_bag</i> &#x2014; material icon named "shopping bag" (outlined).
  static const IconData shopping_bag_outlined = IconData(0xf37d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">shopping_basket</i> &#x2014; material icon named "shopping basket".
  static const IconData shopping_basket = IconData(0xe59b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shopping_basket</i> &#x2014; material icon named "shopping basket" (sharp).
  static const IconData shopping_basket_sharp = IconData(0xec91, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shopping_basket</i> &#x2014; material icon named "shopping basket" (round).
  static const IconData shopping_basket_rounded = IconData(0xf0170, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shopping_basket</i> &#x2014; material icon named "shopping basket" (outlined).
  static const IconData shopping_basket_outlined = IconData(0xf37e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">shopping_cart</i> &#x2014; material icon named "shopping cart".
  static const IconData shopping_cart = IconData(0xe59c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shopping_cart</i> &#x2014; material icon named "shopping cart" (sharp).
  static const IconData shopping_cart_sharp = IconData(0xec92, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shopping_cart</i> &#x2014; material icon named "shopping cart" (round).
  static const IconData shopping_cart_rounded = IconData(0xf0171, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shopping_cart</i> &#x2014; material icon named "shopping cart" (outlined).
  static const IconData shopping_cart_outlined = IconData(0xf37f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">shopping_cart_checkout</i> &#x2014; material icon named "shopping cart checkout".
  static const IconData shopping_cart_checkout = IconData(0xf0568, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shopping_cart_checkout</i> &#x2014; material icon named "shopping cart checkout" (sharp).
  static const IconData shopping_cart_checkout_sharp = IconData(0xf0471, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shopping_cart_checkout</i> &#x2014; material icon named "shopping cart checkout" (round).
  static const IconData shopping_cart_checkout_rounded = IconData(0xf037e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shopping_cart_checkout</i> &#x2014; material icon named "shopping cart checkout" (outlined).
  static const IconData shopping_cart_checkout_outlined = IconData(0xf065f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">short_text</i> &#x2014; material icon named "short text".
  static const IconData short_text = IconData(0xe59d, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">short_text</i> &#x2014; material icon named "short text" (sharp).
  static const IconData short_text_sharp = IconData(0xec93, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">short_text</i> &#x2014; material icon named "short text" (round).
  static const IconData short_text_rounded = IconData(0xf0172, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">short_text</i> &#x2014; material icon named "short text" (outlined).
  static const IconData short_text_outlined = IconData(0xf380, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">shortcut</i> &#x2014; material icon named "shortcut".
  static const IconData shortcut = IconData(0xe59e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shortcut</i> &#x2014; material icon named "shortcut" (sharp).
  static const IconData shortcut_sharp = IconData(0xec94, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shortcut</i> &#x2014; material icon named "shortcut" (round).
  static const IconData shortcut_rounded = IconData(0xf0173, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shortcut</i> &#x2014; material icon named "shortcut" (outlined).
  static const IconData shortcut_outlined = IconData(0xf381, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">show_chart</i> &#x2014; material icon named "show chart".
  static const IconData show_chart = IconData(0xe59f, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">show_chart</i> &#x2014; material icon named "show chart" (sharp).
  static const IconData show_chart_sharp = IconData(0xec95, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">show_chart</i> &#x2014; material icon named "show chart" (round).
  static const IconData show_chart_rounded = IconData(0xf0174, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">show_chart</i> &#x2014; material icon named "show chart" (outlined).
  static const IconData show_chart_outlined = IconData(0xf382, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">shower</i> &#x2014; material icon named "shower".
  static const IconData shower = IconData(0xe5a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shower</i> &#x2014; material icon named "shower" (sharp).
  static const IconData shower_sharp = IconData(0xec96, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shower</i> &#x2014; material icon named "shower" (round).
  static const IconData shower_rounded = IconData(0xf0175, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shower</i> &#x2014; material icon named "shower" (outlined).
  static const IconData shower_outlined = IconData(0xf383, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">shuffle</i> &#x2014; material icon named "shuffle".
  static const IconData shuffle = IconData(0xe5a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shuffle</i> &#x2014; material icon named "shuffle" (sharp).
  static const IconData shuffle_sharp = IconData(0xec98, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shuffle</i> &#x2014; material icon named "shuffle" (round).
  static const IconData shuffle_rounded = IconData(0xf0177, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shuffle</i> &#x2014; material icon named "shuffle" (outlined).
  static const IconData shuffle_outlined = IconData(0xf385, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">shuffle_on</i> &#x2014; material icon named "shuffle on".
  static const IconData shuffle_on = IconData(0xe5a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shuffle_on</i> &#x2014; material icon named "shuffle on" (sharp).
  static const IconData shuffle_on_sharp = IconData(0xec97, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shuffle_on</i> &#x2014; material icon named "shuffle on" (round).
  static const IconData shuffle_on_rounded = IconData(0xf0176, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shuffle_on</i> &#x2014; material icon named "shuffle on" (outlined).
  static const IconData shuffle_on_outlined = IconData(0xf384, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">shutter_speed</i> &#x2014; material icon named "shutter speed".
  static const IconData shutter_speed = IconData(0xe5a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">shutter_speed</i> &#x2014; material icon named "shutter speed" (sharp).
  static const IconData shutter_speed_sharp = IconData(0xec99, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">shutter_speed</i> &#x2014; material icon named "shutter speed" (round).
  static const IconData shutter_speed_rounded = IconData(0xf0178, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">shutter_speed</i> &#x2014; material icon named "shutter speed" (outlined).
  static const IconData shutter_speed_outlined = IconData(0xf386, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sick</i> &#x2014; material icon named "sick".
  static const IconData sick = IconData(0xe5a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sick</i> &#x2014; material icon named "sick" (sharp).
  static const IconData sick_sharp = IconData(0xec9a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sick</i> &#x2014; material icon named "sick" (round).
  static const IconData sick_rounded = IconData(0xf0179, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sick</i> &#x2014; material icon named "sick" (outlined).
  static const IconData sick_outlined = IconData(0xf387, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sign_language</i> &#x2014; material icon named "sign language".
  static const IconData sign_language = IconData(0xf07c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sign_language</i> &#x2014; material icon named "sign language" (sharp).
  static const IconData sign_language_sharp = IconData(0xf076b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sign_language</i> &#x2014; material icon named "sign language" (round).
  static const IconData sign_language_rounded = IconData(0xf081b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sign_language</i> &#x2014; material icon named "sign language" (outlined).
  static const IconData sign_language_outlined = IconData(0xf0713, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_cellular_0_bar</i> &#x2014; material icon named "signal cellular 0 bar".
  static const IconData signal_cellular_0_bar = IconData(0xe5a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_cellular_0_bar</i> &#x2014; material icon named "signal cellular 0 bar" (sharp).
  static const IconData signal_cellular_0_bar_sharp = IconData(0xec9b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_cellular_0_bar</i> &#x2014; material icon named "signal cellular 0 bar" (round).
  static const IconData signal_cellular_0_bar_rounded = IconData(0xf017a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_cellular_0_bar</i> &#x2014; material icon named "signal cellular 0 bar" (outlined).
  static const IconData signal_cellular_0_bar_outlined = IconData(0xf388, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_cellular_4_bar</i> &#x2014; material icon named "signal cellular 4 bar".
  static const IconData signal_cellular_4_bar = IconData(0xe5a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_cellular_4_bar</i> &#x2014; material icon named "signal cellular 4 bar" (sharp).
  static const IconData signal_cellular_4_bar_sharp = IconData(0xec9c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_cellular_4_bar</i> &#x2014; material icon named "signal cellular 4 bar" (round).
  static const IconData signal_cellular_4_bar_rounded = IconData(0xf017b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_cellular_4_bar</i> &#x2014; material icon named "signal cellular 4 bar" (outlined).
  static const IconData signal_cellular_4_bar_outlined = IconData(0xf389, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_cellular_alt</i> &#x2014; material icon named "signal cellular alt".
  static const IconData signal_cellular_alt = IconData(0xe5a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_cellular_alt</i> &#x2014; material icon named "signal cellular alt" (sharp).
  static const IconData signal_cellular_alt_sharp = IconData(0xec9d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_cellular_alt</i> &#x2014; material icon named "signal cellular alt" (round).
  static const IconData signal_cellular_alt_rounded = IconData(0xf017c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_cellular_alt</i> &#x2014; material icon named "signal cellular alt" (outlined).
  static const IconData signal_cellular_alt_outlined = IconData(0xf38a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_cellular_alt_1_bar</i> &#x2014; material icon named "signal cellular alt 1 bar".
  static const IconData signal_cellular_alt_1_bar = IconData(0xf07c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_cellular_alt_1_bar</i> &#x2014; material icon named "signal cellular alt 1 bar" (sharp).
  static const IconData signal_cellular_alt_1_bar_sharp = IconData(0xf076c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_cellular_alt_1_bar</i> &#x2014; material icon named "signal cellular alt 1 bar" (round).
  static const IconData signal_cellular_alt_1_bar_rounded = IconData(0xf081c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_cellular_alt_1_bar</i> &#x2014; material icon named "signal cellular alt 1 bar" (outlined).
  static const IconData signal_cellular_alt_1_bar_outlined = IconData(0xf0714, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_cellular_alt_2_bar</i> &#x2014; material icon named "signal cellular alt 2 bar".
  static const IconData signal_cellular_alt_2_bar = IconData(0xf07c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_cellular_alt_2_bar</i> &#x2014; material icon named "signal cellular alt 2 bar" (sharp).
  static const IconData signal_cellular_alt_2_bar_sharp = IconData(0xf076d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_cellular_alt_2_bar</i> &#x2014; material icon named "signal cellular alt 2 bar" (round).
  static const IconData signal_cellular_alt_2_bar_rounded = IconData(0xf081d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_cellular_alt_2_bar</i> &#x2014; material icon named "signal cellular alt 2 bar" (outlined).
  static const IconData signal_cellular_alt_2_bar_outlined = IconData(0xf0715, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_cellular_connected_no_internet_0_bar</i> &#x2014; material icon named "signal cellular connected no internet 0 bar".
  static const IconData signal_cellular_connected_no_internet_0_bar = IconData(0xe5a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_cellular_connected_no_internet_0_bar</i> &#x2014; material icon named "signal cellular connected no internet 0 bar" (sharp).
  static const IconData signal_cellular_connected_no_internet_0_bar_sharp = IconData(0xec9e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_cellular_connected_no_internet_0_bar</i> &#x2014; material icon named "signal cellular connected no internet 0 bar" (round).
  static const IconData signal_cellular_connected_no_internet_0_bar_rounded = IconData(0xf017d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_cellular_connected_no_internet_0_bar</i> &#x2014; material icon named "signal cellular connected no internet 0 bar" (outlined).
  static const IconData signal_cellular_connected_no_internet_0_bar_outlined = IconData(0xf38b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_cellular_connected_no_internet_4_bar</i> &#x2014; material icon named "signal cellular connected no internet 4 bar".
  static const IconData signal_cellular_connected_no_internet_4_bar = IconData(0xe5a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_cellular_connected_no_internet_4_bar</i> &#x2014; material icon named "signal cellular connected no internet 4 bar" (sharp).
  static const IconData signal_cellular_connected_no_internet_4_bar_sharp = IconData(0xec9f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_cellular_connected_no_internet_4_bar</i> &#x2014; material icon named "signal cellular connected no internet 4 bar" (round).
  static const IconData signal_cellular_connected_no_internet_4_bar_rounded = IconData(0xf017e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_cellular_connected_no_internet_4_bar</i> &#x2014; material icon named "signal cellular connected no internet 4 bar" (outlined).
  static const IconData signal_cellular_connected_no_internet_4_bar_outlined = IconData(0xf38c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_cellular_no_sim</i> &#x2014; material icon named "signal cellular no sim".
  static const IconData signal_cellular_no_sim = IconData(0xe5aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_cellular_no_sim</i> &#x2014; material icon named "signal cellular no sim" (sharp).
  static const IconData signal_cellular_no_sim_sharp = IconData(0xeca0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_cellular_no_sim</i> &#x2014; material icon named "signal cellular no sim" (round).
  static const IconData signal_cellular_no_sim_rounded = IconData(0xf017f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_cellular_no_sim</i> &#x2014; material icon named "signal cellular no sim" (outlined).
  static const IconData signal_cellular_no_sim_outlined = IconData(0xf38d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_cellular_nodata</i> &#x2014; material icon named "signal cellular nodata".
  static const IconData signal_cellular_nodata = IconData(0xe5ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_cellular_nodata</i> &#x2014; material icon named "signal cellular nodata" (sharp).
  static const IconData signal_cellular_nodata_sharp = IconData(0xeca1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_cellular_nodata</i> &#x2014; material icon named "signal cellular nodata" (round).
  static const IconData signal_cellular_nodata_rounded = IconData(0xf0180, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_cellular_nodata</i> &#x2014; material icon named "signal cellular nodata" (outlined).
  static const IconData signal_cellular_nodata_outlined = IconData(0xf38e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_cellular_null</i> &#x2014; material icon named "signal cellular null".
  static const IconData signal_cellular_null = IconData(0xe5ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_cellular_null</i> &#x2014; material icon named "signal cellular null" (sharp).
  static const IconData signal_cellular_null_sharp = IconData(0xeca2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_cellular_null</i> &#x2014; material icon named "signal cellular null" (round).
  static const IconData signal_cellular_null_rounded = IconData(0xf0181, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_cellular_null</i> &#x2014; material icon named "signal cellular null" (outlined).
  static const IconData signal_cellular_null_outlined = IconData(0xf38f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_cellular_off</i> &#x2014; material icon named "signal cellular off".
  static const IconData signal_cellular_off = IconData(0xe5ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_cellular_off</i> &#x2014; material icon named "signal cellular off" (sharp).
  static const IconData signal_cellular_off_sharp = IconData(0xeca3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_cellular_off</i> &#x2014; material icon named "signal cellular off" (round).
  static const IconData signal_cellular_off_rounded = IconData(0xf0182, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_cellular_off</i> &#x2014; material icon named "signal cellular off" (outlined).
  static const IconData signal_cellular_off_outlined = IconData(0xf390, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_wifi_0_bar</i> &#x2014; material icon named "signal wifi 0 bar".
  static const IconData signal_wifi_0_bar = IconData(0xe5ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_wifi_0_bar</i> &#x2014; material icon named "signal wifi 0 bar" (sharp).
  static const IconData signal_wifi_0_bar_sharp = IconData(0xeca4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_wifi_0_bar</i> &#x2014; material icon named "signal wifi 0 bar" (round).
  static const IconData signal_wifi_0_bar_rounded = IconData(0xf0183, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_wifi_0_bar</i> &#x2014; material icon named "signal wifi 0 bar" (outlined).
  static const IconData signal_wifi_0_bar_outlined = IconData(0xf391, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_wifi_4_bar</i> &#x2014; material icon named "signal wifi 4 bar".
  static const IconData signal_wifi_4_bar = IconData(0xe5af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_wifi_4_bar</i> &#x2014; material icon named "signal wifi 4 bar" (sharp).
  static const IconData signal_wifi_4_bar_sharp = IconData(0xeca6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_wifi_4_bar</i> &#x2014; material icon named "signal wifi 4 bar" (round).
  static const IconData signal_wifi_4_bar_rounded = IconData(0xf0185, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_wifi_4_bar</i> &#x2014; material icon named "signal wifi 4 bar" (outlined).
  static const IconData signal_wifi_4_bar_outlined = IconData(0xf393, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_wifi_4_bar_lock</i> &#x2014; material icon named "signal wifi 4 bar lock".
  static const IconData signal_wifi_4_bar_lock = IconData(0xe5b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_wifi_4_bar_lock</i> &#x2014; material icon named "signal wifi 4 bar lock" (sharp).
  static const IconData signal_wifi_4_bar_lock_sharp = IconData(0xeca5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_wifi_4_bar_lock</i> &#x2014; material icon named "signal wifi 4 bar lock" (round).
  static const IconData signal_wifi_4_bar_lock_rounded = IconData(0xf0184, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_wifi_4_bar_lock</i> &#x2014; material icon named "signal wifi 4 bar lock" (outlined).
  static const IconData signal_wifi_4_bar_lock_outlined = IconData(0xf392, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_wifi_bad</i> &#x2014; material icon named "signal wifi bad".
  static const IconData signal_wifi_bad = IconData(0xe5b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_wifi_bad</i> &#x2014; material icon named "signal wifi bad" (sharp).
  static const IconData signal_wifi_bad_sharp = IconData(0xeca7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_wifi_bad</i> &#x2014; material icon named "signal wifi bad" (round).
  static const IconData signal_wifi_bad_rounded = IconData(0xf0186, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_wifi_bad</i> &#x2014; material icon named "signal wifi bad" (outlined).
  static const IconData signal_wifi_bad_outlined = IconData(0xf394, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_wifi_connected_no_internet_4</i> &#x2014; material icon named "signal wifi connected no internet 4".
  static const IconData signal_wifi_connected_no_internet_4 = IconData(0xe5b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_wifi_connected_no_internet_4</i> &#x2014; material icon named "signal wifi connected no internet 4" (sharp).
  static const IconData signal_wifi_connected_no_internet_4_sharp = IconData(0xeca8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_wifi_connected_no_internet_4</i> &#x2014; material icon named "signal wifi connected no internet 4" (round).
  static const IconData signal_wifi_connected_no_internet_4_rounded = IconData(0xf0187, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_wifi_connected_no_internet_4</i> &#x2014; material icon named "signal wifi connected no internet 4" (outlined).
  static const IconData signal_wifi_connected_no_internet_4_outlined = IconData(0xf395, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_wifi_off</i> &#x2014; material icon named "signal wifi off".
  static const IconData signal_wifi_off = IconData(0xe5b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_wifi_off</i> &#x2014; material icon named "signal wifi off" (sharp).
  static const IconData signal_wifi_off_sharp = IconData(0xeca9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_wifi_off</i> &#x2014; material icon named "signal wifi off" (round).
  static const IconData signal_wifi_off_rounded = IconData(0xf0188, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_wifi_off</i> &#x2014; material icon named "signal wifi off" (outlined).
  static const IconData signal_wifi_off_outlined = IconData(0xf396, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_wifi_statusbar_4_bar</i> &#x2014; material icon named "signal wifi statusbar 4 bar".
  static const IconData signal_wifi_statusbar_4_bar = IconData(0xe5b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_wifi_statusbar_4_bar</i> &#x2014; material icon named "signal wifi statusbar 4 bar" (sharp).
  static const IconData signal_wifi_statusbar_4_bar_sharp = IconData(0xecaa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_wifi_statusbar_4_bar</i> &#x2014; material icon named "signal wifi statusbar 4 bar" (round).
  static const IconData signal_wifi_statusbar_4_bar_rounded = IconData(0xf0189, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_wifi_statusbar_4_bar</i> &#x2014; material icon named "signal wifi statusbar 4 bar" (outlined).
  static const IconData signal_wifi_statusbar_4_bar_outlined = IconData(0xf397, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_wifi_statusbar_connected_no_internet_4</i> &#x2014; material icon named "signal wifi statusbar connected no internet 4".
  static const IconData signal_wifi_statusbar_connected_no_internet_4 = IconData(0xe5b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_wifi_statusbar_connected_no_internet_4</i> &#x2014; material icon named "signal wifi statusbar connected no internet 4" (sharp).
  static const IconData signal_wifi_statusbar_connected_no_internet_4_sharp = IconData(0xecab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_wifi_statusbar_connected_no_internet_4</i> &#x2014; material icon named "signal wifi statusbar connected no internet 4" (round).
  static const IconData signal_wifi_statusbar_connected_no_internet_4_rounded = IconData(0xf018a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_wifi_statusbar_connected_no_internet_4</i> &#x2014; material icon named "signal wifi statusbar connected no internet 4" (outlined).
  static const IconData signal_wifi_statusbar_connected_no_internet_4_outlined = IconData(0xf398, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signal_wifi_statusbar_null</i> &#x2014; material icon named "signal wifi statusbar null".
  static const IconData signal_wifi_statusbar_null = IconData(0xe5b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signal_wifi_statusbar_null</i> &#x2014; material icon named "signal wifi statusbar null" (sharp).
  static const IconData signal_wifi_statusbar_null_sharp = IconData(0xecac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signal_wifi_statusbar_null</i> &#x2014; material icon named "signal wifi statusbar null" (round).
  static const IconData signal_wifi_statusbar_null_rounded = IconData(0xf018b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signal_wifi_statusbar_null</i> &#x2014; material icon named "signal wifi statusbar null" (outlined).
  static const IconData signal_wifi_statusbar_null_outlined = IconData(0xf399, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">signpost</i> &#x2014; material icon named "signpost".
  static const IconData signpost = IconData(0xf0569, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">signpost</i> &#x2014; material icon named "signpost" (sharp).
  static const IconData signpost_sharp = IconData(0xf0472, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">signpost</i> &#x2014; material icon named "signpost" (round).
  static const IconData signpost_rounded = IconData(0xf037f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">signpost</i> &#x2014; material icon named "signpost" (outlined).
  static const IconData signpost_outlined = IconData(0xf0660, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sim_card</i> &#x2014; material icon named "sim card".
  static const IconData sim_card = IconData(0xe5b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sim_card</i> &#x2014; material icon named "sim card" (sharp).
  static const IconData sim_card_sharp = IconData(0xecaf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sim_card</i> &#x2014; material icon named "sim card" (round).
  static const IconData sim_card_rounded = IconData(0xf018e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sim_card</i> &#x2014; material icon named "sim card" (outlined).
  static const IconData sim_card_outlined = IconData(0xf39c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sim_card_alert</i> &#x2014; material icon named "sim card alert".
  static const IconData sim_card_alert = IconData(0xe5b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sim_card_alert</i> &#x2014; material icon named "sim card alert" (sharp).
  static const IconData sim_card_alert_sharp = IconData(0xecad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sim_card_alert</i> &#x2014; material icon named "sim card alert" (round).
  static const IconData sim_card_alert_rounded = IconData(0xf018c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sim_card_alert</i> &#x2014; material icon named "sim card alert" (outlined).
  static const IconData sim_card_alert_outlined = IconData(0xf39a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sim_card_download</i> &#x2014; material icon named "sim card download".
  static const IconData sim_card_download = IconData(0xe5b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sim_card_download</i> &#x2014; material icon named "sim card download" (sharp).
  static const IconData sim_card_download_sharp = IconData(0xecae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sim_card_download</i> &#x2014; material icon named "sim card download" (round).
  static const IconData sim_card_download_rounded = IconData(0xf018d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sim_card_download</i> &#x2014; material icon named "sim card download" (outlined).
  static const IconData sim_card_download_outlined = IconData(0xf39b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">single_bed</i> &#x2014; material icon named "single bed".
  static const IconData single_bed = IconData(0xe5ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">single_bed</i> &#x2014; material icon named "single bed" (sharp).
  static const IconData single_bed_sharp = IconData(0xecb0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">single_bed</i> &#x2014; material icon named "single bed" (round).
  static const IconData single_bed_rounded = IconData(0xf018f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">single_bed</i> &#x2014; material icon named "single bed" (outlined).
  static const IconData single_bed_outlined = IconData(0xf39d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sip</i> &#x2014; material icon named "sip".
  static const IconData sip = IconData(0xe5bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sip</i> &#x2014; material icon named "sip" (sharp).
  static const IconData sip_sharp = IconData(0xecb1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sip</i> &#x2014; material icon named "sip" (round).
  static const IconData sip_rounded = IconData(0xf0190, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sip</i> &#x2014; material icon named "sip" (outlined).
  static const IconData sip_outlined = IconData(0xf39e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">skateboarding</i> &#x2014; material icon named "skateboarding".
  static const IconData skateboarding = IconData(0xe5bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">skateboarding</i> &#x2014; material icon named "skateboarding" (sharp).
  static const IconData skateboarding_sharp = IconData(0xecb2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">skateboarding</i> &#x2014; material icon named "skateboarding" (round).
  static const IconData skateboarding_rounded = IconData(0xf0191, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">skateboarding</i> &#x2014; material icon named "skateboarding" (outlined).
  static const IconData skateboarding_outlined = IconData(0xf39f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">skip_next</i> &#x2014; material icon named "skip next".
  static const IconData skip_next = IconData(0xe5bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">skip_next</i> &#x2014; material icon named "skip next" (sharp).
  static const IconData skip_next_sharp = IconData(0xecb3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">skip_next</i> &#x2014; material icon named "skip next" (round).
  static const IconData skip_next_rounded = IconData(0xf0192, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">skip_next</i> &#x2014; material icon named "skip next" (outlined).
  static const IconData skip_next_outlined = IconData(0xf3a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">skip_previous</i> &#x2014; material icon named "skip previous".
  static const IconData skip_previous = IconData(0xe5be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">skip_previous</i> &#x2014; material icon named "skip previous" (sharp).
  static const IconData skip_previous_sharp = IconData(0xecb4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">skip_previous</i> &#x2014; material icon named "skip previous" (round).
  static const IconData skip_previous_rounded = IconData(0xf0193, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">skip_previous</i> &#x2014; material icon named "skip previous" (outlined).
  static const IconData skip_previous_outlined = IconData(0xf3a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sledding</i> &#x2014; material icon named "sledding".
  static const IconData sledding = IconData(0xe5bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sledding</i> &#x2014; material icon named "sledding" (sharp).
  static const IconData sledding_sharp = IconData(0xecb5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sledding</i> &#x2014; material icon named "sledding" (round).
  static const IconData sledding_rounded = IconData(0xf0194, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sledding</i> &#x2014; material icon named "sledding" (outlined).
  static const IconData sledding_outlined = IconData(0xf3a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">slideshow</i> &#x2014; material icon named "slideshow".
  static const IconData slideshow = IconData(0xe5c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">slideshow</i> &#x2014; material icon named "slideshow" (sharp).
  static const IconData slideshow_sharp = IconData(0xecb6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">slideshow</i> &#x2014; material icon named "slideshow" (round).
  static const IconData slideshow_rounded = IconData(0xf0195, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">slideshow</i> &#x2014; material icon named "slideshow" (outlined).
  static const IconData slideshow_outlined = IconData(0xf3a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">slow_motion_video</i> &#x2014; material icon named "slow motion video".
  static const IconData slow_motion_video = IconData(0xe5c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">slow_motion_video</i> &#x2014; material icon named "slow motion video" (sharp).
  static const IconData slow_motion_video_sharp = IconData(0xecb7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">slow_motion_video</i> &#x2014; material icon named "slow motion video" (round).
  static const IconData slow_motion_video_rounded = IconData(0xf0196, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">slow_motion_video</i> &#x2014; material icon named "slow motion video" (outlined).
  static const IconData slow_motion_video_outlined = IconData(0xf3a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">smart_button</i> &#x2014; material icon named "smart button".
  static const IconData smart_button = IconData(0xe5c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">smart_button</i> &#x2014; material icon named "smart button" (sharp).
  static const IconData smart_button_sharp = IconData(0xecb8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">smart_button</i> &#x2014; material icon named "smart button" (round).
  static const IconData smart_button_rounded = IconData(0xf0197, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">smart_button</i> &#x2014; material icon named "smart button" (outlined).
  static const IconData smart_button_outlined = IconData(0xf3a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">smart_display</i> &#x2014; material icon named "smart display".
  static const IconData smart_display = IconData(0xe5c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">smart_display</i> &#x2014; material icon named "smart display" (sharp).
  static const IconData smart_display_sharp = IconData(0xecb9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">smart_display</i> &#x2014; material icon named "smart display" (round).
  static const IconData smart_display_rounded = IconData(0xf0198, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">smart_display</i> &#x2014; material icon named "smart display" (outlined).
  static const IconData smart_display_outlined = IconData(0xf3a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">smart_screen</i> &#x2014; material icon named "smart screen".
  static const IconData smart_screen = IconData(0xe5c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">smart_screen</i> &#x2014; material icon named "smart screen" (sharp).
  static const IconData smart_screen_sharp = IconData(0xecba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">smart_screen</i> &#x2014; material icon named "smart screen" (round).
  static const IconData smart_screen_rounded = IconData(0xf0199, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">smart_screen</i> &#x2014; material icon named "smart screen" (outlined).
  static const IconData smart_screen_outlined = IconData(0xf3a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">smart_toy</i> &#x2014; material icon named "smart toy".
  static const IconData smart_toy = IconData(0xe5c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">smart_toy</i> &#x2014; material icon named "smart toy" (sharp).
  static const IconData smart_toy_sharp = IconData(0xecbb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">smart_toy</i> &#x2014; material icon named "smart toy" (round).
  static const IconData smart_toy_rounded = IconData(0xf019a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">smart_toy</i> &#x2014; material icon named "smart toy" (outlined).
  static const IconData smart_toy_outlined = IconData(0xf3a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">smartphone</i> &#x2014; material icon named "smartphone".
  static const IconData smartphone = IconData(0xe5c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">smartphone</i> &#x2014; material icon named "smartphone" (sharp).
  static const IconData smartphone_sharp = IconData(0xecbc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">smartphone</i> &#x2014; material icon named "smartphone" (round).
  static const IconData smartphone_rounded = IconData(0xf019b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">smartphone</i> &#x2014; material icon named "smartphone" (outlined).
  static const IconData smartphone_outlined = IconData(0xf3a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">smoke_free</i> &#x2014; material icon named "smoke free".
  static const IconData smoke_free = IconData(0xe5c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">smoke_free</i> &#x2014; material icon named "smoke free" (sharp).
  static const IconData smoke_free_sharp = IconData(0xecbd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">smoke_free</i> &#x2014; material icon named "smoke free" (round).
  static const IconData smoke_free_rounded = IconData(0xf019c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">smoke_free</i> &#x2014; material icon named "smoke free" (outlined).
  static const IconData smoke_free_outlined = IconData(0xf3aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">smoking_rooms</i> &#x2014; material icon named "smoking rooms".
  static const IconData smoking_rooms = IconData(0xe5c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">smoking_rooms</i> &#x2014; material icon named "smoking rooms" (sharp).
  static const IconData smoking_rooms_sharp = IconData(0xecbe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">smoking_rooms</i> &#x2014; material icon named "smoking rooms" (round).
  static const IconData smoking_rooms_rounded = IconData(0xf019d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">smoking_rooms</i> &#x2014; material icon named "smoking rooms" (outlined).
  static const IconData smoking_rooms_outlined = IconData(0xf3ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sms</i> &#x2014; material icon named "sms".
  static const IconData sms = IconData(0xe5c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sms</i> &#x2014; material icon named "sms" (sharp).
  static const IconData sms_sharp = IconData(0xecc0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sms</i> &#x2014; material icon named "sms" (round).
  static const IconData sms_rounded = IconData(0xf019f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sms</i> &#x2014; material icon named "sms" (outlined).
  static const IconData sms_outlined = IconData(0xf3ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sms_failed</i> &#x2014; material icon named "sms failed".
  static const IconData sms_failed = IconData(0xe5ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sms_failed</i> &#x2014; material icon named "sms failed" (sharp).
  static const IconData sms_failed_sharp = IconData(0xecbf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sms_failed</i> &#x2014; material icon named "sms failed" (round).
  static const IconData sms_failed_rounded = IconData(0xf019e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sms_failed</i> &#x2014; material icon named "sms failed" (outlined).
  static const IconData sms_failed_outlined = IconData(0xf3ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">snapchat</i> &#x2014; material icon named "snapchat".
  static const IconData snapchat = IconData(0xf056a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">snapchat</i> &#x2014; material icon named "snapchat" (sharp).
  static const IconData snapchat_sharp = IconData(0xf0473, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">snapchat</i> &#x2014; material icon named "snapchat" (round).
  static const IconData snapchat_rounded = IconData(0xf0380, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">snapchat</i> &#x2014; material icon named "snapchat" (outlined).
  static const IconData snapchat_outlined = IconData(0xf0661, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">snippet_folder</i> &#x2014; material icon named "snippet folder".
  static const IconData snippet_folder = IconData(0xe5cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">snippet_folder</i> &#x2014; material icon named "snippet folder" (sharp).
  static const IconData snippet_folder_sharp = IconData(0xecc1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">snippet_folder</i> &#x2014; material icon named "snippet folder" (round).
  static const IconData snippet_folder_rounded = IconData(0xf01a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">snippet_folder</i> &#x2014; material icon named "snippet folder" (outlined).
  static const IconData snippet_folder_outlined = IconData(0xf3ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">snooze</i> &#x2014; material icon named "snooze".
  static const IconData snooze = IconData(0xe5cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">snooze</i> &#x2014; material icon named "snooze" (sharp).
  static const IconData snooze_sharp = IconData(0xecc2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">snooze</i> &#x2014; material icon named "snooze" (round).
  static const IconData snooze_rounded = IconData(0xf01a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">snooze</i> &#x2014; material icon named "snooze" (outlined).
  static const IconData snooze_outlined = IconData(0xf3af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">snowboarding</i> &#x2014; material icon named "snowboarding".
  static const IconData snowboarding = IconData(0xe5cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">snowboarding</i> &#x2014; material icon named "snowboarding" (sharp).
  static const IconData snowboarding_sharp = IconData(0xecc3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">snowboarding</i> &#x2014; material icon named "snowboarding" (round).
  static const IconData snowboarding_rounded = IconData(0xf01a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">snowboarding</i> &#x2014; material icon named "snowboarding" (outlined).
  static const IconData snowboarding_outlined = IconData(0xf3b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">snowing</i> &#x2014; material icon named "snowing".
  static const IconData snowing = IconData(0xf056b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">snowmobile</i> &#x2014; material icon named "snowmobile".
  static const IconData snowmobile = IconData(0xe5ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">snowmobile</i> &#x2014; material icon named "snowmobile" (sharp).
  static const IconData snowmobile_sharp = IconData(0xecc4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">snowmobile</i> &#x2014; material icon named "snowmobile" (round).
  static const IconData snowmobile_rounded = IconData(0xf01a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">snowmobile</i> &#x2014; material icon named "snowmobile" (outlined).
  static const IconData snowmobile_outlined = IconData(0xf3b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">snowshoeing</i> &#x2014; material icon named "snowshoeing".
  static const IconData snowshoeing = IconData(0xe5cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">snowshoeing</i> &#x2014; material icon named "snowshoeing" (sharp).
  static const IconData snowshoeing_sharp = IconData(0xecc5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">snowshoeing</i> &#x2014; material icon named "snowshoeing" (round).
  static const IconData snowshoeing_rounded = IconData(0xf01a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">snowshoeing</i> &#x2014; material icon named "snowshoeing" (outlined).
  static const IconData snowshoeing_outlined = IconData(0xf3b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">soap</i> &#x2014; material icon named "soap".
  static const IconData soap = IconData(0xe5d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">soap</i> &#x2014; material icon named "soap" (sharp).
  static const IconData soap_sharp = IconData(0xecc6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">soap</i> &#x2014; material icon named "soap" (round).
  static const IconData soap_rounded = IconData(0xf01a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">soap</i> &#x2014; material icon named "soap" (outlined).
  static const IconData soap_outlined = IconData(0xf3b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">social_distance</i> &#x2014; material icon named "social distance".
  static const IconData social_distance = IconData(0xe5d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">social_distance</i> &#x2014; material icon named "social distance" (sharp).
  static const IconData social_distance_sharp = IconData(0xecc7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">social_distance</i> &#x2014; material icon named "social distance" (round).
  static const IconData social_distance_rounded = IconData(0xf01a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">social_distance</i> &#x2014; material icon named "social distance" (outlined).
  static const IconData social_distance_outlined = IconData(0xf3b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">solar_power</i> &#x2014; material icon named "solar power".
  static const IconData solar_power = IconData(0xf07c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">solar_power</i> &#x2014; material icon named "solar power" (sharp).
  static const IconData solar_power_sharp = IconData(0xf076e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">solar_power</i> &#x2014; material icon named "solar power" (round).
  static const IconData solar_power_rounded = IconData(0xf081e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">solar_power</i> &#x2014; material icon named "solar power" (outlined).
  static const IconData solar_power_outlined = IconData(0xf0716, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sort</i> &#x2014; material icon named "sort".
  static const IconData sort = IconData(0xe5d2, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">sort</i> &#x2014; material icon named "sort" (sharp).
  static const IconData sort_sharp = IconData(0xecc9, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">sort</i> &#x2014; material icon named "sort" (round).
  static const IconData sort_rounded = IconData(0xf01a8, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">sort</i> &#x2014; material icon named "sort" (outlined).
  static const IconData sort_outlined = IconData(0xf3b6, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">sort_by_alpha</i> &#x2014; material icon named "sort by alpha".
  static const IconData sort_by_alpha = IconData(0xe5d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sort_by_alpha</i> &#x2014; material icon named "sort by alpha" (sharp).
  static const IconData sort_by_alpha_sharp = IconData(0xecc8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sort_by_alpha</i> &#x2014; material icon named "sort by alpha" (round).
  static const IconData sort_by_alpha_rounded = IconData(0xf01a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sort_by_alpha</i> &#x2014; material icon named "sort by alpha" (outlined).
  static const IconData sort_by_alpha_outlined = IconData(0xf3b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sos</i> &#x2014; material icon named "sos".
  static const IconData sos = IconData(0xf07c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sos</i> &#x2014; material icon named "sos" (sharp).
  static const IconData sos_sharp = IconData(0xf076f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sos</i> &#x2014; material icon named "sos" (round).
  static const IconData sos_rounded = IconData(0xf081f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sos</i> &#x2014; material icon named "sos" (outlined).
  static const IconData sos_outlined = IconData(0xf0717, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">soup_kitchen</i> &#x2014; material icon named "soup kitchen".
  static const IconData soup_kitchen = IconData(0xf056c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">soup_kitchen</i> &#x2014; material icon named "soup kitchen" (sharp).
  static const IconData soup_kitchen_sharp = IconData(0xf0474, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">soup_kitchen</i> &#x2014; material icon named "soup kitchen" (round).
  static const IconData soup_kitchen_rounded = IconData(0xf0381, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">soup_kitchen</i> &#x2014; material icon named "soup kitchen" (outlined).
  static const IconData soup_kitchen_outlined = IconData(0xf0662, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">source</i> &#x2014; material icon named "source".
  static const IconData source = IconData(0xe5d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">source</i> &#x2014; material icon named "source" (sharp).
  static const IconData source_sharp = IconData(0xecca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">source</i> &#x2014; material icon named "source" (round).
  static const IconData source_rounded = IconData(0xf01a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">source</i> &#x2014; material icon named "source" (outlined).
  static const IconData source_outlined = IconData(0xf3b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">south</i> &#x2014; material icon named "south".
  static const IconData south = IconData(0xe5d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">south</i> &#x2014; material icon named "south" (sharp).
  static const IconData south_sharp = IconData(0xeccc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">south</i> &#x2014; material icon named "south" (round).
  static const IconData south_rounded = IconData(0xf01ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">south</i> &#x2014; material icon named "south" (outlined).
  static const IconData south_outlined = IconData(0xf3b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">south_america</i> &#x2014; material icon named "south america".
  static const IconData south_america = IconData(0xf056d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">south_america</i> &#x2014; material icon named "south america" (sharp).
  static const IconData south_america_sharp = IconData(0xf0475, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">south_america</i> &#x2014; material icon named "south america" (round).
  static const IconData south_america_rounded = IconData(0xf0382, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">south_america</i> &#x2014; material icon named "south america" (outlined).
  static const IconData south_america_outlined = IconData(0xf0663, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">south_east</i> &#x2014; material icon named "south east".
  static const IconData south_east = IconData(0xe5d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">south_east</i> &#x2014; material icon named "south east" (sharp).
  static const IconData south_east_sharp = IconData(0xeccb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">south_east</i> &#x2014; material icon named "south east" (round).
  static const IconData south_east_rounded = IconData(0xf01aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">south_east</i> &#x2014; material icon named "south east" (outlined).
  static const IconData south_east_outlined = IconData(0xf3b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">south_west</i> &#x2014; material icon named "south west".
  static const IconData south_west = IconData(0xe5d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">south_west</i> &#x2014; material icon named "south west" (sharp).
  static const IconData south_west_sharp = IconData(0xeccd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">south_west</i> &#x2014; material icon named "south west" (round).
  static const IconData south_west_rounded = IconData(0xf01ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">south_west</i> &#x2014; material icon named "south west" (outlined).
  static const IconData south_west_outlined = IconData(0xf3ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">spa</i> &#x2014; material icon named "spa".
  static const IconData spa = IconData(0xe5d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">spa</i> &#x2014; material icon named "spa" (sharp).
  static const IconData spa_sharp = IconData(0xecce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">spa</i> &#x2014; material icon named "spa" (round).
  static const IconData spa_rounded = IconData(0xf01ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">spa</i> &#x2014; material icon named "spa" (outlined).
  static const IconData spa_outlined = IconData(0xf3bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">space_bar</i> &#x2014; material icon named "space bar".
  static const IconData space_bar = IconData(0xe5d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">space_bar</i> &#x2014; material icon named "space bar" (sharp).
  static const IconData space_bar_sharp = IconData(0xeccf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">space_bar</i> &#x2014; material icon named "space bar" (round).
  static const IconData space_bar_rounded = IconData(0xf01ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">space_bar</i> &#x2014; material icon named "space bar" (outlined).
  static const IconData space_bar_outlined = IconData(0xf3bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">space_dashboard</i> &#x2014; material icon named "space dashboard".
  static const IconData space_dashboard = IconData(0xe5da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">space_dashboard</i> &#x2014; material icon named "space dashboard" (sharp).
  static const IconData space_dashboard_sharp = IconData(0xecd0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">space_dashboard</i> &#x2014; material icon named "space dashboard" (round).
  static const IconData space_dashboard_rounded = IconData(0xf01af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">space_dashboard</i> &#x2014; material icon named "space dashboard" (outlined).
  static const IconData space_dashboard_outlined = IconData(0xf3bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">spatial_audio</i> &#x2014; material icon named "spatial audio".
  static const IconData spatial_audio = IconData(0xf07c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">spatial_audio</i> &#x2014; material icon named "spatial audio" (sharp).
  static const IconData spatial_audio_sharp = IconData(0xf0771, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">spatial_audio</i> &#x2014; material icon named "spatial audio" (round).
  static const IconData spatial_audio_rounded = IconData(0xf0821, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">spatial_audio</i> &#x2014; material icon named "spatial audio" (outlined).
  static const IconData spatial_audio_outlined = IconData(0xf0719, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">spatial_audio_off</i> &#x2014; material icon named "spatial audio off".
  static const IconData spatial_audio_off = IconData(0xf07c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">spatial_audio_off</i> &#x2014; material icon named "spatial audio off" (sharp).
  static const IconData spatial_audio_off_sharp = IconData(0xf0770, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">spatial_audio_off</i> &#x2014; material icon named "spatial audio off" (round).
  static const IconData spatial_audio_off_rounded = IconData(0xf0820, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">spatial_audio_off</i> &#x2014; material icon named "spatial audio off" (outlined).
  static const IconData spatial_audio_off_outlined = IconData(0xf0718, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">spatial_tracking</i> &#x2014; material icon named "spatial tracking".
  static const IconData spatial_tracking = IconData(0xf07ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">spatial_tracking</i> &#x2014; material icon named "spatial tracking" (sharp).
  static const IconData spatial_tracking_sharp = IconData(0xf0772, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">spatial_tracking</i> &#x2014; material icon named "spatial tracking" (round).
  static const IconData spatial_tracking_rounded = IconData(0xf0822, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">spatial_tracking</i> &#x2014; material icon named "spatial tracking" (outlined).
  static const IconData spatial_tracking_outlined = IconData(0xf071a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">speaker</i> &#x2014; material icon named "speaker".
  static const IconData speaker = IconData(0xe5db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">speaker</i> &#x2014; material icon named "speaker" (sharp).
  static const IconData speaker_sharp = IconData(0xecd5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">speaker</i> &#x2014; material icon named "speaker" (round).
  static const IconData speaker_rounded = IconData(0xf01b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">speaker</i> &#x2014; material icon named "speaker" (outlined).
  static const IconData speaker_outlined = IconData(0xf3c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">speaker_group</i> &#x2014; material icon named "speaker group".
  static const IconData speaker_group = IconData(0xe5dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">speaker_group</i> &#x2014; material icon named "speaker group" (sharp).
  static const IconData speaker_group_sharp = IconData(0xecd1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">speaker_group</i> &#x2014; material icon named "speaker group" (round).
  static const IconData speaker_group_rounded = IconData(0xf01b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">speaker_group</i> &#x2014; material icon named "speaker group" (outlined).
  static const IconData speaker_group_outlined = IconData(0xf3be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">speaker_notes</i> &#x2014; material icon named "speaker notes".
  static const IconData speaker_notes = IconData(0xe5dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">speaker_notes</i> &#x2014; material icon named "speaker notes" (sharp).
  static const IconData speaker_notes_sharp = IconData(0xecd3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">speaker_notes</i> &#x2014; material icon named "speaker notes" (round).
  static const IconData speaker_notes_rounded = IconData(0xf01b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">speaker_notes</i> &#x2014; material icon named "speaker notes" (outlined).
  static const IconData speaker_notes_outlined = IconData(0xf3c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">speaker_notes_off</i> &#x2014; material icon named "speaker notes off".
  static const IconData speaker_notes_off = IconData(0xe5de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">speaker_notes_off</i> &#x2014; material icon named "speaker notes off" (sharp).
  static const IconData speaker_notes_off_sharp = IconData(0xecd2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">speaker_notes_off</i> &#x2014; material icon named "speaker notes off" (round).
  static const IconData speaker_notes_off_rounded = IconData(0xf01b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">speaker_notes_off</i> &#x2014; material icon named "speaker notes off" (outlined).
  static const IconData speaker_notes_off_outlined = IconData(0xf3bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">speaker_phone</i> &#x2014; material icon named "speaker phone".
  static const IconData speaker_phone = IconData(0xe5df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">speaker_phone</i> &#x2014; material icon named "speaker phone" (sharp).
  static const IconData speaker_phone_sharp = IconData(0xecd4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">speaker_phone</i> &#x2014; material icon named "speaker phone" (round).
  static const IconData speaker_phone_rounded = IconData(0xf01b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">speaker_phone</i> &#x2014; material icon named "speaker phone" (outlined).
  static const IconData speaker_phone_outlined = IconData(0xf3c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">speed</i> &#x2014; material icon named "speed".
  static const IconData speed = IconData(0xe5e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">speed</i> &#x2014; material icon named "speed" (sharp).
  static const IconData speed_sharp = IconData(0xecd6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">speed</i> &#x2014; material icon named "speed" (round).
  static const IconData speed_rounded = IconData(0xf01b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">speed</i> &#x2014; material icon named "speed" (outlined).
  static const IconData speed_outlined = IconData(0xf3c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">spellcheck</i> &#x2014; material icon named "spellcheck".
  static const IconData spellcheck = IconData(0xe5e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">spellcheck</i> &#x2014; material icon named "spellcheck" (sharp).
  static const IconData spellcheck_sharp = IconData(0xecd7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">spellcheck</i> &#x2014; material icon named "spellcheck" (round).
  static const IconData spellcheck_rounded = IconData(0xf01b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">spellcheck</i> &#x2014; material icon named "spellcheck" (outlined).
  static const IconData spellcheck_outlined = IconData(0xf3c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">splitscreen</i> &#x2014; material icon named "splitscreen".
  static const IconData splitscreen = IconData(0xe5e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">splitscreen</i> &#x2014; material icon named "splitscreen" (sharp).
  static const IconData splitscreen_sharp = IconData(0xecd8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">splitscreen</i> &#x2014; material icon named "splitscreen" (round).
  static const IconData splitscreen_rounded = IconData(0xf01b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">splitscreen</i> &#x2014; material icon named "splitscreen" (outlined).
  static const IconData splitscreen_outlined = IconData(0xf3c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">spoke</i> &#x2014; material icon named "spoke".
  static const IconData spoke = IconData(0xf056e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">spoke</i> &#x2014; material icon named "spoke" (sharp).
  static const IconData spoke_sharp = IconData(0xf0476, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">spoke</i> &#x2014; material icon named "spoke" (round).
  static const IconData spoke_rounded = IconData(0xf0383, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">spoke</i> &#x2014; material icon named "spoke" (outlined).
  static const IconData spoke_outlined = IconData(0xf0664, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports</i> &#x2014; material icon named "sports".
  static const IconData sports = IconData(0xe5e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports</i> &#x2014; material icon named "sports" (sharp).
  static const IconData sports_sharp = IconData(0xece7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports</i> &#x2014; material icon named "sports" (round).
  static const IconData sports_rounded = IconData(0xf01c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports</i> &#x2014; material icon named "sports" (outlined).
  static const IconData sports_outlined = IconData(0xf3d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_bar</i> &#x2014; material icon named "sports bar".
  static const IconData sports_bar = IconData(0xe5e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_bar</i> &#x2014; material icon named "sports bar" (sharp).
  static const IconData sports_bar_sharp = IconData(0xecd9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_bar</i> &#x2014; material icon named "sports bar" (round).
  static const IconData sports_bar_rounded = IconData(0xf01b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_bar</i> &#x2014; material icon named "sports bar" (outlined).
  static const IconData sports_bar_outlined = IconData(0xf3c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_baseball</i> &#x2014; material icon named "sports baseball".
  static const IconData sports_baseball = IconData(0xe5e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_baseball</i> &#x2014; material icon named "sports baseball" (sharp).
  static const IconData sports_baseball_sharp = IconData(0xecda, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_baseball</i> &#x2014; material icon named "sports baseball" (round).
  static const IconData sports_baseball_rounded = IconData(0xf01b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_baseball</i> &#x2014; material icon named "sports baseball" (outlined).
  static const IconData sports_baseball_outlined = IconData(0xf3c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_basketball</i> &#x2014; material icon named "sports basketball".
  static const IconData sports_basketball = IconData(0xe5e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_basketball</i> &#x2014; material icon named "sports basketball" (sharp).
  static const IconData sports_basketball_sharp = IconData(0xecdb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_basketball</i> &#x2014; material icon named "sports basketball" (round).
  static const IconData sports_basketball_rounded = IconData(0xf01ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_basketball</i> &#x2014; material icon named "sports basketball" (outlined).
  static const IconData sports_basketball_outlined = IconData(0xf3c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_cricket</i> &#x2014; material icon named "sports cricket".
  static const IconData sports_cricket = IconData(0xe5e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_cricket</i> &#x2014; material icon named "sports cricket" (sharp).
  static const IconData sports_cricket_sharp = IconData(0xecdc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_cricket</i> &#x2014; material icon named "sports cricket" (round).
  static const IconData sports_cricket_rounded = IconData(0xf01bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_cricket</i> &#x2014; material icon named "sports cricket" (outlined).
  static const IconData sports_cricket_outlined = IconData(0xf3c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_esports</i> &#x2014; material icon named "sports esports".
  static const IconData sports_esports = IconData(0xe5e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_esports</i> &#x2014; material icon named "sports esports" (sharp).
  static const IconData sports_esports_sharp = IconData(0xecdd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_esports</i> &#x2014; material icon named "sports esports" (round).
  static const IconData sports_esports_rounded = IconData(0xf01bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_esports</i> &#x2014; material icon named "sports esports" (outlined).
  static const IconData sports_esports_outlined = IconData(0xf3ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_football</i> &#x2014; material icon named "sports football".
  static const IconData sports_football = IconData(0xe5e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_football</i> &#x2014; material icon named "sports football" (sharp).
  static const IconData sports_football_sharp = IconData(0xecde, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_football</i> &#x2014; material icon named "sports football" (round).
  static const IconData sports_football_rounded = IconData(0xf01bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_football</i> &#x2014; material icon named "sports football" (outlined).
  static const IconData sports_football_outlined = IconData(0xf3cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_golf</i> &#x2014; material icon named "sports golf".
  static const IconData sports_golf = IconData(0xe5ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_golf</i> &#x2014; material icon named "sports golf" (sharp).
  static const IconData sports_golf_sharp = IconData(0xecdf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_golf</i> &#x2014; material icon named "sports golf" (round).
  static const IconData sports_golf_rounded = IconData(0xf01be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_golf</i> &#x2014; material icon named "sports golf" (outlined).
  static const IconData sports_golf_outlined = IconData(0xf3cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_gymnastics</i> &#x2014; material icon named "sports gymnastics".
  static const IconData sports_gymnastics = IconData(0xf06c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_gymnastics</i> &#x2014; material icon named "sports gymnastics" (sharp).
  static const IconData sports_gymnastics_sharp = IconData(0xf06b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_gymnastics</i> &#x2014; material icon named "sports gymnastics" (round).
  static const IconData sports_gymnastics_rounded = IconData(0xf06d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_gymnastics</i> &#x2014; material icon named "sports gymnastics" (outlined).
  static const IconData sports_gymnastics_outlined = IconData(0xf06a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_handball</i> &#x2014; material icon named "sports handball".
  static const IconData sports_handball = IconData(0xe5eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_handball</i> &#x2014; material icon named "sports handball" (sharp).
  static const IconData sports_handball_sharp = IconData(0xece0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_handball</i> &#x2014; material icon named "sports handball" (round).
  static const IconData sports_handball_rounded = IconData(0xf01bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_handball</i> &#x2014; material icon named "sports handball" (outlined).
  static const IconData sports_handball_outlined = IconData(0xf3cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_hockey</i> &#x2014; material icon named "sports hockey".
  static const IconData sports_hockey = IconData(0xe5ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_hockey</i> &#x2014; material icon named "sports hockey" (sharp).
  static const IconData sports_hockey_sharp = IconData(0xece1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_hockey</i> &#x2014; material icon named "sports hockey" (round).
  static const IconData sports_hockey_rounded = IconData(0xf01c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_hockey</i> &#x2014; material icon named "sports hockey" (outlined).
  static const IconData sports_hockey_outlined = IconData(0xf3ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_kabaddi</i> &#x2014; material icon named "sports kabaddi".
  static const IconData sports_kabaddi = IconData(0xe5ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_kabaddi</i> &#x2014; material icon named "sports kabaddi" (sharp).
  static const IconData sports_kabaddi_sharp = IconData(0xece2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_kabaddi</i> &#x2014; material icon named "sports kabaddi" (round).
  static const IconData sports_kabaddi_rounded = IconData(0xf01c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_kabaddi</i> &#x2014; material icon named "sports kabaddi" (outlined).
  static const IconData sports_kabaddi_outlined = IconData(0xf3cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_martial_arts</i> &#x2014; material icon named "sports martial arts".
  static const IconData sports_martial_arts = IconData(0xf056f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_martial_arts</i> &#x2014; material icon named "sports martial arts" (sharp).
  static const IconData sports_martial_arts_sharp = IconData(0xf0477, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_martial_arts</i> &#x2014; material icon named "sports martial arts" (round).
  static const IconData sports_martial_arts_rounded = IconData(0xf0384, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_martial_arts</i> &#x2014; material icon named "sports martial arts" (outlined).
  static const IconData sports_martial_arts_outlined = IconData(0xf0665, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_mma</i> &#x2014; material icon named "sports mma".
  static const IconData sports_mma = IconData(0xe5ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_mma</i> &#x2014; material icon named "sports mma" (sharp).
  static const IconData sports_mma_sharp = IconData(0xece3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_mma</i> &#x2014; material icon named "sports mma" (round).
  static const IconData sports_mma_rounded = IconData(0xf01c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_mma</i> &#x2014; material icon named "sports mma" (outlined).
  static const IconData sports_mma_outlined = IconData(0xf3d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_motorsports</i> &#x2014; material icon named "sports motorsports".
  static const IconData sports_motorsports = IconData(0xe5ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_motorsports</i> &#x2014; material icon named "sports motorsports" (sharp).
  static const IconData sports_motorsports_sharp = IconData(0xece4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_motorsports</i> &#x2014; material icon named "sports motorsports" (round).
  static const IconData sports_motorsports_rounded = IconData(0xf01c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_motorsports</i> &#x2014; material icon named "sports motorsports" (outlined).
  static const IconData sports_motorsports_outlined = IconData(0xf3d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_rugby</i> &#x2014; material icon named "sports rugby".
  static const IconData sports_rugby = IconData(0xe5f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_rugby</i> &#x2014; material icon named "sports rugby" (sharp).
  static const IconData sports_rugby_sharp = IconData(0xece5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_rugby</i> &#x2014; material icon named "sports rugby" (round).
  static const IconData sports_rugby_rounded = IconData(0xf01c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_rugby</i> &#x2014; material icon named "sports rugby" (outlined).
  static const IconData sports_rugby_outlined = IconData(0xf3d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_score</i> &#x2014; material icon named "sports score".
  static const IconData sports_score = IconData(0xe5f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_score</i> &#x2014; material icon named "sports score" (sharp).
  static const IconData sports_score_sharp = IconData(0xece6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_score</i> &#x2014; material icon named "sports score" (round).
  static const IconData sports_score_rounded = IconData(0xf01c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_score</i> &#x2014; material icon named "sports score" (outlined).
  static const IconData sports_score_outlined = IconData(0xf3d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_soccer</i> &#x2014; material icon named "sports soccer".
  static const IconData sports_soccer = IconData(0xe5f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_soccer</i> &#x2014; material icon named "sports soccer" (sharp).
  static const IconData sports_soccer_sharp = IconData(0xece8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_soccer</i> &#x2014; material icon named "sports soccer" (round).
  static const IconData sports_soccer_rounded = IconData(0xf01c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_soccer</i> &#x2014; material icon named "sports soccer" (outlined).
  static const IconData sports_soccer_outlined = IconData(0xf3d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_tennis</i> &#x2014; material icon named "sports tennis".
  static const IconData sports_tennis = IconData(0xe5f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_tennis</i> &#x2014; material icon named "sports tennis" (sharp).
  static const IconData sports_tennis_sharp = IconData(0xece9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_tennis</i> &#x2014; material icon named "sports tennis" (round).
  static const IconData sports_tennis_rounded = IconData(0xf01c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_tennis</i> &#x2014; material icon named "sports tennis" (outlined).
  static const IconData sports_tennis_outlined = IconData(0xf3d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sports_volleyball</i> &#x2014; material icon named "sports volleyball".
  static const IconData sports_volleyball = IconData(0xe5f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sports_volleyball</i> &#x2014; material icon named "sports volleyball" (sharp).
  static const IconData sports_volleyball_sharp = IconData(0xecea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sports_volleyball</i> &#x2014; material icon named "sports volleyball" (round).
  static const IconData sports_volleyball_rounded = IconData(0xf01c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sports_volleyball</i> &#x2014; material icon named "sports volleyball" (outlined).
  static const IconData sports_volleyball_outlined = IconData(0xf3d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">square</i> &#x2014; material icon named "square".
  static const IconData square = IconData(0xf0570, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">square</i> &#x2014; material icon named "square" (sharp).
  static const IconData square_sharp = IconData(0xf0478, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">square</i> &#x2014; material icon named "square" (round).
  static const IconData square_rounded = IconData(0xf0385, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">square</i> &#x2014; material icon named "square" (outlined).
  static const IconData square_outlined = IconData(0xf0666, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">square_foot</i> &#x2014; material icon named "square foot".
  static const IconData square_foot = IconData(0xe5f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">square_foot</i> &#x2014; material icon named "square foot" (sharp).
  static const IconData square_foot_sharp = IconData(0xeceb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">square_foot</i> &#x2014; material icon named "square foot" (round).
  static const IconData square_foot_rounded = IconData(0xf01ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">square_foot</i> &#x2014; material icon named "square foot" (outlined).
  static const IconData square_foot_outlined = IconData(0xf3d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">ssid_chart</i> &#x2014; material icon named "ssid chart".
  static const IconData ssid_chart = IconData(0xf0571, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">ssid_chart</i> &#x2014; material icon named "ssid chart" (sharp).
  static const IconData ssid_chart_sharp = IconData(0xf0479, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">ssid_chart</i> &#x2014; material icon named "ssid chart" (round).
  static const IconData ssid_chart_rounded = IconData(0xf0386, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">ssid_chart</i> &#x2014; material icon named "ssid chart" (outlined).
  static const IconData ssid_chart_outlined = IconData(0xf0667, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">stacked_bar_chart</i> &#x2014; material icon named "stacked bar chart".
  static const IconData stacked_bar_chart = IconData(0xe5f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">stacked_bar_chart</i> &#x2014; material icon named "stacked bar chart" (sharp).
  static const IconData stacked_bar_chart_sharp = IconData(0xecec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">stacked_bar_chart</i> &#x2014; material icon named "stacked bar chart" (round).
  static const IconData stacked_bar_chart_rounded = IconData(0xf01cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">stacked_bar_chart</i> &#x2014; material icon named "stacked bar chart" (outlined).
  static const IconData stacked_bar_chart_outlined = IconData(0xf3d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">stacked_line_chart</i> &#x2014; material icon named "stacked line chart".
  static const IconData stacked_line_chart = IconData(0xe5f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">stacked_line_chart</i> &#x2014; material icon named "stacked line chart" (sharp).
  static const IconData stacked_line_chart_sharp = IconData(0xeced, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">stacked_line_chart</i> &#x2014; material icon named "stacked line chart" (round).
  static const IconData stacked_line_chart_rounded = IconData(0xf01cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">stacked_line_chart</i> &#x2014; material icon named "stacked line chart" (outlined).
  static const IconData stacked_line_chart_outlined = IconData(0xf3da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">stadium</i> &#x2014; material icon named "stadium".
  static const IconData stadium = IconData(0xf0572, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">stadium</i> &#x2014; material icon named "stadium" (sharp).
  static const IconData stadium_sharp = IconData(0xf047a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">stadium</i> &#x2014; material icon named "stadium" (round).
  static const IconData stadium_rounded = IconData(0xf0387, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">stadium</i> &#x2014; material icon named "stadium" (outlined).
  static const IconData stadium_outlined = IconData(0xf0668, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">stairs</i> &#x2014; material icon named "stairs".
  static const IconData stairs = IconData(0xe5f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">stairs</i> &#x2014; material icon named "stairs" (sharp).
  static const IconData stairs_sharp = IconData(0xecee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">stairs</i> &#x2014; material icon named "stairs" (round).
  static const IconData stairs_rounded = IconData(0xf01cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">stairs</i> &#x2014; material icon named "stairs" (outlined).
  static const IconData stairs_outlined = IconData(0xf3db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">star</i> &#x2014; material icon named "star".
  static const IconData star = IconData(0xe5f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">star</i> &#x2014; material icon named "star" (sharp).
  static const IconData star_sharp = IconData(0xecf5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">star</i> &#x2014; material icon named "star" (round).
  static const IconData star_rounded = IconData(0xf01d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">star</i> &#x2014; material icon named "star" (outlined).
  static const IconData star_outlined = IconData(0xf3e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">star_border</i> &#x2014; material icon named "star border".
  static const IconData star_border = IconData(0xe5fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">star_border</i> &#x2014; material icon named "star border" (sharp).
  static const IconData star_border_sharp = IconData(0xecf0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">star_border</i> &#x2014; material icon named "star border" (round).
  static const IconData star_border_rounded = IconData(0xf01cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">star_border</i> &#x2014; material icon named "star border" (outlined).
  static const IconData star_border_outlined = IconData(0xf3dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">star_border_purple500</i> &#x2014; material icon named "star border purple500".
  static const IconData star_border_purple500 = IconData(0xe5fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">star_border_purple500</i> &#x2014; material icon named "star border purple500" (sharp).
  static const IconData star_border_purple500_sharp = IconData(0xecef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">star_border_purple500</i> &#x2014; material icon named "star border purple500" (round).
  static const IconData star_border_purple500_rounded = IconData(0xf01ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">star_border_purple500</i> &#x2014; material icon named "star border purple500" (outlined).
  static const IconData star_border_purple500_outlined = IconData(0xf3dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">star_half</i> &#x2014; material icon named "star half".
  static const IconData star_half = IconData(0xe5fc, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">star_half</i> &#x2014; material icon named "star half" (sharp).
  static const IconData star_half_sharp = IconData(0xecf1, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">star_half</i> &#x2014; material icon named "star half" (round).
  static const IconData star_half_rounded = IconData(0xf01d0, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">star_half</i> &#x2014; material icon named "star half" (outlined).
  static const IconData star_half_outlined = IconData(0xf3de, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">star_outline</i> &#x2014; material icon named "star outline".
  static const IconData star_outline = IconData(0xe5fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">star_outline</i> &#x2014; material icon named "star outline" (sharp).
  static const IconData star_outline_sharp = IconData(0xecf2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">star_outline</i> &#x2014; material icon named "star outline" (round).
  static const IconData star_outline_rounded = IconData(0xf01d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">star_outline</i> &#x2014; material icon named "star outline" (outlined).
  static const IconData star_outline_outlined = IconData(0xf3df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">star_purple500</i> &#x2014; material icon named "star purple500".
  static const IconData star_purple500 = IconData(0xe5fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">star_purple500</i> &#x2014; material icon named "star purple500" (sharp).
  static const IconData star_purple500_sharp = IconData(0xecf3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">star_purple500</i> &#x2014; material icon named "star purple500" (round).
  static const IconData star_purple500_rounded = IconData(0xf01d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">star_purple500</i> &#x2014; material icon named "star purple500" (outlined).
  static const IconData star_purple500_outlined = IconData(0xf3e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">star_rate</i> &#x2014; material icon named "star rate".
  static const IconData star_rate = IconData(0xe5ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">star_rate</i> &#x2014; material icon named "star rate" (sharp).
  static const IconData star_rate_sharp = IconData(0xecf4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">star_rate</i> &#x2014; material icon named "star rate" (round).
  static const IconData star_rate_rounded = IconData(0xf01d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">star_rate</i> &#x2014; material icon named "star rate" (outlined).
  static const IconData star_rate_outlined = IconData(0xf3e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">stars</i> &#x2014; material icon named "stars".
  static const IconData stars = IconData(0xe600, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">stars</i> &#x2014; material icon named "stars" (sharp).
  static const IconData stars_sharp = IconData(0xecf6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">stars</i> &#x2014; material icon named "stars" (round).
  static const IconData stars_rounded = IconData(0xf01d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">stars</i> &#x2014; material icon named "stars" (outlined).
  static const IconData stars_outlined = IconData(0xf3e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">start</i> &#x2014; material icon named "start".
  static const IconData start = IconData(0xf0573, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">start</i> &#x2014; material icon named "start" (sharp).
  static const IconData start_sharp = IconData(0xf047b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">start</i> &#x2014; material icon named "start" (round).
  static const IconData start_rounded = IconData(0xf0388, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">start</i> &#x2014; material icon named "start" (outlined).
  static const IconData start_outlined = IconData(0xf0669, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">stay_current_landscape</i> &#x2014; material icon named "stay current landscape".
  static const IconData stay_current_landscape = IconData(0xe601, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">stay_current_landscape</i> &#x2014; material icon named "stay current landscape" (sharp).
  static const IconData stay_current_landscape_sharp = IconData(0xecf7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">stay_current_landscape</i> &#x2014; material icon named "stay current landscape" (round).
  static const IconData stay_current_landscape_rounded = IconData(0xf01d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">stay_current_landscape</i> &#x2014; material icon named "stay current landscape" (outlined).
  static const IconData stay_current_landscape_outlined = IconData(0xf3e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">stay_current_portrait</i> &#x2014; material icon named "stay current portrait".
  static const IconData stay_current_portrait = IconData(0xe602, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">stay_current_portrait</i> &#x2014; material icon named "stay current portrait" (sharp).
  static const IconData stay_current_portrait_sharp = IconData(0xecf8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">stay_current_portrait</i> &#x2014; material icon named "stay current portrait" (round).
  static const IconData stay_current_portrait_rounded = IconData(0xf01d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">stay_current_portrait</i> &#x2014; material icon named "stay current portrait" (outlined).
  static const IconData stay_current_portrait_outlined = IconData(0xf3e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">stay_primary_landscape</i> &#x2014; material icon named "stay primary landscape".
  static const IconData stay_primary_landscape = IconData(0xe603, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">stay_primary_landscape</i> &#x2014; material icon named "stay primary landscape" (sharp).
  static const IconData stay_primary_landscape_sharp = IconData(0xecf9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">stay_primary_landscape</i> &#x2014; material icon named "stay primary landscape" (round).
  static const IconData stay_primary_landscape_rounded = IconData(0xf01d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">stay_primary_landscape</i> &#x2014; material icon named "stay primary landscape" (outlined).
  static const IconData stay_primary_landscape_outlined = IconData(0xf3e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">stay_primary_portrait</i> &#x2014; material icon named "stay primary portrait".
  static const IconData stay_primary_portrait = IconData(0xe604, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">stay_primary_portrait</i> &#x2014; material icon named "stay primary portrait" (sharp).
  static const IconData stay_primary_portrait_sharp = IconData(0xecfa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">stay_primary_portrait</i> &#x2014; material icon named "stay primary portrait" (round).
  static const IconData stay_primary_portrait_rounded = IconData(0xf01d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">stay_primary_portrait</i> &#x2014; material icon named "stay primary portrait" (outlined).
  static const IconData stay_primary_portrait_outlined = IconData(0xf3e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sticky_note_2</i> &#x2014; material icon named "sticky note 2".
  static const IconData sticky_note_2 = IconData(0xe605, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sticky_note_2</i> &#x2014; material icon named "sticky note 2" (sharp).
  static const IconData sticky_note_2_sharp = IconData(0xecfb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sticky_note_2</i> &#x2014; material icon named "sticky note 2" (round).
  static const IconData sticky_note_2_rounded = IconData(0xf01da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sticky_note_2</i> &#x2014; material icon named "sticky note 2" (outlined).
  static const IconData sticky_note_2_outlined = IconData(0xf3e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">stop</i> &#x2014; material icon named "stop".
  static const IconData stop = IconData(0xe606, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">stop</i> &#x2014; material icon named "stop" (sharp).
  static const IconData stop_sharp = IconData(0xecfe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">stop</i> &#x2014; material icon named "stop" (round).
  static const IconData stop_rounded = IconData(0xf01dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">stop</i> &#x2014; material icon named "stop" (outlined).
  static const IconData stop_outlined = IconData(0xf3ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">stop_circle</i> &#x2014; material icon named "stop circle".
  static const IconData stop_circle = IconData(0xe607, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">stop_circle</i> &#x2014; material icon named "stop circle" (sharp).
  static const IconData stop_circle_sharp = IconData(0xecfc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">stop_circle</i> &#x2014; material icon named "stop circle" (round).
  static const IconData stop_circle_rounded = IconData(0xf01db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">stop_circle</i> &#x2014; material icon named "stop circle" (outlined).
  static const IconData stop_circle_outlined = IconData(0xf3e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">stop_screen_share</i> &#x2014; material icon named "stop screen share".
  static const IconData stop_screen_share = IconData(0xe608, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">stop_screen_share</i> &#x2014; material icon named "stop screen share" (sharp).
  static const IconData stop_screen_share_sharp = IconData(0xecfd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">stop_screen_share</i> &#x2014; material icon named "stop screen share" (round).
  static const IconData stop_screen_share_rounded = IconData(0xf01dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">stop_screen_share</i> &#x2014; material icon named "stop screen share" (outlined).
  static const IconData stop_screen_share_outlined = IconData(0xf3eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">storage</i> &#x2014; material icon named "storage".
  static const IconData storage = IconData(0xe609, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">storage</i> &#x2014; material icon named "storage" (sharp).
  static const IconData storage_sharp = IconData(0xecff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">storage</i> &#x2014; material icon named "storage" (round).
  static const IconData storage_rounded = IconData(0xf01de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">storage</i> &#x2014; material icon named "storage" (outlined).
  static const IconData storage_outlined = IconData(0xf3ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">store</i> &#x2014; material icon named "store".
  static const IconData store = IconData(0xe60a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">store</i> &#x2014; material icon named "store" (sharp).
  static const IconData store_sharp = IconData(0xed01, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">store</i> &#x2014; material icon named "store" (round).
  static const IconData store_rounded = IconData(0xf01e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">store</i> &#x2014; material icon named "store" (outlined).
  static const IconData store_outlined = IconData(0xf3ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">store_mall_directory</i> &#x2014; material icon named "store mall directory".
  static const IconData store_mall_directory = IconData(0xe60b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">store_mall_directory</i> &#x2014; material icon named "store mall directory" (sharp).
  static const IconData store_mall_directory_sharp = IconData(0xed00, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">store_mall_directory</i> &#x2014; material icon named "store mall directory" (round).
  static const IconData store_mall_directory_rounded = IconData(0xf01df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">store_mall_directory</i> &#x2014; material icon named "store mall directory" (outlined).
  static const IconData store_mall_directory_outlined = IconData(0xf3ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">storefront</i> &#x2014; material icon named "storefront".
  static const IconData storefront = IconData(0xe60c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">storefront</i> &#x2014; material icon named "storefront" (sharp).
  static const IconData storefront_sharp = IconData(0xed02, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">storefront</i> &#x2014; material icon named "storefront" (round).
  static const IconData storefront_rounded = IconData(0xf01e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">storefront</i> &#x2014; material icon named "storefront" (outlined).
  static const IconData storefront_outlined = IconData(0xf3ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">storm</i> &#x2014; material icon named "storm".
  static const IconData storm = IconData(0xe60d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">storm</i> &#x2014; material icon named "storm" (sharp).
  static const IconData storm_sharp = IconData(0xed03, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">storm</i> &#x2014; material icon named "storm" (round).
  static const IconData storm_rounded = IconData(0xf01e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">storm</i> &#x2014; material icon named "storm" (outlined).
  static const IconData storm_outlined = IconData(0xf3f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">straight</i> &#x2014; material icon named "straight".
  static const IconData straight = IconData(0xf0574, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">straight</i> &#x2014; material icon named "straight" (sharp).
  static const IconData straight_sharp = IconData(0xf047c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">straight</i> &#x2014; material icon named "straight" (round).
  static const IconData straight_rounded = IconData(0xf0389, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">straight</i> &#x2014; material icon named "straight" (outlined).
  static const IconData straight_outlined = IconData(0xf066a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">straighten</i> &#x2014; material icon named "straighten".
  static const IconData straighten = IconData(0xe60e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">straighten</i> &#x2014; material icon named "straighten" (sharp).
  static const IconData straighten_sharp = IconData(0xed04, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">straighten</i> &#x2014; material icon named "straighten" (round).
  static const IconData straighten_rounded = IconData(0xf01e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">straighten</i> &#x2014; material icon named "straighten" (outlined).
  static const IconData straighten_outlined = IconData(0xf3f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">stream</i> &#x2014; material icon named "stream".
  static const IconData stream = IconData(0xe60f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">stream</i> &#x2014; material icon named "stream" (sharp).
  static const IconData stream_sharp = IconData(0xed05, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">stream</i> &#x2014; material icon named "stream" (round).
  static const IconData stream_rounded = IconData(0xf01e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">stream</i> &#x2014; material icon named "stream" (outlined).
  static const IconData stream_outlined = IconData(0xf3f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">streetview</i> &#x2014; material icon named "streetview".
  static const IconData streetview = IconData(0xe610, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">streetview</i> &#x2014; material icon named "streetview" (sharp).
  static const IconData streetview_sharp = IconData(0xed06, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">streetview</i> &#x2014; material icon named "streetview" (round).
  static const IconData streetview_rounded = IconData(0xf01e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">streetview</i> &#x2014; material icon named "streetview" (outlined).
  static const IconData streetview_outlined = IconData(0xf3f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">strikethrough_s</i> &#x2014; material icon named "strikethrough s".
  static const IconData strikethrough_s = IconData(0xe611, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">strikethrough_s</i> &#x2014; material icon named "strikethrough s" (sharp).
  static const IconData strikethrough_s_sharp = IconData(0xed07, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">strikethrough_s</i> &#x2014; material icon named "strikethrough s" (round).
  static const IconData strikethrough_s_rounded = IconData(0xf01e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">strikethrough_s</i> &#x2014; material icon named "strikethrough s" (outlined).
  static const IconData strikethrough_s_outlined = IconData(0xf3f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">stroller</i> &#x2014; material icon named "stroller".
  static const IconData stroller = IconData(0xe612, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">stroller</i> &#x2014; material icon named "stroller" (sharp).
  static const IconData stroller_sharp = IconData(0xed08, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">stroller</i> &#x2014; material icon named "stroller" (round).
  static const IconData stroller_rounded = IconData(0xf01e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">stroller</i> &#x2014; material icon named "stroller" (outlined).
  static const IconData stroller_outlined = IconData(0xf3f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">style</i> &#x2014; material icon named "style".
  static const IconData style = IconData(0xe613, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">style</i> &#x2014; material icon named "style" (sharp).
  static const IconData style_sharp = IconData(0xed09, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">style</i> &#x2014; material icon named "style" (round).
  static const IconData style_rounded = IconData(0xf01e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">style</i> &#x2014; material icon named "style" (outlined).
  static const IconData style_outlined = IconData(0xf3f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">subdirectory_arrow_left</i> &#x2014; material icon named "subdirectory arrow left".
  static const IconData subdirectory_arrow_left = IconData(0xe614, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">subdirectory_arrow_left</i> &#x2014; material icon named "subdirectory arrow left" (sharp).
  static const IconData subdirectory_arrow_left_sharp = IconData(0xed0a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">subdirectory_arrow_left</i> &#x2014; material icon named "subdirectory arrow left" (round).
  static const IconData subdirectory_arrow_left_rounded = IconData(0xf01e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">subdirectory_arrow_left</i> &#x2014; material icon named "subdirectory arrow left" (outlined).
  static const IconData subdirectory_arrow_left_outlined = IconData(0xf3f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">subdirectory_arrow_right</i> &#x2014; material icon named "subdirectory arrow right".
  static const IconData subdirectory_arrow_right = IconData(0xe615, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">subdirectory_arrow_right</i> &#x2014; material icon named "subdirectory arrow right" (sharp).
  static const IconData subdirectory_arrow_right_sharp = IconData(0xed0b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">subdirectory_arrow_right</i> &#x2014; material icon named "subdirectory arrow right" (round).
  static const IconData subdirectory_arrow_right_rounded = IconData(0xf01ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">subdirectory_arrow_right</i> &#x2014; material icon named "subdirectory arrow right" (outlined).
  static const IconData subdirectory_arrow_right_outlined = IconData(0xf3f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">subject</i> &#x2014; material icon named "subject".
  static const IconData subject = IconData(0xe616, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">subject</i> &#x2014; material icon named "subject" (sharp).
  static const IconData subject_sharp = IconData(0xed0c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">subject</i> &#x2014; material icon named "subject" (round).
  static const IconData subject_rounded = IconData(0xf01eb, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">subject</i> &#x2014; material icon named "subject" (outlined).
  static const IconData subject_outlined = IconData(0xf3f9, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">subscript</i> &#x2014; material icon named "subscript".
  static const IconData subscript = IconData(0xe617, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">subscript</i> &#x2014; material icon named "subscript" (sharp).
  static const IconData subscript_sharp = IconData(0xed0d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">subscript</i> &#x2014; material icon named "subscript" (round).
  static const IconData subscript_rounded = IconData(0xf01ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">subscript</i> &#x2014; material icon named "subscript" (outlined).
  static const IconData subscript_outlined = IconData(0xf3fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">subscriptions</i> &#x2014; material icon named "subscriptions".
  static const IconData subscriptions = IconData(0xe618, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">subscriptions</i> &#x2014; material icon named "subscriptions" (sharp).
  static const IconData subscriptions_sharp = IconData(0xed0e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">subscriptions</i> &#x2014; material icon named "subscriptions" (round).
  static const IconData subscriptions_rounded = IconData(0xf01ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">subscriptions</i> &#x2014; material icon named "subscriptions" (outlined).
  static const IconData subscriptions_outlined = IconData(0xf3fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">subtitles</i> &#x2014; material icon named "subtitles".
  static const IconData subtitles = IconData(0xe619, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">subtitles</i> &#x2014; material icon named "subtitles" (sharp).
  static const IconData subtitles_sharp = IconData(0xed10, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">subtitles</i> &#x2014; material icon named "subtitles" (round).
  static const IconData subtitles_rounded = IconData(0xf01ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">subtitles</i> &#x2014; material icon named "subtitles" (outlined).
  static const IconData subtitles_outlined = IconData(0xf3fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">subtitles_off</i> &#x2014; material icon named "subtitles off".
  static const IconData subtitles_off = IconData(0xe61a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">subtitles_off</i> &#x2014; material icon named "subtitles off" (sharp).
  static const IconData subtitles_off_sharp = IconData(0xed0f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">subtitles_off</i> &#x2014; material icon named "subtitles off" (round).
  static const IconData subtitles_off_rounded = IconData(0xf01ee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">subtitles_off</i> &#x2014; material icon named "subtitles off" (outlined).
  static const IconData subtitles_off_outlined = IconData(0xf3fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">subway</i> &#x2014; material icon named "subway".
  static const IconData subway = IconData(0xe61b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">subway</i> &#x2014; material icon named "subway" (sharp).
  static const IconData subway_sharp = IconData(0xed11, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">subway</i> &#x2014; material icon named "subway" (round).
  static const IconData subway_rounded = IconData(0xf01f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">subway</i> &#x2014; material icon named "subway" (outlined).
  static const IconData subway_outlined = IconData(0xf3fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">summarize</i> &#x2014; material icon named "summarize".
  static const IconData summarize = IconData(0xe61c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">summarize</i> &#x2014; material icon named "summarize" (sharp).
  static const IconData summarize_sharp = IconData(0xed12, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">summarize</i> &#x2014; material icon named "summarize" (round).
  static const IconData summarize_rounded = IconData(0xf01f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">summarize</i> &#x2014; material icon named "summarize" (outlined).
  static const IconData summarize_outlined = IconData(0xf3ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sunny</i> &#x2014; material icon named "sunny".
  static const IconData sunny = IconData(0xf0575, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sunny_snowing</i> &#x2014; material icon named "sunny snowing".
  static const IconData sunny_snowing = IconData(0xf0576, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">superscript</i> &#x2014; material icon named "superscript".
  static const IconData superscript = IconData(0xe61d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">superscript</i> &#x2014; material icon named "superscript" (sharp).
  static const IconData superscript_sharp = IconData(0xed13, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">superscript</i> &#x2014; material icon named "superscript" (round).
  static const IconData superscript_rounded = IconData(0xf01f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">superscript</i> &#x2014; material icon named "superscript" (outlined).
  static const IconData superscript_outlined = IconData(0xf400, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">supervised_user_circle</i> &#x2014; material icon named "supervised user circle".
  static const IconData supervised_user_circle = IconData(0xe61e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">supervised_user_circle</i> &#x2014; material icon named "supervised user circle" (sharp).
  static const IconData supervised_user_circle_sharp = IconData(0xed14, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">supervised_user_circle</i> &#x2014; material icon named "supervised user circle" (round).
  static const IconData supervised_user_circle_rounded = IconData(0xf01f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">supervised_user_circle</i> &#x2014; material icon named "supervised user circle" (outlined).
  static const IconData supervised_user_circle_outlined = IconData(0xf401, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">supervisor_account</i> &#x2014; material icon named "supervisor account".
  static const IconData supervisor_account = IconData(0xe61f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">supervisor_account</i> &#x2014; material icon named "supervisor account" (sharp).
  static const IconData supervisor_account_sharp = IconData(0xed15, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">supervisor_account</i> &#x2014; material icon named "supervisor account" (round).
  static const IconData supervisor_account_rounded = IconData(0xf01f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">supervisor_account</i> &#x2014; material icon named "supervisor account" (outlined).
  static const IconData supervisor_account_outlined = IconData(0xf402, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">support</i> &#x2014; material icon named "support".
  static const IconData support = IconData(0xe620, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">support</i> &#x2014; material icon named "support" (sharp).
  static const IconData support_sharp = IconData(0xed17, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">support</i> &#x2014; material icon named "support" (round).
  static const IconData support_rounded = IconData(0xf01f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">support</i> &#x2014; material icon named "support" (outlined).
  static const IconData support_outlined = IconData(0xf404, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">support_agent</i> &#x2014; material icon named "support agent".
  static const IconData support_agent = IconData(0xe621, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">support_agent</i> &#x2014; material icon named "support agent" (sharp).
  static const IconData support_agent_sharp = IconData(0xed16, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">support_agent</i> &#x2014; material icon named "support agent" (round).
  static const IconData support_agent_rounded = IconData(0xf01f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">support_agent</i> &#x2014; material icon named "support agent" (outlined).
  static const IconData support_agent_outlined = IconData(0xf403, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">surfing</i> &#x2014; material icon named "surfing".
  static const IconData surfing = IconData(0xe622, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">surfing</i> &#x2014; material icon named "surfing" (sharp).
  static const IconData surfing_sharp = IconData(0xed18, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">surfing</i> &#x2014; material icon named "surfing" (round).
  static const IconData surfing_rounded = IconData(0xf01f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">surfing</i> &#x2014; material icon named "surfing" (outlined).
  static const IconData surfing_outlined = IconData(0xf405, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">surround_sound</i> &#x2014; material icon named "surround sound".
  static const IconData surround_sound = IconData(0xe623, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">surround_sound</i> &#x2014; material icon named "surround sound" (sharp).
  static const IconData surround_sound_sharp = IconData(0xed19, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">surround_sound</i> &#x2014; material icon named "surround sound" (round).
  static const IconData surround_sound_rounded = IconData(0xf01f8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">surround_sound</i> &#x2014; material icon named "surround sound" (outlined).
  static const IconData surround_sound_outlined = IconData(0xf406, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swap_calls</i> &#x2014; material icon named "swap calls".
  static const IconData swap_calls = IconData(0xe624, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swap_calls</i> &#x2014; material icon named "swap calls" (sharp).
  static const IconData swap_calls_sharp = IconData(0xed1a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swap_calls</i> &#x2014; material icon named "swap calls" (round).
  static const IconData swap_calls_rounded = IconData(0xf01f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swap_calls</i> &#x2014; material icon named "swap calls" (outlined).
  static const IconData swap_calls_outlined = IconData(0xf407, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swap_horiz</i> &#x2014; material icon named "swap horiz".
  static const IconData swap_horiz = IconData(0xe625, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swap_horiz</i> &#x2014; material icon named "swap horiz" (sharp).
  static const IconData swap_horiz_sharp = IconData(0xed1b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swap_horiz</i> &#x2014; material icon named "swap horiz" (round).
  static const IconData swap_horiz_rounded = IconData(0xf01fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swap_horiz</i> &#x2014; material icon named "swap horiz" (outlined).
  static const IconData swap_horiz_outlined = IconData(0xf408, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swap_horizontal_circle</i> &#x2014; material icon named "swap horizontal circle".
  static const IconData swap_horizontal_circle = IconData(0xe626, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swap_horizontal_circle</i> &#x2014; material icon named "swap horizontal circle" (sharp).
  static const IconData swap_horizontal_circle_sharp = IconData(0xed1c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swap_horizontal_circle</i> &#x2014; material icon named "swap horizontal circle" (round).
  static const IconData swap_horizontal_circle_rounded = IconData(0xf01fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swap_horizontal_circle</i> &#x2014; material icon named "swap horizontal circle" (outlined).
  static const IconData swap_horizontal_circle_outlined = IconData(0xf409, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swap_vert</i> &#x2014; material icon named "swap vert".
  static const IconData swap_vert = IconData(0xe627, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swap_vert</i> &#x2014; material icon named "swap vert" (sharp).
  static const IconData swap_vert_sharp = IconData(0xed1d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swap_vert</i> &#x2014; material icon named "swap vert" (round).
  static const IconData swap_vert_rounded = IconData(0xf01fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swap_vert</i> &#x2014; material icon named "swap vert" (outlined).
  static const IconData swap_vert_outlined = IconData(0xf40a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swap_vert_circle</i> &#x2014; material icon named "swap vert circle".
  static const IconData swap_vert_circle = IconData(0xe628, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swap_vert_circle</i> &#x2014; material icon named "swap vert circle" (sharp).
  static const IconData swap_vert_circle_sharp = IconData(0xed1e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swap_vert_circle</i> &#x2014; material icon named "swap vert circle" (round).
  static const IconData swap_vert_circle_rounded = IconData(0xf01fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swap_vert_circle</i> &#x2014; material icon named "swap vert circle" (outlined).
  static const IconData swap_vert_circle_outlined = IconData(0xf40b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swap_vertical_circle</i> &#x2014; material icon named "swap vertical circle".
  static const IconData swap_vertical_circle = IconData(0xe628, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swap_vertical_circle</i> &#x2014; material icon named "swap vertical circle" (sharp).
  static const IconData swap_vertical_circle_sharp = IconData(0xed1e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swap_vertical_circle</i> &#x2014; material icon named "swap vertical circle" (round).
  static const IconData swap_vertical_circle_rounded = IconData(0xf01fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swap_vertical_circle</i> &#x2014; material icon named "swap vertical circle" (outlined).
  static const IconData swap_vertical_circle_outlined = IconData(0xf40b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swipe</i> &#x2014; material icon named "swipe".
  static const IconData swipe = IconData(0xe629, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swipe</i> &#x2014; material icon named "swipe" (sharp).
  static const IconData swipe_sharp = IconData(0xed1f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swipe</i> &#x2014; material icon named "swipe" (round).
  static const IconData swipe_rounded = IconData(0xf01fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swipe</i> &#x2014; material icon named "swipe" (outlined).
  static const IconData swipe_outlined = IconData(0xf40c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swipe_down</i> &#x2014; material icon named "swipe down".
  static const IconData swipe_down = IconData(0xf0578, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swipe_down</i> &#x2014; material icon named "swipe down" (sharp).
  static const IconData swipe_down_sharp = IconData(0xf047e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swipe_down</i> &#x2014; material icon named "swipe down" (round).
  static const IconData swipe_down_rounded = IconData(0xf038b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swipe_down</i> &#x2014; material icon named "swipe down" (outlined).
  static const IconData swipe_down_outlined = IconData(0xf066c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swipe_down_alt</i> &#x2014; material icon named "swipe down alt".
  static const IconData swipe_down_alt = IconData(0xf0577, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swipe_down_alt</i> &#x2014; material icon named "swipe down alt" (sharp).
  static const IconData swipe_down_alt_sharp = IconData(0xf047d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swipe_down_alt</i> &#x2014; material icon named "swipe down alt" (round).
  static const IconData swipe_down_alt_rounded = IconData(0xf038a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swipe_down_alt</i> &#x2014; material icon named "swipe down alt" (outlined).
  static const IconData swipe_down_alt_outlined = IconData(0xf066b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swipe_left</i> &#x2014; material icon named "swipe left".
  static const IconData swipe_left = IconData(0xf057a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swipe_left</i> &#x2014; material icon named "swipe left" (sharp).
  static const IconData swipe_left_sharp = IconData(0xf0480, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swipe_left</i> &#x2014; material icon named "swipe left" (round).
  static const IconData swipe_left_rounded = IconData(0xf038d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swipe_left</i> &#x2014; material icon named "swipe left" (outlined).
  static const IconData swipe_left_outlined = IconData(0xf066e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swipe_left_alt</i> &#x2014; material icon named "swipe left alt".
  static const IconData swipe_left_alt = IconData(0xf0579, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swipe_left_alt</i> &#x2014; material icon named "swipe left alt" (sharp).
  static const IconData swipe_left_alt_sharp = IconData(0xf047f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swipe_left_alt</i> &#x2014; material icon named "swipe left alt" (round).
  static const IconData swipe_left_alt_rounded = IconData(0xf038c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swipe_left_alt</i> &#x2014; material icon named "swipe left alt" (outlined).
  static const IconData swipe_left_alt_outlined = IconData(0xf066d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swipe_right</i> &#x2014; material icon named "swipe right".
  static const IconData swipe_right = IconData(0xf057c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swipe_right</i> &#x2014; material icon named "swipe right" (sharp).
  static const IconData swipe_right_sharp = IconData(0xf0482, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swipe_right</i> &#x2014; material icon named "swipe right" (round).
  static const IconData swipe_right_rounded = IconData(0xf038f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swipe_right</i> &#x2014; material icon named "swipe right" (outlined).
  static const IconData swipe_right_outlined = IconData(0xf0670, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swipe_right_alt</i> &#x2014; material icon named "swipe right alt".
  static const IconData swipe_right_alt = IconData(0xf057b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swipe_right_alt</i> &#x2014; material icon named "swipe right alt" (sharp).
  static const IconData swipe_right_alt_sharp = IconData(0xf0481, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swipe_right_alt</i> &#x2014; material icon named "swipe right alt" (round).
  static const IconData swipe_right_alt_rounded = IconData(0xf038e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swipe_right_alt</i> &#x2014; material icon named "swipe right alt" (outlined).
  static const IconData swipe_right_alt_outlined = IconData(0xf066f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swipe_up</i> &#x2014; material icon named "swipe up".
  static const IconData swipe_up = IconData(0xf057e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swipe_up</i> &#x2014; material icon named "swipe up" (sharp).
  static const IconData swipe_up_sharp = IconData(0xf0484, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swipe_up</i> &#x2014; material icon named "swipe up" (round).
  static const IconData swipe_up_rounded = IconData(0xf0391, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swipe_up</i> &#x2014; material icon named "swipe up" (outlined).
  static const IconData swipe_up_outlined = IconData(0xf0672, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swipe_up_alt</i> &#x2014; material icon named "swipe up alt".
  static const IconData swipe_up_alt = IconData(0xf057d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swipe_up_alt</i> &#x2014; material icon named "swipe up alt" (sharp).
  static const IconData swipe_up_alt_sharp = IconData(0xf0483, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swipe_up_alt</i> &#x2014; material icon named "swipe up alt" (round).
  static const IconData swipe_up_alt_rounded = IconData(0xf0390, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swipe_up_alt</i> &#x2014; material icon named "swipe up alt" (outlined).
  static const IconData swipe_up_alt_outlined = IconData(0xf0671, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">swipe_vertical</i> &#x2014; material icon named "swipe vertical".
  static const IconData swipe_vertical = IconData(0xf057f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">swipe_vertical</i> &#x2014; material icon named "swipe vertical" (sharp).
  static const IconData swipe_vertical_sharp = IconData(0xf0485, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">swipe_vertical</i> &#x2014; material icon named "swipe vertical" (round).
  static const IconData swipe_vertical_rounded = IconData(0xf0392, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">swipe_vertical</i> &#x2014; material icon named "swipe vertical" (outlined).
  static const IconData swipe_vertical_outlined = IconData(0xf0673, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">switch_access_shortcut</i> &#x2014; material icon named "switch access shortcut".
  static const IconData switch_access_shortcut = IconData(0xf0581, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">switch_access_shortcut</i> &#x2014; material icon named "switch access shortcut" (sharp).
  static const IconData switch_access_shortcut_sharp = IconData(0xf0487, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">switch_access_shortcut</i> &#x2014; material icon named "switch access shortcut" (round).
  static const IconData switch_access_shortcut_rounded = IconData(0xf0394, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">switch_access_shortcut</i> &#x2014; material icon named "switch access shortcut" (outlined).
  static const IconData switch_access_shortcut_outlined = IconData(0xf0675, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">switch_access_shortcut_add</i> &#x2014; material icon named "switch access shortcut add".
  static const IconData switch_access_shortcut_add = IconData(0xf0580, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">switch_access_shortcut_add</i> &#x2014; material icon named "switch access shortcut add" (sharp).
  static const IconData switch_access_shortcut_add_sharp = IconData(0xf0486, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">switch_access_shortcut_add</i> &#x2014; material icon named "switch access shortcut add" (round).
  static const IconData switch_access_shortcut_add_rounded = IconData(0xf0393, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">switch_access_shortcut_add</i> &#x2014; material icon named "switch access shortcut add" (outlined).
  static const IconData switch_access_shortcut_add_outlined = IconData(0xf0674, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">switch_account</i> &#x2014; material icon named "switch account".
  static const IconData switch_account = IconData(0xe62a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">switch_account</i> &#x2014; material icon named "switch account" (sharp).
  static const IconData switch_account_sharp = IconData(0xed20, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">switch_account</i> &#x2014; material icon named "switch account" (round).
  static const IconData switch_account_rounded = IconData(0xf01ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">switch_account</i> &#x2014; material icon named "switch account" (outlined).
  static const IconData switch_account_outlined = IconData(0xf40d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">switch_camera</i> &#x2014; material icon named "switch camera".
  static const IconData switch_camera = IconData(0xe62b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">switch_camera</i> &#x2014; material icon named "switch camera" (sharp).
  static const IconData switch_camera_sharp = IconData(0xed21, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">switch_camera</i> &#x2014; material icon named "switch camera" (round).
  static const IconData switch_camera_rounded = IconData(0xf0200, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">switch_camera</i> &#x2014; material icon named "switch camera" (outlined).
  static const IconData switch_camera_outlined = IconData(0xf40e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">switch_left</i> &#x2014; material icon named "switch left".
  static const IconData switch_left = IconData(0xe62c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">switch_left</i> &#x2014; material icon named "switch left" (sharp).
  static const IconData switch_left_sharp = IconData(0xed22, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">switch_left</i> &#x2014; material icon named "switch left" (round).
  static const IconData switch_left_rounded = IconData(0xf0201, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">switch_left</i> &#x2014; material icon named "switch left" (outlined).
  static const IconData switch_left_outlined = IconData(0xf40f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">switch_right</i> &#x2014; material icon named "switch right".
  static const IconData switch_right = IconData(0xe62d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">switch_right</i> &#x2014; material icon named "switch right" (sharp).
  static const IconData switch_right_sharp = IconData(0xed23, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">switch_right</i> &#x2014; material icon named "switch right" (round).
  static const IconData switch_right_rounded = IconData(0xf0202, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">switch_right</i> &#x2014; material icon named "switch right" (outlined).
  static const IconData switch_right_outlined = IconData(0xf410, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">switch_video</i> &#x2014; material icon named "switch video".
  static const IconData switch_video = IconData(0xe62e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">switch_video</i> &#x2014; material icon named "switch video" (sharp).
  static const IconData switch_video_sharp = IconData(0xed24, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">switch_video</i> &#x2014; material icon named "switch video" (round).
  static const IconData switch_video_rounded = IconData(0xf0203, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">switch_video</i> &#x2014; material icon named "switch video" (outlined).
  static const IconData switch_video_outlined = IconData(0xf411, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">synagogue</i> &#x2014; material icon named "synagogue".
  static const IconData synagogue = IconData(0xf0582, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">synagogue</i> &#x2014; material icon named "synagogue" (sharp).
  static const IconData synagogue_sharp = IconData(0xf0488, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">synagogue</i> &#x2014; material icon named "synagogue" (round).
  static const IconData synagogue_rounded = IconData(0xf0395, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">synagogue</i> &#x2014; material icon named "synagogue" (outlined).
  static const IconData synagogue_outlined = IconData(0xf0676, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sync</i> &#x2014; material icon named "sync".
  static const IconData sync = IconData(0xe62f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sync</i> &#x2014; material icon named "sync" (sharp).
  static const IconData sync_sharp = IconData(0xed28, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sync</i> &#x2014; material icon named "sync" (round).
  static const IconData sync_rounded = IconData(0xf0207, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sync</i> &#x2014; material icon named "sync" (outlined).
  static const IconData sync_outlined = IconData(0xf414, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sync_alt</i> &#x2014; material icon named "sync alt".
  static const IconData sync_alt = IconData(0xe630, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sync_alt</i> &#x2014; material icon named "sync alt" (sharp).
  static const IconData sync_alt_sharp = IconData(0xed25, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sync_alt</i> &#x2014; material icon named "sync alt" (round).
  static const IconData sync_alt_rounded = IconData(0xf0204, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sync_alt</i> &#x2014; material icon named "sync alt" (outlined).
  static const IconData sync_alt_outlined = IconData(0xf412, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sync_disabled</i> &#x2014; material icon named "sync disabled".
  static const IconData sync_disabled = IconData(0xe631, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sync_disabled</i> &#x2014; material icon named "sync disabled" (sharp).
  static const IconData sync_disabled_sharp = IconData(0xed26, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sync_disabled</i> &#x2014; material icon named "sync disabled" (round).
  static const IconData sync_disabled_rounded = IconData(0xf0205, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sync_disabled</i> &#x2014; material icon named "sync disabled" (outlined).
  static const IconData sync_disabled_outlined = IconData(0xf413, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sync_lock</i> &#x2014; material icon named "sync lock".
  static const IconData sync_lock = IconData(0xf0583, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sync_lock</i> &#x2014; material icon named "sync lock" (sharp).
  static const IconData sync_lock_sharp = IconData(0xf0489, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sync_lock</i> &#x2014; material icon named "sync lock" (round).
  static const IconData sync_lock_rounded = IconData(0xf0396, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sync_lock</i> &#x2014; material icon named "sync lock" (outlined).
  static const IconData sync_lock_outlined = IconData(0xf0677, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">sync_problem</i> &#x2014; material icon named "sync problem".
  static const IconData sync_problem = IconData(0xe632, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">sync_problem</i> &#x2014; material icon named "sync problem" (sharp).
  static const IconData sync_problem_sharp = IconData(0xed27, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">sync_problem</i> &#x2014; material icon named "sync problem" (round).
  static const IconData sync_problem_rounded = IconData(0xf0206, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">sync_problem</i> &#x2014; material icon named "sync problem" (outlined).
  static const IconData sync_problem_outlined = IconData(0xf415, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">system_security_update</i> &#x2014; material icon named "system security update".
  static const IconData system_security_update = IconData(0xe633, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">system_security_update</i> &#x2014; material icon named "system security update" (sharp).
  static const IconData system_security_update_sharp = IconData(0xed2a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">system_security_update</i> &#x2014; material icon named "system security update" (round).
  static const IconData system_security_update_rounded = IconData(0xf0209, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">system_security_update</i> &#x2014; material icon named "system security update" (outlined).
  static const IconData system_security_update_outlined = IconData(0xf417, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">system_security_update_good</i> &#x2014; material icon named "system security update good".
  static const IconData system_security_update_good = IconData(0xe634, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">system_security_update_good</i> &#x2014; material icon named "system security update good" (sharp).
  static const IconData system_security_update_good_sharp = IconData(0xed29, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">system_security_update_good</i> &#x2014; material icon named "system security update good" (round).
  static const IconData system_security_update_good_rounded = IconData(0xf0208, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">system_security_update_good</i> &#x2014; material icon named "system security update good" (outlined).
  static const IconData system_security_update_good_outlined = IconData(0xf416, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">system_security_update_warning</i> &#x2014; material icon named "system security update warning".
  static const IconData system_security_update_warning = IconData(0xe635, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">system_security_update_warning</i> &#x2014; material icon named "system security update warning" (sharp).
  static const IconData system_security_update_warning_sharp = IconData(0xed2b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">system_security_update_warning</i> &#x2014; material icon named "system security update warning" (round).
  static const IconData system_security_update_warning_rounded = IconData(0xf020a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">system_security_update_warning</i> &#x2014; material icon named "system security update warning" (outlined).
  static const IconData system_security_update_warning_outlined = IconData(0xf418, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">system_update</i> &#x2014; material icon named "system update".
  static const IconData system_update = IconData(0xe636, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">system_update</i> &#x2014; material icon named "system update" (sharp).
  static const IconData system_update_sharp = IconData(0xed2d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">system_update</i> &#x2014; material icon named "system update" (round).
  static const IconData system_update_rounded = IconData(0xf020c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">system_update</i> &#x2014; material icon named "system update" (outlined).
  static const IconData system_update_outlined = IconData(0xf41a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">system_update_alt</i> &#x2014; material icon named "system update alt".
  static const IconData system_update_alt = IconData(0xe637, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">system_update_alt</i> &#x2014; material icon named "system update alt" (sharp).
  static const IconData system_update_alt_sharp = IconData(0xed2c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">system_update_alt</i> &#x2014; material icon named "system update alt" (round).
  static const IconData system_update_alt_rounded = IconData(0xf020b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">system_update_alt</i> &#x2014; material icon named "system update alt" (outlined).
  static const IconData system_update_alt_outlined = IconData(0xf419, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">system_update_tv</i> &#x2014; material icon named "system update tv".
  static const IconData system_update_tv = IconData(0xe637, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">system_update_tv</i> &#x2014; material icon named "system update tv" (sharp).
  static const IconData system_update_tv_sharp = IconData(0xed2c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">system_update_tv</i> &#x2014; material icon named "system update tv" (round).
  static const IconData system_update_tv_rounded = IconData(0xf020b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">system_update_tv</i> &#x2014; material icon named "system update tv" (outlined).
  static const IconData system_update_tv_outlined = IconData(0xf419, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tab</i> &#x2014; material icon named "tab".
  static const IconData tab = IconData(0xe638, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tab</i> &#x2014; material icon named "tab" (sharp).
  static const IconData tab_sharp = IconData(0xed2e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tab</i> &#x2014; material icon named "tab" (round).
  static const IconData tab_rounded = IconData(0xf020d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tab</i> &#x2014; material icon named "tab" (outlined).
  static const IconData tab_outlined = IconData(0xf41b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tab_unselected</i> &#x2014; material icon named "tab unselected".
  static const IconData tab_unselected = IconData(0xe639, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tab_unselected</i> &#x2014; material icon named "tab unselected" (sharp).
  static const IconData tab_unselected_sharp = IconData(0xed2f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tab_unselected</i> &#x2014; material icon named "tab unselected" (round).
  static const IconData tab_unselected_rounded = IconData(0xf020e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tab_unselected</i> &#x2014; material icon named "tab unselected" (outlined).
  static const IconData tab_unselected_outlined = IconData(0xf41c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">table_bar</i> &#x2014; material icon named "table bar".
  static const IconData table_bar = IconData(0xf0584, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">table_bar</i> &#x2014; material icon named "table bar" (sharp).
  static const IconData table_bar_sharp = IconData(0xf048a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">table_bar</i> &#x2014; material icon named "table bar" (round).
  static const IconData table_bar_rounded = IconData(0xf0397, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">table_bar</i> &#x2014; material icon named "table bar" (outlined).
  static const IconData table_bar_outlined = IconData(0xf0678, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">table_chart</i> &#x2014; material icon named "table chart".
  static const IconData table_chart = IconData(0xe63a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">table_chart</i> &#x2014; material icon named "table chart" (sharp).
  static const IconData table_chart_sharp = IconData(0xed30, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">table_chart</i> &#x2014; material icon named "table chart" (round).
  static const IconData table_chart_rounded = IconData(0xf020f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">table_chart</i> &#x2014; material icon named "table chart" (outlined).
  static const IconData table_chart_outlined = IconData(0xf41d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">table_restaurant</i> &#x2014; material icon named "table restaurant".
  static const IconData table_restaurant = IconData(0xf0585, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">table_restaurant</i> &#x2014; material icon named "table restaurant" (sharp).
  static const IconData table_restaurant_sharp = IconData(0xf048b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">table_restaurant</i> &#x2014; material icon named "table restaurant" (round).
  static const IconData table_restaurant_rounded = IconData(0xf0398, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">table_restaurant</i> &#x2014; material icon named "table restaurant" (outlined).
  static const IconData table_restaurant_outlined = IconData(0xf0679, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">table_rows</i> &#x2014; material icon named "table rows".
  static const IconData table_rows = IconData(0xe63b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">table_rows</i> &#x2014; material icon named "table rows" (sharp).
  static const IconData table_rows_sharp = IconData(0xed31, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">table_rows</i> &#x2014; material icon named "table rows" (round).
  static const IconData table_rows_rounded = IconData(0xf0210, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">table_rows</i> &#x2014; material icon named "table rows" (outlined).
  static const IconData table_rows_outlined = IconData(0xf41e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">table_view</i> &#x2014; material icon named "table view".
  static const IconData table_view = IconData(0xe63c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">table_view</i> &#x2014; material icon named "table view" (sharp).
  static const IconData table_view_sharp = IconData(0xed32, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">table_view</i> &#x2014; material icon named "table view" (round).
  static const IconData table_view_rounded = IconData(0xf0211, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">table_view</i> &#x2014; material icon named "table view" (outlined).
  static const IconData table_view_outlined = IconData(0xf41f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tablet</i> &#x2014; material icon named "tablet".
  static const IconData tablet = IconData(0xe63d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tablet</i> &#x2014; material icon named "tablet" (sharp).
  static const IconData tablet_sharp = IconData(0xed35, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tablet</i> &#x2014; material icon named "tablet" (round).
  static const IconData tablet_rounded = IconData(0xf0214, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tablet</i> &#x2014; material icon named "tablet" (outlined).
  static const IconData tablet_outlined = IconData(0xf422, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tablet_android</i> &#x2014; material icon named "tablet android".
  static const IconData tablet_android = IconData(0xe63e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tablet_android</i> &#x2014; material icon named "tablet android" (sharp).
  static const IconData tablet_android_sharp = IconData(0xed33, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tablet_android</i> &#x2014; material icon named "tablet android" (round).
  static const IconData tablet_android_rounded = IconData(0xf0212, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tablet_android</i> &#x2014; material icon named "tablet android" (outlined).
  static const IconData tablet_android_outlined = IconData(0xf420, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tablet_mac</i> &#x2014; material icon named "tablet mac".
  static const IconData tablet_mac = IconData(0xe63f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tablet_mac</i> &#x2014; material icon named "tablet mac" (sharp).
  static const IconData tablet_mac_sharp = IconData(0xed34, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tablet_mac</i> &#x2014; material icon named "tablet mac" (round).
  static const IconData tablet_mac_rounded = IconData(0xf0213, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tablet_mac</i> &#x2014; material icon named "tablet mac" (outlined).
  static const IconData tablet_mac_outlined = IconData(0xf421, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tag</i> &#x2014; material icon named "tag".
  static const IconData tag = IconData(0xe640, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tag</i> &#x2014; material icon named "tag" (sharp).
  static const IconData tag_sharp = IconData(0xed37, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tag</i> &#x2014; material icon named "tag" (round).
  static const IconData tag_rounded = IconData(0xf0216, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tag</i> &#x2014; material icon named "tag" (outlined).
  static const IconData tag_outlined = IconData(0xf424, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tag_faces</i> &#x2014; material icon named "tag faces".
  static const IconData tag_faces = IconData(0xe641, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tag_faces</i> &#x2014; material icon named "tag faces" (sharp).
  static const IconData tag_faces_sharp = IconData(0xed36, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tag_faces</i> &#x2014; material icon named "tag faces" (round).
  static const IconData tag_faces_rounded = IconData(0xf0215, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tag_faces</i> &#x2014; material icon named "tag faces" (outlined).
  static const IconData tag_faces_outlined = IconData(0xf423, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">takeout_dining</i> &#x2014; material icon named "takeout dining".
  static const IconData takeout_dining = IconData(0xe642, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">takeout_dining</i> &#x2014; material icon named "takeout dining" (sharp).
  static const IconData takeout_dining_sharp = IconData(0xed38, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">takeout_dining</i> &#x2014; material icon named "takeout dining" (round).
  static const IconData takeout_dining_rounded = IconData(0xf0217, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">takeout_dining</i> &#x2014; material icon named "takeout dining" (outlined).
  static const IconData takeout_dining_outlined = IconData(0xf425, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tap_and_play</i> &#x2014; material icon named "tap and play".
  static const IconData tap_and_play = IconData(0xe643, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tap_and_play</i> &#x2014; material icon named "tap and play" (sharp).
  static const IconData tap_and_play_sharp = IconData(0xed39, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tap_and_play</i> &#x2014; material icon named "tap and play" (round).
  static const IconData tap_and_play_rounded = IconData(0xf0218, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tap_and_play</i> &#x2014; material icon named "tap and play" (outlined).
  static const IconData tap_and_play_outlined = IconData(0xf426, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tapas</i> &#x2014; material icon named "tapas".
  static const IconData tapas = IconData(0xe644, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tapas</i> &#x2014; material icon named "tapas" (sharp).
  static const IconData tapas_sharp = IconData(0xed3a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tapas</i> &#x2014; material icon named "tapas" (round).
  static const IconData tapas_rounded = IconData(0xf0219, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tapas</i> &#x2014; material icon named "tapas" (outlined).
  static const IconData tapas_outlined = IconData(0xf427, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">task</i> &#x2014; material icon named "task".
  static const IconData task = IconData(0xe645, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">task</i> &#x2014; material icon named "task" (sharp).
  static const IconData task_sharp = IconData(0xed3c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">task</i> &#x2014; material icon named "task" (round).
  static const IconData task_rounded = IconData(0xf021b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">task</i> &#x2014; material icon named "task" (outlined).
  static const IconData task_outlined = IconData(0xf429, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">task_alt</i> &#x2014; material icon named "task alt".
  static const IconData task_alt = IconData(0xe646, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">task_alt</i> &#x2014; material icon named "task alt" (sharp).
  static const IconData task_alt_sharp = IconData(0xed3b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">task_alt</i> &#x2014; material icon named "task alt" (round).
  static const IconData task_alt_rounded = IconData(0xf021a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">task_alt</i> &#x2014; material icon named "task alt" (outlined).
  static const IconData task_alt_outlined = IconData(0xf428, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">taxi_alert</i> &#x2014; material icon named "taxi alert".
  static const IconData taxi_alert = IconData(0xe647, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">taxi_alert</i> &#x2014; material icon named "taxi alert" (sharp).
  static const IconData taxi_alert_sharp = IconData(0xed3d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">taxi_alert</i> &#x2014; material icon named "taxi alert" (round).
  static const IconData taxi_alert_rounded = IconData(0xf021c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">taxi_alert</i> &#x2014; material icon named "taxi alert" (outlined).
  static const IconData taxi_alert_outlined = IconData(0xf42a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">telegram</i> &#x2014; material icon named "telegram".
  static const IconData telegram = IconData(0xf0586, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">telegram</i> &#x2014; material icon named "telegram" (sharp).
  static const IconData telegram_sharp = IconData(0xf048c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">telegram</i> &#x2014; material icon named "telegram" (round).
  static const IconData telegram_rounded = IconData(0xf0399, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">telegram</i> &#x2014; material icon named "telegram" (outlined).
  static const IconData telegram_outlined = IconData(0xf067a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">temple_buddhist</i> &#x2014; material icon named "temple buddhist".
  static const IconData temple_buddhist = IconData(0xf0587, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">temple_buddhist</i> &#x2014; material icon named "temple buddhist" (sharp).
  static const IconData temple_buddhist_sharp = IconData(0xf048d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">temple_buddhist</i> &#x2014; material icon named "temple buddhist" (round).
  static const IconData temple_buddhist_rounded = IconData(0xf039a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">temple_buddhist</i> &#x2014; material icon named "temple buddhist" (outlined).
  static const IconData temple_buddhist_outlined = IconData(0xf067b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">temple_hindu</i> &#x2014; material icon named "temple hindu".
  static const IconData temple_hindu = IconData(0xf0588, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">temple_hindu</i> &#x2014; material icon named "temple hindu" (sharp).
  static const IconData temple_hindu_sharp = IconData(0xf048e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">temple_hindu</i> &#x2014; material icon named "temple hindu" (round).
  static const IconData temple_hindu_rounded = IconData(0xf039b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">temple_hindu</i> &#x2014; material icon named "temple hindu" (outlined).
  static const IconData temple_hindu_outlined = IconData(0xf067c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">terminal</i> &#x2014; material icon named "terminal".
  static const IconData terminal = IconData(0xf0589, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">terminal</i> &#x2014; material icon named "terminal" (sharp).
  static const IconData terminal_sharp = IconData(0xf048f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">terminal</i> &#x2014; material icon named "terminal" (round).
  static const IconData terminal_rounded = IconData(0xf039c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">terminal</i> &#x2014; material icon named "terminal" (outlined).
  static const IconData terminal_outlined = IconData(0xf067d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">terrain</i> &#x2014; material icon named "terrain".
  static const IconData terrain = IconData(0xe648, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">terrain</i> &#x2014; material icon named "terrain" (sharp).
  static const IconData terrain_sharp = IconData(0xed3e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">terrain</i> &#x2014; material icon named "terrain" (round).
  static const IconData terrain_rounded = IconData(0xf021d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">terrain</i> &#x2014; material icon named "terrain" (outlined).
  static const IconData terrain_outlined = IconData(0xf42b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">text_decrease</i> &#x2014; material icon named "text decrease".
  static const IconData text_decrease = IconData(0xf058a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">text_decrease</i> &#x2014; material icon named "text decrease" (sharp).
  static const IconData text_decrease_sharp = IconData(0xf0490, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">text_decrease</i> &#x2014; material icon named "text decrease" (round).
  static const IconData text_decrease_rounded = IconData(0xf039d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">text_decrease</i> &#x2014; material icon named "text decrease" (outlined).
  static const IconData text_decrease_outlined = IconData(0xf067e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">text_fields</i> &#x2014; material icon named "text fields".
  static const IconData text_fields = IconData(0xe649, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">text_fields</i> &#x2014; material icon named "text fields" (sharp).
  static const IconData text_fields_sharp = IconData(0xed3f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">text_fields</i> &#x2014; material icon named "text fields" (round).
  static const IconData text_fields_rounded = IconData(0xf021e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">text_fields</i> &#x2014; material icon named "text fields" (outlined).
  static const IconData text_fields_outlined = IconData(0xf42c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">text_format</i> &#x2014; material icon named "text format".
  static const IconData text_format = IconData(0xe64a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">text_format</i> &#x2014; material icon named "text format" (sharp).
  static const IconData text_format_sharp = IconData(0xed40, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">text_format</i> &#x2014; material icon named "text format" (round).
  static const IconData text_format_rounded = IconData(0xf021f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">text_format</i> &#x2014; material icon named "text format" (outlined).
  static const IconData text_format_outlined = IconData(0xf42d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">text_increase</i> &#x2014; material icon named "text increase".
  static const IconData text_increase = IconData(0xf058b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">text_increase</i> &#x2014; material icon named "text increase" (sharp).
  static const IconData text_increase_sharp = IconData(0xf0491, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">text_increase</i> &#x2014; material icon named "text increase" (round).
  static const IconData text_increase_rounded = IconData(0xf039e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">text_increase</i> &#x2014; material icon named "text increase" (outlined).
  static const IconData text_increase_outlined = IconData(0xf067f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">text_rotate_up</i> &#x2014; material icon named "text rotate up".
  static const IconData text_rotate_up = IconData(0xe64b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">text_rotate_up</i> &#x2014; material icon named "text rotate up" (sharp).
  static const IconData text_rotate_up_sharp = IconData(0xed41, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">text_rotate_up</i> &#x2014; material icon named "text rotate up" (round).
  static const IconData text_rotate_up_rounded = IconData(0xf0220, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">text_rotate_up</i> &#x2014; material icon named "text rotate up" (outlined).
  static const IconData text_rotate_up_outlined = IconData(0xf42e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">text_rotate_vertical</i> &#x2014; material icon named "text rotate vertical".
  static const IconData text_rotate_vertical = IconData(0xe64c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">text_rotate_vertical</i> &#x2014; material icon named "text rotate vertical" (sharp).
  static const IconData text_rotate_vertical_sharp = IconData(0xed42, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">text_rotate_vertical</i> &#x2014; material icon named "text rotate vertical" (round).
  static const IconData text_rotate_vertical_rounded = IconData(0xf0221, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">text_rotate_vertical</i> &#x2014; material icon named "text rotate vertical" (outlined).
  static const IconData text_rotate_vertical_outlined = IconData(0xf42f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">text_rotation_angledown</i> &#x2014; material icon named "text rotation angledown".
  static const IconData text_rotation_angledown = IconData(0xe64d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">text_rotation_angledown</i> &#x2014; material icon named "text rotation angledown" (sharp).
  static const IconData text_rotation_angledown_sharp = IconData(0xed43, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">text_rotation_angledown</i> &#x2014; material icon named "text rotation angledown" (round).
  static const IconData text_rotation_angledown_rounded = IconData(0xf0222, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">text_rotation_angledown</i> &#x2014; material icon named "text rotation angledown" (outlined).
  static const IconData text_rotation_angledown_outlined = IconData(0xf430, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">text_rotation_angleup</i> &#x2014; material icon named "text rotation angleup".
  static const IconData text_rotation_angleup = IconData(0xe64e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">text_rotation_angleup</i> &#x2014; material icon named "text rotation angleup" (sharp).
  static const IconData text_rotation_angleup_sharp = IconData(0xed44, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">text_rotation_angleup</i> &#x2014; material icon named "text rotation angleup" (round).
  static const IconData text_rotation_angleup_rounded = IconData(0xf0223, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">text_rotation_angleup</i> &#x2014; material icon named "text rotation angleup" (outlined).
  static const IconData text_rotation_angleup_outlined = IconData(0xf431, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">text_rotation_down</i> &#x2014; material icon named "text rotation down".
  static const IconData text_rotation_down = IconData(0xe64f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">text_rotation_down</i> &#x2014; material icon named "text rotation down" (sharp).
  static const IconData text_rotation_down_sharp = IconData(0xed45, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">text_rotation_down</i> &#x2014; material icon named "text rotation down" (round).
  static const IconData text_rotation_down_rounded = IconData(0xf0224, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">text_rotation_down</i> &#x2014; material icon named "text rotation down" (outlined).
  static const IconData text_rotation_down_outlined = IconData(0xf432, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">text_rotation_none</i> &#x2014; material icon named "text rotation none".
  static const IconData text_rotation_none = IconData(0xe650, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">text_rotation_none</i> &#x2014; material icon named "text rotation none" (sharp).
  static const IconData text_rotation_none_sharp = IconData(0xed46, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">text_rotation_none</i> &#x2014; material icon named "text rotation none" (round).
  static const IconData text_rotation_none_rounded = IconData(0xf0225, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">text_rotation_none</i> &#x2014; material icon named "text rotation none" (outlined).
  static const IconData text_rotation_none_outlined = IconData(0xf433, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">text_snippet</i> &#x2014; material icon named "text snippet".
  static const IconData text_snippet = IconData(0xe651, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">text_snippet</i> &#x2014; material icon named "text snippet" (sharp).
  static const IconData text_snippet_sharp = IconData(0xed47, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">text_snippet</i> &#x2014; material icon named "text snippet" (round).
  static const IconData text_snippet_rounded = IconData(0xf0226, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">text_snippet</i> &#x2014; material icon named "text snippet" (outlined).
  static const IconData text_snippet_outlined = IconData(0xf434, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">textsms</i> &#x2014; material icon named "textsms".
  static const IconData textsms = IconData(0xe652, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">textsms</i> &#x2014; material icon named "textsms" (sharp).
  static const IconData textsms_sharp = IconData(0xed48, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">textsms</i> &#x2014; material icon named "textsms" (round).
  static const IconData textsms_rounded = IconData(0xf0227, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">textsms</i> &#x2014; material icon named "textsms" (outlined).
  static const IconData textsms_outlined = IconData(0xf435, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">texture</i> &#x2014; material icon named "texture".
  static const IconData texture = IconData(0xe653, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">texture</i> &#x2014; material icon named "texture" (sharp).
  static const IconData texture_sharp = IconData(0xed49, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">texture</i> &#x2014; material icon named "texture" (round).
  static const IconData texture_rounded = IconData(0xf0228, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">texture</i> &#x2014; material icon named "texture" (outlined).
  static const IconData texture_outlined = IconData(0xf436, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">theater_comedy</i> &#x2014; material icon named "theater comedy".
  static const IconData theater_comedy = IconData(0xe654, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">theater_comedy</i> &#x2014; material icon named "theater comedy" (sharp).
  static const IconData theater_comedy_sharp = IconData(0xed4a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">theater_comedy</i> &#x2014; material icon named "theater comedy" (round).
  static const IconData theater_comedy_rounded = IconData(0xf0229, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">theater_comedy</i> &#x2014; material icon named "theater comedy" (outlined).
  static const IconData theater_comedy_outlined = IconData(0xf437, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">theaters</i> &#x2014; material icon named "theaters".
  static const IconData theaters = IconData(0xe655, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">theaters</i> &#x2014; material icon named "theaters" (sharp).
  static const IconData theaters_sharp = IconData(0xed4b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">theaters</i> &#x2014; material icon named "theaters" (round).
  static const IconData theaters_rounded = IconData(0xf022a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">theaters</i> &#x2014; material icon named "theaters" (outlined).
  static const IconData theaters_outlined = IconData(0xf438, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">thermostat</i> &#x2014; material icon named "thermostat".
  static const IconData thermostat = IconData(0xe656, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">thermostat</i> &#x2014; material icon named "thermostat" (sharp).
  static const IconData thermostat_sharp = IconData(0xed4d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">thermostat</i> &#x2014; material icon named "thermostat" (round).
  static const IconData thermostat_rounded = IconData(0xf022c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">thermostat</i> &#x2014; material icon named "thermostat" (outlined).
  static const IconData thermostat_outlined = IconData(0xf43a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">thermostat_auto</i> &#x2014; material icon named "thermostat auto".
  static const IconData thermostat_auto = IconData(0xe657, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">thermostat_auto</i> &#x2014; material icon named "thermostat auto" (sharp).
  static const IconData thermostat_auto_sharp = IconData(0xed4c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">thermostat_auto</i> &#x2014; material icon named "thermostat auto" (round).
  static const IconData thermostat_auto_rounded = IconData(0xf022b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">thermostat_auto</i> &#x2014; material icon named "thermostat auto" (outlined).
  static const IconData thermostat_auto_outlined = IconData(0xf439, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">thumb_down</i> &#x2014; material icon named "thumb down".
  static const IconData thumb_down = IconData(0xe658, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">thumb_down</i> &#x2014; material icon named "thumb down" (sharp).
  static const IconData thumb_down_sharp = IconData(0xed50, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">thumb_down</i> &#x2014; material icon named "thumb down" (round).
  static const IconData thumb_down_rounded = IconData(0xf022f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">thumb_down</i> &#x2014; material icon named "thumb down" (outlined).
  static const IconData thumb_down_outlined = IconData(0xf43d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">thumb_down_alt</i> &#x2014; material icon named "thumb down alt".
  static const IconData thumb_down_alt = IconData(0xe659, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">thumb_down_alt</i> &#x2014; material icon named "thumb down alt" (sharp).
  static const IconData thumb_down_alt_sharp = IconData(0xed4e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">thumb_down_alt</i> &#x2014; material icon named "thumb down alt" (round).
  static const IconData thumb_down_alt_rounded = IconData(0xf022d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">thumb_down_alt</i> &#x2014; material icon named "thumb down alt" (outlined).
  static const IconData thumb_down_alt_outlined = IconData(0xf43b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">thumb_down_off_alt</i> &#x2014; material icon named "thumb down off alt".
  static const IconData thumb_down_off_alt = IconData(0xe65a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">thumb_down_off_alt</i> &#x2014; material icon named "thumb down off alt" (sharp).
  static const IconData thumb_down_off_alt_sharp = IconData(0xed4f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">thumb_down_off_alt</i> &#x2014; material icon named "thumb down off alt" (round).
  static const IconData thumb_down_off_alt_rounded = IconData(0xf022e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">thumb_down_off_alt</i> &#x2014; material icon named "thumb down off alt" (outlined).
  static const IconData thumb_down_off_alt_outlined = IconData(0xf43c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">thumb_up</i> &#x2014; material icon named "thumb up".
  static const IconData thumb_up = IconData(0xe65b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">thumb_up</i> &#x2014; material icon named "thumb up" (sharp).
  static const IconData thumb_up_sharp = IconData(0xed53, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">thumb_up</i> &#x2014; material icon named "thumb up" (round).
  static const IconData thumb_up_rounded = IconData(0xf0232, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">thumb_up</i> &#x2014; material icon named "thumb up" (outlined).
  static const IconData thumb_up_outlined = IconData(0xf440, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">thumb_up_alt</i> &#x2014; material icon named "thumb up alt".
  static const IconData thumb_up_alt = IconData(0xe65c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">thumb_up_alt</i> &#x2014; material icon named "thumb up alt" (sharp).
  static const IconData thumb_up_alt_sharp = IconData(0xed51, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">thumb_up_alt</i> &#x2014; material icon named "thumb up alt" (round).
  static const IconData thumb_up_alt_rounded = IconData(0xf0230, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">thumb_up_alt</i> &#x2014; material icon named "thumb up alt" (outlined).
  static const IconData thumb_up_alt_outlined = IconData(0xf43e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">thumb_up_off_alt</i> &#x2014; material icon named "thumb up off alt".
  static const IconData thumb_up_off_alt = IconData(0xe65d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">thumb_up_off_alt</i> &#x2014; material icon named "thumb up off alt" (sharp).
  static const IconData thumb_up_off_alt_sharp = IconData(0xed52, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">thumb_up_off_alt</i> &#x2014; material icon named "thumb up off alt" (round).
  static const IconData thumb_up_off_alt_rounded = IconData(0xf0231, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">thumb_up_off_alt</i> &#x2014; material icon named "thumb up off alt" (outlined).
  static const IconData thumb_up_off_alt_outlined = IconData(0xf43f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">thumbs_up_down</i> &#x2014; material icon named "thumbs up down".
  static const IconData thumbs_up_down = IconData(0xe65e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">thumbs_up_down</i> &#x2014; material icon named "thumbs up down" (sharp).
  static const IconData thumbs_up_down_sharp = IconData(0xed54, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">thumbs_up_down</i> &#x2014; material icon named "thumbs up down" (round).
  static const IconData thumbs_up_down_rounded = IconData(0xf0233, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">thumbs_up_down</i> &#x2014; material icon named "thumbs up down" (outlined).
  static const IconData thumbs_up_down_outlined = IconData(0xf441, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">thunderstorm</i> &#x2014; material icon named "thunderstorm".
  static const IconData thunderstorm = IconData(0xf07cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">thunderstorm</i> &#x2014; material icon named "thunderstorm" (sharp).
  static const IconData thunderstorm_sharp = IconData(0xf0773, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">thunderstorm</i> &#x2014; material icon named "thunderstorm" (round).
  static const IconData thunderstorm_rounded = IconData(0xf0823, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">thunderstorm</i> &#x2014; material icon named "thunderstorm" (outlined).
  static const IconData thunderstorm_outlined = IconData(0xf071b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tiktok</i> &#x2014; material icon named "tiktok".
  static const IconData tiktok = IconData(0xf058c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tiktok</i> &#x2014; material icon named "tiktok" (sharp).
  static const IconData tiktok_sharp = IconData(0xf0492, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tiktok</i> &#x2014; material icon named "tiktok" (round).
  static const IconData tiktok_rounded = IconData(0xf039f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tiktok</i> &#x2014; material icon named "tiktok" (outlined).
  static const IconData tiktok_outlined = IconData(0xf0680, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">time_to_leave</i> &#x2014; material icon named "time to leave".
  static const IconData time_to_leave = IconData(0xe65f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">time_to_leave</i> &#x2014; material icon named "time to leave" (sharp).
  static const IconData time_to_leave_sharp = IconData(0xed55, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">time_to_leave</i> &#x2014; material icon named "time to leave" (round).
  static const IconData time_to_leave_rounded = IconData(0xf0234, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">time_to_leave</i> &#x2014; material icon named "time to leave" (outlined).
  static const IconData time_to_leave_outlined = IconData(0xf442, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">timelapse</i> &#x2014; material icon named "timelapse".
  static const IconData timelapse = IconData(0xe660, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">timelapse</i> &#x2014; material icon named "timelapse" (sharp).
  static const IconData timelapse_sharp = IconData(0xed56, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">timelapse</i> &#x2014; material icon named "timelapse" (round).
  static const IconData timelapse_rounded = IconData(0xf0235, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">timelapse</i> &#x2014; material icon named "timelapse" (outlined).
  static const IconData timelapse_outlined = IconData(0xf443, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">timeline</i> &#x2014; material icon named "timeline".
  static const IconData timeline = IconData(0xe661, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">timeline</i> &#x2014; material icon named "timeline" (sharp).
  static const IconData timeline_sharp = IconData(0xed57, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">timeline</i> &#x2014; material icon named "timeline" (round).
  static const IconData timeline_rounded = IconData(0xf0236, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">timeline</i> &#x2014; material icon named "timeline" (outlined).
  static const IconData timeline_outlined = IconData(0xf444, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">timer</i> &#x2014; material icon named "timer".
  static const IconData timer = IconData(0xe662, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">timer</i> &#x2014; material icon named "timer" (sharp).
  static const IconData timer_sharp = IconData(0xed5d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">timer</i> &#x2014; material icon named "timer" (round).
  static const IconData timer_rounded = IconData(0xf023c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">timer</i> &#x2014; material icon named "timer" (outlined).
  static const IconData timer_outlined = IconData(0xf44a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">timer_10</i> &#x2014; material icon named "timer 10".
  static const IconData timer_10 = IconData(0xe663, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">timer_10</i> &#x2014; material icon named "timer 10" (sharp).
  static const IconData timer_10_sharp = IconData(0xed59, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">timer_10</i> &#x2014; material icon named "timer 10" (round).
  static const IconData timer_10_rounded = IconData(0xf0237, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">timer_10</i> &#x2014; material icon named "timer 10" (outlined).
  static const IconData timer_10_outlined = IconData(0xf445, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">timer_10_select</i> &#x2014; material icon named "timer 10 select".
  static const IconData timer_10_select = IconData(0xe664, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">timer_10_select</i> &#x2014; material icon named "timer 10 select" (sharp).
  static const IconData timer_10_select_sharp = IconData(0xed58, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">timer_10_select</i> &#x2014; material icon named "timer 10 select" (round).
  static const IconData timer_10_select_rounded = IconData(0xf0238, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">timer_10_select</i> &#x2014; material icon named "timer 10 select" (outlined).
  static const IconData timer_10_select_outlined = IconData(0xf446, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">timer_3</i> &#x2014; material icon named "timer 3".
  static const IconData timer_3 = IconData(0xe665, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">timer_3</i> &#x2014; material icon named "timer 3" (sharp).
  static const IconData timer_3_sharp = IconData(0xed5b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">timer_3</i> &#x2014; material icon named "timer 3" (round).
  static const IconData timer_3_rounded = IconData(0xf0239, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">timer_3</i> &#x2014; material icon named "timer 3" (outlined).
  static const IconData timer_3_outlined = IconData(0xf447, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">timer_3_select</i> &#x2014; material icon named "timer 3 select".
  static const IconData timer_3_select = IconData(0xe666, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">timer_3_select</i> &#x2014; material icon named "timer 3 select" (sharp).
  static const IconData timer_3_select_sharp = IconData(0xed5a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">timer_3_select</i> &#x2014; material icon named "timer 3 select" (round).
  static const IconData timer_3_select_rounded = IconData(0xf023a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">timer_3_select</i> &#x2014; material icon named "timer 3 select" (outlined).
  static const IconData timer_3_select_outlined = IconData(0xf448, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">timer_off</i> &#x2014; material icon named "timer off".
  static const IconData timer_off = IconData(0xe667, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">timer_off</i> &#x2014; material icon named "timer off" (sharp).
  static const IconData timer_off_sharp = IconData(0xed5c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">timer_off</i> &#x2014; material icon named "timer off" (round).
  static const IconData timer_off_rounded = IconData(0xf023b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">timer_off</i> &#x2014; material icon named "timer off" (outlined).
  static const IconData timer_off_outlined = IconData(0xf449, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tips_and_updates</i> &#x2014; material icon named "tips and updates".
  static const IconData tips_and_updates = IconData(0xf058d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tips_and_updates</i> &#x2014; material icon named "tips and updates" (sharp).
  static const IconData tips_and_updates_sharp = IconData(0xf0493, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tips_and_updates</i> &#x2014; material icon named "tips and updates" (round).
  static const IconData tips_and_updates_rounded = IconData(0xf03a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tips_and_updates</i> &#x2014; material icon named "tips and updates" (outlined).
  static const IconData tips_and_updates_outlined = IconData(0xf0681, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tire_repair</i> &#x2014; material icon named "tire repair".
  static const IconData tire_repair = IconData(0xf06c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tire_repair</i> &#x2014; material icon named "tire repair" (sharp).
  static const IconData tire_repair_sharp = IconData(0xf06b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tire_repair</i> &#x2014; material icon named "tire repair" (round).
  static const IconData tire_repair_rounded = IconData(0xf06d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tire_repair</i> &#x2014; material icon named "tire repair" (outlined).
  static const IconData tire_repair_outlined = IconData(0xf06aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">title</i> &#x2014; material icon named "title".
  static const IconData title = IconData(0xe668, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">title</i> &#x2014; material icon named "title" (sharp).
  static const IconData title_sharp = IconData(0xed5e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">title</i> &#x2014; material icon named "title" (round).
  static const IconData title_rounded = IconData(0xf023d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">title</i> &#x2014; material icon named "title" (outlined).
  static const IconData title_outlined = IconData(0xf44b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">toc</i> &#x2014; material icon named "toc".
  static const IconData toc = IconData(0xe669, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">toc</i> &#x2014; material icon named "toc" (sharp).
  static const IconData toc_sharp = IconData(0xed5f, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">toc</i> &#x2014; material icon named "toc" (round).
  static const IconData toc_rounded = IconData(0xf023e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">toc</i> &#x2014; material icon named "toc" (outlined).
  static const IconData toc_outlined = IconData(0xf44c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">today</i> &#x2014; material icon named "today".
  static const IconData today = IconData(0xe66a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">today</i> &#x2014; material icon named "today" (sharp).
  static const IconData today_sharp = IconData(0xed60, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">today</i> &#x2014; material icon named "today" (round).
  static const IconData today_rounded = IconData(0xf023f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">today</i> &#x2014; material icon named "today" (outlined).
  static const IconData today_outlined = IconData(0xf44d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">toggle_off</i> &#x2014; material icon named "toggle off".
  static const IconData toggle_off = IconData(0xe66b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">toggle_off</i> &#x2014; material icon named "toggle off" (sharp).
  static const IconData toggle_off_sharp = IconData(0xed61, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">toggle_off</i> &#x2014; material icon named "toggle off" (round).
  static const IconData toggle_off_rounded = IconData(0xf0240, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">toggle_off</i> &#x2014; material icon named "toggle off" (outlined).
  static const IconData toggle_off_outlined = IconData(0xf44e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">toggle_on</i> &#x2014; material icon named "toggle on".
  static const IconData toggle_on = IconData(0xe66c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">toggle_on</i> &#x2014; material icon named "toggle on" (sharp).
  static const IconData toggle_on_sharp = IconData(0xed62, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">toggle_on</i> &#x2014; material icon named "toggle on" (round).
  static const IconData toggle_on_rounded = IconData(0xf0241, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">toggle_on</i> &#x2014; material icon named "toggle on" (outlined).
  static const IconData toggle_on_outlined = IconData(0xf44f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">token</i> &#x2014; material icon named "token".
  static const IconData token = IconData(0xf058e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">token</i> &#x2014; material icon named "token" (sharp).
  static const IconData token_sharp = IconData(0xf0494, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">token</i> &#x2014; material icon named "token" (round).
  static const IconData token_rounded = IconData(0xf03a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">token</i> &#x2014; material icon named "token" (outlined).
  static const IconData token_outlined = IconData(0xf0682, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">toll</i> &#x2014; material icon named "toll".
  static const IconData toll = IconData(0xe66d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">toll</i> &#x2014; material icon named "toll" (sharp).
  static const IconData toll_sharp = IconData(0xed63, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">toll</i> &#x2014; material icon named "toll" (round).
  static const IconData toll_rounded = IconData(0xf0242, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">toll</i> &#x2014; material icon named "toll" (outlined).
  static const IconData toll_outlined = IconData(0xf450, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tonality</i> &#x2014; material icon named "tonality".
  static const IconData tonality = IconData(0xe66e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tonality</i> &#x2014; material icon named "tonality" (sharp).
  static const IconData tonality_sharp = IconData(0xed64, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tonality</i> &#x2014; material icon named "tonality" (round).
  static const IconData tonality_rounded = IconData(0xf0243, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tonality</i> &#x2014; material icon named "tonality" (outlined).
  static const IconData tonality_outlined = IconData(0xf451, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">topic</i> &#x2014; material icon named "topic".
  static const IconData topic = IconData(0xe66f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">topic</i> &#x2014; material icon named "topic" (sharp).
  static const IconData topic_sharp = IconData(0xed65, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">topic</i> &#x2014; material icon named "topic" (round).
  static const IconData topic_rounded = IconData(0xf0244, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">topic</i> &#x2014; material icon named "topic" (outlined).
  static const IconData topic_outlined = IconData(0xf452, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tornado</i> &#x2014; material icon named "tornado".
  static const IconData tornado = IconData(0xf07cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tornado</i> &#x2014; material icon named "tornado" (sharp).
  static const IconData tornado_sharp = IconData(0xf0774, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tornado</i> &#x2014; material icon named "tornado" (round).
  static const IconData tornado_rounded = IconData(0xf0824, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tornado</i> &#x2014; material icon named "tornado" (outlined).
  static const IconData tornado_outlined = IconData(0xf071c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">touch_app</i> &#x2014; material icon named "touch app".
  static const IconData touch_app = IconData(0xe670, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">touch_app</i> &#x2014; material icon named "touch app" (sharp).
  static const IconData touch_app_sharp = IconData(0xed66, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">touch_app</i> &#x2014; material icon named "touch app" (round).
  static const IconData touch_app_rounded = IconData(0xf0245, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">touch_app</i> &#x2014; material icon named "touch app" (outlined).
  static const IconData touch_app_outlined = IconData(0xf453, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tour</i> &#x2014; material icon named "tour".
  static const IconData tour = IconData(0xe671, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tour</i> &#x2014; material icon named "tour" (sharp).
  static const IconData tour_sharp = IconData(0xed67, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tour</i> &#x2014; material icon named "tour" (round).
  static const IconData tour_rounded = IconData(0xf0246, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tour</i> &#x2014; material icon named "tour" (outlined).
  static const IconData tour_outlined = IconData(0xf454, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">toys</i> &#x2014; material icon named "toys".
  static const IconData toys = IconData(0xe672, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">toys</i> &#x2014; material icon named "toys" (sharp).
  static const IconData toys_sharp = IconData(0xed68, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">toys</i> &#x2014; material icon named "toys" (round).
  static const IconData toys_rounded = IconData(0xf0247, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">toys</i> &#x2014; material icon named "toys" (outlined).
  static const IconData toys_outlined = IconData(0xf455, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">track_changes</i> &#x2014; material icon named "track changes".
  static const IconData track_changes = IconData(0xe673, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">track_changes</i> &#x2014; material icon named "track changes" (sharp).
  static const IconData track_changes_sharp = IconData(0xed69, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">track_changes</i> &#x2014; material icon named "track changes" (round).
  static const IconData track_changes_rounded = IconData(0xf0248, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">track_changes</i> &#x2014; material icon named "track changes" (outlined).
  static const IconData track_changes_outlined = IconData(0xf456, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">traffic</i> &#x2014; material icon named "traffic".
  static const IconData traffic = IconData(0xe674, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">traffic</i> &#x2014; material icon named "traffic" (sharp).
  static const IconData traffic_sharp = IconData(0xed6a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">traffic</i> &#x2014; material icon named "traffic" (round).
  static const IconData traffic_rounded = IconData(0xf0249, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">traffic</i> &#x2014; material icon named "traffic" (outlined).
  static const IconData traffic_outlined = IconData(0xf457, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">train</i> &#x2014; material icon named "train".
  static const IconData train = IconData(0xe675, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">train</i> &#x2014; material icon named "train" (sharp).
  static const IconData train_sharp = IconData(0xed6b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">train</i> &#x2014; material icon named "train" (round).
  static const IconData train_rounded = IconData(0xf024a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">train</i> &#x2014; material icon named "train" (outlined).
  static const IconData train_outlined = IconData(0xf458, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tram</i> &#x2014; material icon named "tram".
  static const IconData tram = IconData(0xe676, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tram</i> &#x2014; material icon named "tram" (sharp).
  static const IconData tram_sharp = IconData(0xed6c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tram</i> &#x2014; material icon named "tram" (round).
  static const IconData tram_rounded = IconData(0xf024b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tram</i> &#x2014; material icon named "tram" (outlined).
  static const IconData tram_outlined = IconData(0xf459, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">transcribe</i> &#x2014; material icon named "transcribe".
  static const IconData transcribe = IconData(0xf07cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">transcribe</i> &#x2014; material icon named "transcribe" (sharp).
  static const IconData transcribe_sharp = IconData(0xf0775, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">transcribe</i> &#x2014; material icon named "transcribe" (round).
  static const IconData transcribe_rounded = IconData(0xf0825, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">transcribe</i> &#x2014; material icon named "transcribe" (outlined).
  static const IconData transcribe_outlined = IconData(0xf071d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">transfer_within_a_station</i> &#x2014; material icon named "transfer within a station".
  static const IconData transfer_within_a_station = IconData(0xe677, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">transfer_within_a_station</i> &#x2014; material icon named "transfer within a station" (sharp).
  static const IconData transfer_within_a_station_sharp = IconData(0xed6d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">transfer_within_a_station</i> &#x2014; material icon named "transfer within a station" (round).
  static const IconData transfer_within_a_station_rounded = IconData(0xf024c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">transfer_within_a_station</i> &#x2014; material icon named "transfer within a station" (outlined).
  static const IconData transfer_within_a_station_outlined = IconData(0xf45a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">transform</i> &#x2014; material icon named "transform".
  static const IconData transform = IconData(0xe678, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">transform</i> &#x2014; material icon named "transform" (sharp).
  static const IconData transform_sharp = IconData(0xed6e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">transform</i> &#x2014; material icon named "transform" (round).
  static const IconData transform_rounded = IconData(0xf024d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">transform</i> &#x2014; material icon named "transform" (outlined).
  static const IconData transform_outlined = IconData(0xf45b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">transgender</i> &#x2014; material icon named "transgender".
  static const IconData transgender = IconData(0xe679, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">transgender</i> &#x2014; material icon named "transgender" (sharp).
  static const IconData transgender_sharp = IconData(0xed6f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">transgender</i> &#x2014; material icon named "transgender" (round).
  static const IconData transgender_rounded = IconData(0xf024e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">transgender</i> &#x2014; material icon named "transgender" (outlined).
  static const IconData transgender_outlined = IconData(0xf45c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">transit_enterexit</i> &#x2014; material icon named "transit enterexit".
  static const IconData transit_enterexit = IconData(0xe67a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">transit_enterexit</i> &#x2014; material icon named "transit enterexit" (sharp).
  static const IconData transit_enterexit_sharp = IconData(0xed70, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">transit_enterexit</i> &#x2014; material icon named "transit enterexit" (round).
  static const IconData transit_enterexit_rounded = IconData(0xf024f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">transit_enterexit</i> &#x2014; material icon named "transit enterexit" (outlined).
  static const IconData transit_enterexit_outlined = IconData(0xf45d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">translate</i> &#x2014; material icon named "translate".
  static const IconData translate = IconData(0xe67b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">translate</i> &#x2014; material icon named "translate" (sharp).
  static const IconData translate_sharp = IconData(0xed71, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">translate</i> &#x2014; material icon named "translate" (round).
  static const IconData translate_rounded = IconData(0xf0250, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">translate</i> &#x2014; material icon named "translate" (outlined).
  static const IconData translate_outlined = IconData(0xf45e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">travel_explore</i> &#x2014; material icon named "travel explore".
  static const IconData travel_explore = IconData(0xe67c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">travel_explore</i> &#x2014; material icon named "travel explore" (sharp).
  static const IconData travel_explore_sharp = IconData(0xed72, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">travel_explore</i> &#x2014; material icon named "travel explore" (round).
  static const IconData travel_explore_rounded = IconData(0xf0251, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">travel_explore</i> &#x2014; material icon named "travel explore" (outlined).
  static const IconData travel_explore_outlined = IconData(0xf45f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">trending_down</i> &#x2014; material icon named "trending down".
  static const IconData trending_down = IconData(0xe67d, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">trending_down</i> &#x2014; material icon named "trending down" (sharp).
  static const IconData trending_down_sharp = IconData(0xed73, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">trending_down</i> &#x2014; material icon named "trending down" (round).
  static const IconData trending_down_rounded = IconData(0xf0252, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">trending_down</i> &#x2014; material icon named "trending down" (outlined).
  static const IconData trending_down_outlined = IconData(0xf460, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">trending_flat</i> &#x2014; material icon named "trending flat".
  static const IconData trending_flat = IconData(0xe67e, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">trending_flat</i> &#x2014; material icon named "trending flat" (sharp).
  static const IconData trending_flat_sharp = IconData(0xed74, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">trending_flat</i> &#x2014; material icon named "trending flat" (round).
  static const IconData trending_flat_rounded = IconData(0xf0253, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">trending_flat</i> &#x2014; material icon named "trending flat" (outlined).
  static const IconData trending_flat_outlined = IconData(0xf461, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">trending_neutral</i> &#x2014; material icon named "trending neutral".
  static const IconData trending_neutral = IconData(0xe67e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">trending_neutral</i> &#x2014; material icon named "trending neutral" (sharp).
  static const IconData trending_neutral_sharp = IconData(0xed74, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">trending_neutral</i> &#x2014; material icon named "trending neutral" (round).
  static const IconData trending_neutral_rounded = IconData(0xf0253, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">trending_neutral</i> &#x2014; material icon named "trending neutral" (outlined).
  static const IconData trending_neutral_outlined = IconData(0xf461, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">trending_up</i> &#x2014; material icon named "trending up".
  static const IconData trending_up = IconData(0xe67f, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">trending_up</i> &#x2014; material icon named "trending up" (sharp).
  static const IconData trending_up_sharp = IconData(0xed75, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">trending_up</i> &#x2014; material icon named "trending up" (round).
  static const IconData trending_up_rounded = IconData(0xf0254, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">trending_up</i> &#x2014; material icon named "trending up" (outlined).
  static const IconData trending_up_outlined = IconData(0xf462, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">trip_origin</i> &#x2014; material icon named "trip origin".
  static const IconData trip_origin = IconData(0xe680, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">trip_origin</i> &#x2014; material icon named "trip origin" (sharp).
  static const IconData trip_origin_sharp = IconData(0xed76, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">trip_origin</i> &#x2014; material icon named "trip origin" (round).
  static const IconData trip_origin_rounded = IconData(0xf0255, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">trip_origin</i> &#x2014; material icon named "trip origin" (outlined).
  static const IconData trip_origin_outlined = IconData(0xf463, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">troubleshoot</i> &#x2014; material icon named "troubleshoot".
  static const IconData troubleshoot = IconData(0xf07ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">troubleshoot</i> &#x2014; material icon named "troubleshoot" (sharp).
  static const IconData troubleshoot_sharp = IconData(0xf0776, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">troubleshoot</i> &#x2014; material icon named "troubleshoot" (round).
  static const IconData troubleshoot_rounded = IconData(0xf0826, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">troubleshoot</i> &#x2014; material icon named "troubleshoot" (outlined).
  static const IconData troubleshoot_outlined = IconData(0xf071e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">try</i> &#x2014; material icon named "try".
  static const IconData try_sms_star = IconData(0xe681, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">try</i> &#x2014; material icon named "try" (sharp).
  static const IconData try_sms_star_sharp = IconData(0xed77, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">try</i> &#x2014; material icon named "try" (round).
  static const IconData try_sms_star_rounded = IconData(0xf0256, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">try</i> &#x2014; material icon named "try" (outlined).
  static const IconData try_sms_star_outlined = IconData(0xf464, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tsunami</i> &#x2014; material icon named "tsunami".
  static const IconData tsunami = IconData(0xf07cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tsunami</i> &#x2014; material icon named "tsunami" (sharp).
  static const IconData tsunami_sharp = IconData(0xf0777, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tsunami</i> &#x2014; material icon named "tsunami" (round).
  static const IconData tsunami_rounded = IconData(0xf0827, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tsunami</i> &#x2014; material icon named "tsunami" (outlined).
  static const IconData tsunami_outlined = IconData(0xf071f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tty</i> &#x2014; material icon named "tty".
  static const IconData tty = IconData(0xe682, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tty</i> &#x2014; material icon named "tty" (sharp).
  static const IconData tty_sharp = IconData(0xed78, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tty</i> &#x2014; material icon named "tty" (round).
  static const IconData tty_rounded = IconData(0xf0257, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tty</i> &#x2014; material icon named "tty" (outlined).
  static const IconData tty_outlined = IconData(0xf465, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tune</i> &#x2014; material icon named "tune".
  static const IconData tune = IconData(0xe683, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tune</i> &#x2014; material icon named "tune" (sharp).
  static const IconData tune_sharp = IconData(0xed79, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tune</i> &#x2014; material icon named "tune" (round).
  static const IconData tune_rounded = IconData(0xf0258, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tune</i> &#x2014; material icon named "tune" (outlined).
  static const IconData tune_outlined = IconData(0xf466, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tungsten</i> &#x2014; material icon named "tungsten".
  static const IconData tungsten = IconData(0xe684, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tungsten</i> &#x2014; material icon named "tungsten" (sharp).
  static const IconData tungsten_sharp = IconData(0xed7a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tungsten</i> &#x2014; material icon named "tungsten" (round).
  static const IconData tungsten_rounded = IconData(0xf0259, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tungsten</i> &#x2014; material icon named "tungsten" (outlined).
  static const IconData tungsten_outlined = IconData(0xf467, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">turn_left</i> &#x2014; material icon named "turn left".
  static const IconData turn_left = IconData(0xf058f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">turn_left</i> &#x2014; material icon named "turn left" (sharp).
  static const IconData turn_left_sharp = IconData(0xf0495, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">turn_left</i> &#x2014; material icon named "turn left" (round).
  static const IconData turn_left_rounded = IconData(0xf03a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">turn_left</i> &#x2014; material icon named "turn left" (outlined).
  static const IconData turn_left_outlined = IconData(0xf0683, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">turn_right</i> &#x2014; material icon named "turn right".
  static const IconData turn_right = IconData(0xf0590, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">turn_right</i> &#x2014; material icon named "turn right" (sharp).
  static const IconData turn_right_sharp = IconData(0xf0496, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">turn_right</i> &#x2014; material icon named "turn right" (round).
  static const IconData turn_right_rounded = IconData(0xf03a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">turn_right</i> &#x2014; material icon named "turn right" (outlined).
  static const IconData turn_right_outlined = IconData(0xf0684, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">turn_sharp_left</i> &#x2014; material icon named "turn sharp left".
  static const IconData turn_sharp_left = IconData(0xf0591, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">turn_sharp_left</i> &#x2014; material icon named "turn sharp left" (sharp).
  static const IconData turn_sharp_left_sharp = IconData(0xf0497, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">turn_sharp_left</i> &#x2014; material icon named "turn sharp left" (round).
  static const IconData turn_sharp_left_rounded = IconData(0xf03a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">turn_sharp_left</i> &#x2014; material icon named "turn sharp left" (outlined).
  static const IconData turn_sharp_left_outlined = IconData(0xf0685, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">turn_sharp_right</i> &#x2014; material icon named "turn sharp right".
  static const IconData turn_sharp_right = IconData(0xf0592, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">turn_sharp_right</i> &#x2014; material icon named "turn sharp right" (sharp).
  static const IconData turn_sharp_right_sharp = IconData(0xf0498, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">turn_sharp_right</i> &#x2014; material icon named "turn sharp right" (round).
  static const IconData turn_sharp_right_rounded = IconData(0xf03a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">turn_sharp_right</i> &#x2014; material icon named "turn sharp right" (outlined).
  static const IconData turn_sharp_right_outlined = IconData(0xf0686, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">turn_slight_left</i> &#x2014; material icon named "turn slight left".
  static const IconData turn_slight_left = IconData(0xf0593, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">turn_slight_left</i> &#x2014; material icon named "turn slight left" (sharp).
  static const IconData turn_slight_left_sharp = IconData(0xf0499, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">turn_slight_left</i> &#x2014; material icon named "turn slight left" (round).
  static const IconData turn_slight_left_rounded = IconData(0xf03a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">turn_slight_left</i> &#x2014; material icon named "turn slight left" (outlined).
  static const IconData turn_slight_left_outlined = IconData(0xf0687, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">turn_slight_right</i> &#x2014; material icon named "turn slight right".
  static const IconData turn_slight_right = IconData(0xf0594, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">turn_slight_right</i> &#x2014; material icon named "turn slight right" (sharp).
  static const IconData turn_slight_right_sharp = IconData(0xf049a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">turn_slight_right</i> &#x2014; material icon named "turn slight right" (round).
  static const IconData turn_slight_right_rounded = IconData(0xf03a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">turn_slight_right</i> &#x2014; material icon named "turn slight right" (outlined).
  static const IconData turn_slight_right_outlined = IconData(0xf0688, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">turned_in</i> &#x2014; material icon named "turned in".
  static const IconData turned_in = IconData(0xe685, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">turned_in</i> &#x2014; material icon named "turned in" (sharp).
  static const IconData turned_in_sharp = IconData(0xed7c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">turned_in</i> &#x2014; material icon named "turned in" (round).
  static const IconData turned_in_rounded = IconData(0xf025b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">turned_in</i> &#x2014; material icon named "turned in" (outlined).
  static const IconData turned_in_outlined = IconData(0xf469, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">turned_in_not</i> &#x2014; material icon named "turned in not".
  static const IconData turned_in_not = IconData(0xe686, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">turned_in_not</i> &#x2014; material icon named "turned in not" (sharp).
  static const IconData turned_in_not_sharp = IconData(0xed7b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">turned_in_not</i> &#x2014; material icon named "turned in not" (round).
  static const IconData turned_in_not_rounded = IconData(0xf025a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">turned_in_not</i> &#x2014; material icon named "turned in not" (outlined).
  static const IconData turned_in_not_outlined = IconData(0xf468, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tv</i> &#x2014; material icon named "tv".
  static const IconData tv = IconData(0xe687, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tv</i> &#x2014; material icon named "tv" (sharp).
  static const IconData tv_sharp = IconData(0xed7e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tv</i> &#x2014; material icon named "tv" (round).
  static const IconData tv_rounded = IconData(0xf025d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tv</i> &#x2014; material icon named "tv" (outlined).
  static const IconData tv_outlined = IconData(0xf46b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">tv_off</i> &#x2014; material icon named "tv off".
  static const IconData tv_off = IconData(0xe688, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">tv_off</i> &#x2014; material icon named "tv off" (sharp).
  static const IconData tv_off_sharp = IconData(0xed7d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">tv_off</i> &#x2014; material icon named "tv off" (round).
  static const IconData tv_off_rounded = IconData(0xf025c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">tv_off</i> &#x2014; material icon named "tv off" (outlined).
  static const IconData tv_off_outlined = IconData(0xf46a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">two_wheeler</i> &#x2014; material icon named "two wheeler".
  static const IconData two_wheeler = IconData(0xe689, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">two_wheeler</i> &#x2014; material icon named "two wheeler" (sharp).
  static const IconData two_wheeler_sharp = IconData(0xed7f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">two_wheeler</i> &#x2014; material icon named "two wheeler" (round).
  static const IconData two_wheeler_rounded = IconData(0xf025e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">two_wheeler</i> &#x2014; material icon named "two wheeler" (outlined).
  static const IconData two_wheeler_outlined = IconData(0xf46c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">type_specimen</i> &#x2014; material icon named "type specimen".
  static const IconData type_specimen = IconData(0xf07d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">type_specimen</i> &#x2014; material icon named "type specimen" (sharp).
  static const IconData type_specimen_sharp = IconData(0xf0778, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">type_specimen</i> &#x2014; material icon named "type specimen" (round).
  static const IconData type_specimen_rounded = IconData(0xf0828, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">type_specimen</i> &#x2014; material icon named "type specimen" (outlined).
  static const IconData type_specimen_outlined = IconData(0xf0720, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">u_turn_left</i> &#x2014; material icon named "u turn left".
  static const IconData u_turn_left = IconData(0xf0595, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">u_turn_left</i> &#x2014; material icon named "u turn left" (sharp).
  static const IconData u_turn_left_sharp = IconData(0xf049b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">u_turn_left</i> &#x2014; material icon named "u turn left" (round).
  static const IconData u_turn_left_rounded = IconData(0xf03a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">u_turn_left</i> &#x2014; material icon named "u turn left" (outlined).
  static const IconData u_turn_left_outlined = IconData(0xf0689, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">u_turn_right</i> &#x2014; material icon named "u turn right".
  static const IconData u_turn_right = IconData(0xf0596, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">u_turn_right</i> &#x2014; material icon named "u turn right" (sharp).
  static const IconData u_turn_right_sharp = IconData(0xf049c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">u_turn_right</i> &#x2014; material icon named "u turn right" (round).
  static const IconData u_turn_right_rounded = IconData(0xf03a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">u_turn_right</i> &#x2014; material icon named "u turn right" (outlined).
  static const IconData u_turn_right_outlined = IconData(0xf068a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">umbrella</i> &#x2014; material icon named "umbrella".
  static const IconData umbrella = IconData(0xe68a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">umbrella</i> &#x2014; material icon named "umbrella" (sharp).
  static const IconData umbrella_sharp = IconData(0xed80, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">umbrella</i> &#x2014; material icon named "umbrella" (round).
  static const IconData umbrella_rounded = IconData(0xf025f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">umbrella</i> &#x2014; material icon named "umbrella" (outlined).
  static const IconData umbrella_outlined = IconData(0xf46d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">unarchive</i> &#x2014; material icon named "unarchive".
  static const IconData unarchive = IconData(0xe68b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">unarchive</i> &#x2014; material icon named "unarchive" (sharp).
  static const IconData unarchive_sharp = IconData(0xed81, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">unarchive</i> &#x2014; material icon named "unarchive" (round).
  static const IconData unarchive_rounded = IconData(0xf0260, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">unarchive</i> &#x2014; material icon named "unarchive" (outlined).
  static const IconData unarchive_outlined = IconData(0xf46e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">undo</i> &#x2014; material icon named "undo".
  static const IconData undo = IconData(0xe68c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">undo</i> &#x2014; material icon named "undo" (sharp).
  static const IconData undo_sharp = IconData(0xed82, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">undo</i> &#x2014; material icon named "undo" (round).
  static const IconData undo_rounded = IconData(0xf0261, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">undo</i> &#x2014; material icon named "undo" (outlined).
  static const IconData undo_outlined = IconData(0xf46f, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">unfold_less</i> &#x2014; material icon named "unfold less".
  static const IconData unfold_less = IconData(0xe68d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">unfold_less</i> &#x2014; material icon named "unfold less" (sharp).
  static const IconData unfold_less_sharp = IconData(0xed83, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">unfold_less</i> &#x2014; material icon named "unfold less" (round).
  static const IconData unfold_less_rounded = IconData(0xf0262, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">unfold_less</i> &#x2014; material icon named "unfold less" (outlined).
  static const IconData unfold_less_outlined = IconData(0xf470, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">unfold_more</i> &#x2014; material icon named "unfold more".
  static const IconData unfold_more = IconData(0xe68e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">unfold_more</i> &#x2014; material icon named "unfold more" (sharp).
  static const IconData unfold_more_sharp = IconData(0xed84, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">unfold_more</i> &#x2014; material icon named "unfold more" (round).
  static const IconData unfold_more_rounded = IconData(0xf0263, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">unfold_more</i> &#x2014; material icon named "unfold more" (outlined).
  static const IconData unfold_more_outlined = IconData(0xf471, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">unpublished</i> &#x2014; material icon named "unpublished".
  static const IconData unpublished = IconData(0xe68f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">unpublished</i> &#x2014; material icon named "unpublished" (sharp).
  static const IconData unpublished_sharp = IconData(0xed85, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">unpublished</i> &#x2014; material icon named "unpublished" (round).
  static const IconData unpublished_rounded = IconData(0xf0264, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">unpublished</i> &#x2014; material icon named "unpublished" (outlined).
  static const IconData unpublished_outlined = IconData(0xf472, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">unsubscribe</i> &#x2014; material icon named "unsubscribe".
  static const IconData unsubscribe = IconData(0xe690, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">unsubscribe</i> &#x2014; material icon named "unsubscribe" (sharp).
  static const IconData unsubscribe_sharp = IconData(0xed86, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">unsubscribe</i> &#x2014; material icon named "unsubscribe" (round).
  static const IconData unsubscribe_rounded = IconData(0xf0265, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">unsubscribe</i> &#x2014; material icon named "unsubscribe" (outlined).
  static const IconData unsubscribe_outlined = IconData(0xf473, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">upcoming</i> &#x2014; material icon named "upcoming".
  static const IconData upcoming = IconData(0xe691, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">upcoming</i> &#x2014; material icon named "upcoming" (sharp).
  static const IconData upcoming_sharp = IconData(0xed87, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">upcoming</i> &#x2014; material icon named "upcoming" (round).
  static const IconData upcoming_rounded = IconData(0xf0266, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">upcoming</i> &#x2014; material icon named "upcoming" (outlined).
  static const IconData upcoming_outlined = IconData(0xf474, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">update</i> &#x2014; material icon named "update".
  static const IconData update = IconData(0xe692, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">update</i> &#x2014; material icon named "update" (sharp).
  static const IconData update_sharp = IconData(0xed89, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">update</i> &#x2014; material icon named "update" (round).
  static const IconData update_rounded = IconData(0xf0268, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">update</i> &#x2014; material icon named "update" (outlined).
  static const IconData update_outlined = IconData(0xf476, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">update_disabled</i> &#x2014; material icon named "update disabled".
  static const IconData update_disabled = IconData(0xe693, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">update_disabled</i> &#x2014; material icon named "update disabled" (sharp).
  static const IconData update_disabled_sharp = IconData(0xed88, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">update_disabled</i> &#x2014; material icon named "update disabled" (round).
  static const IconData update_disabled_rounded = IconData(0xf0267, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">update_disabled</i> &#x2014; material icon named "update disabled" (outlined).
  static const IconData update_disabled_outlined = IconData(0xf475, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">upgrade</i> &#x2014; material icon named "upgrade".
  static const IconData upgrade = IconData(0xe694, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">upgrade</i> &#x2014; material icon named "upgrade" (sharp).
  static const IconData upgrade_sharp = IconData(0xed8a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">upgrade</i> &#x2014; material icon named "upgrade" (round).
  static const IconData upgrade_rounded = IconData(0xf0269, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">upgrade</i> &#x2014; material icon named "upgrade" (outlined).
  static const IconData upgrade_outlined = IconData(0xf477, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">upload</i> &#x2014; material icon named "upload".
  static const IconData upload = IconData(0xe695, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">upload</i> &#x2014; material icon named "upload" (sharp).
  static const IconData upload_sharp = IconData(0xed8c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">upload</i> &#x2014; material icon named "upload" (round).
  static const IconData upload_rounded = IconData(0xf026b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">upload</i> &#x2014; material icon named "upload" (outlined).
  static const IconData upload_outlined = IconData(0xf479, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">upload_file</i> &#x2014; material icon named "upload file".
  static const IconData upload_file = IconData(0xe696, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">upload_file</i> &#x2014; material icon named "upload file" (sharp).
  static const IconData upload_file_sharp = IconData(0xed8b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">upload_file</i> &#x2014; material icon named "upload file" (round).
  static const IconData upload_file_rounded = IconData(0xf026a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">upload_file</i> &#x2014; material icon named "upload file" (outlined).
  static const IconData upload_file_outlined = IconData(0xf478, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">usb</i> &#x2014; material icon named "usb".
  static const IconData usb = IconData(0xe697, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">usb</i> &#x2014; material icon named "usb" (sharp).
  static const IconData usb_sharp = IconData(0xed8e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">usb</i> &#x2014; material icon named "usb" (round).
  static const IconData usb_rounded = IconData(0xf026d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">usb</i> &#x2014; material icon named "usb" (outlined).
  static const IconData usb_outlined = IconData(0xf47b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">usb_off</i> &#x2014; material icon named "usb off".
  static const IconData usb_off = IconData(0xe698, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">usb_off</i> &#x2014; material icon named "usb off" (sharp).
  static const IconData usb_off_sharp = IconData(0xed8d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">usb_off</i> &#x2014; material icon named "usb off" (round).
  static const IconData usb_off_rounded = IconData(0xf026c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">usb_off</i> &#x2014; material icon named "usb off" (outlined).
  static const IconData usb_off_outlined = IconData(0xf47a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vaccines</i> &#x2014; material icon named "vaccines".
  static const IconData vaccines = IconData(0xf0597, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vaccines</i> &#x2014; material icon named "vaccines" (sharp).
  static const IconData vaccines_sharp = IconData(0xf049d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vaccines</i> &#x2014; material icon named "vaccines" (round).
  static const IconData vaccines_rounded = IconData(0xf03aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vaccines</i> &#x2014; material icon named "vaccines" (outlined).
  static const IconData vaccines_outlined = IconData(0xf068b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vape_free</i> &#x2014; material icon named "vape free".
  static const IconData vape_free = IconData(0xf06c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vape_free</i> &#x2014; material icon named "vape free" (sharp).
  static const IconData vape_free_sharp = IconData(0xf06b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vape_free</i> &#x2014; material icon named "vape free" (round).
  static const IconData vape_free_rounded = IconData(0xf06d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vape_free</i> &#x2014; material icon named "vape free" (outlined).
  static const IconData vape_free_outlined = IconData(0xf06ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vaping_rooms</i> &#x2014; material icon named "vaping rooms".
  static const IconData vaping_rooms = IconData(0xf06c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vaping_rooms</i> &#x2014; material icon named "vaping rooms" (sharp).
  static const IconData vaping_rooms_sharp = IconData(0xf06b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vaping_rooms</i> &#x2014; material icon named "vaping rooms" (round).
  static const IconData vaping_rooms_rounded = IconData(0xf06d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vaping_rooms</i> &#x2014; material icon named "vaping rooms" (outlined).
  static const IconData vaping_rooms_outlined = IconData(0xf06ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">verified</i> &#x2014; material icon named "verified".
  static const IconData verified = IconData(0xe699, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">verified</i> &#x2014; material icon named "verified" (sharp).
  static const IconData verified_sharp = IconData(0xed8f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">verified</i> &#x2014; material icon named "verified" (round).
  static const IconData verified_rounded = IconData(0xf026e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">verified</i> &#x2014; material icon named "verified" (outlined).
  static const IconData verified_outlined = IconData(0xf47c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">verified_user</i> &#x2014; material icon named "verified user".
  static const IconData verified_user = IconData(0xe69a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">verified_user</i> &#x2014; material icon named "verified user" (sharp).
  static const IconData verified_user_sharp = IconData(0xed90, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">verified_user</i> &#x2014; material icon named "verified user" (round).
  static const IconData verified_user_rounded = IconData(0xf026f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">verified_user</i> &#x2014; material icon named "verified user" (outlined).
  static const IconData verified_user_outlined = IconData(0xf47d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vertical_align_bottom</i> &#x2014; material icon named "vertical align bottom".
  static const IconData vertical_align_bottom = IconData(0xe69b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vertical_align_bottom</i> &#x2014; material icon named "vertical align bottom" (sharp).
  static const IconData vertical_align_bottom_sharp = IconData(0xed91, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vertical_align_bottom</i> &#x2014; material icon named "vertical align bottom" (round).
  static const IconData vertical_align_bottom_rounded = IconData(0xf0270, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vertical_align_bottom</i> &#x2014; material icon named "vertical align bottom" (outlined).
  static const IconData vertical_align_bottom_outlined = IconData(0xf47e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vertical_align_center</i> &#x2014; material icon named "vertical align center".
  static const IconData vertical_align_center = IconData(0xe69c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vertical_align_center</i> &#x2014; material icon named "vertical align center" (sharp).
  static const IconData vertical_align_center_sharp = IconData(0xed92, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vertical_align_center</i> &#x2014; material icon named "vertical align center" (round).
  static const IconData vertical_align_center_rounded = IconData(0xf0271, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vertical_align_center</i> &#x2014; material icon named "vertical align center" (outlined).
  static const IconData vertical_align_center_outlined = IconData(0xf47f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vertical_align_top</i> &#x2014; material icon named "vertical align top".
  static const IconData vertical_align_top = IconData(0xe69d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vertical_align_top</i> &#x2014; material icon named "vertical align top" (sharp).
  static const IconData vertical_align_top_sharp = IconData(0xed93, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vertical_align_top</i> &#x2014; material icon named "vertical align top" (round).
  static const IconData vertical_align_top_rounded = IconData(0xf0272, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vertical_align_top</i> &#x2014; material icon named "vertical align top" (outlined).
  static const IconData vertical_align_top_outlined = IconData(0xf480, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vertical_distribute</i> &#x2014; material icon named "vertical distribute".
  static const IconData vertical_distribute = IconData(0xe69e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vertical_distribute</i> &#x2014; material icon named "vertical distribute" (sharp).
  static const IconData vertical_distribute_sharp = IconData(0xed94, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vertical_distribute</i> &#x2014; material icon named "vertical distribute" (round).
  static const IconData vertical_distribute_rounded = IconData(0xf0273, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vertical_distribute</i> &#x2014; material icon named "vertical distribute" (outlined).
  static const IconData vertical_distribute_outlined = IconData(0xf481, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vertical_shades</i> &#x2014; material icon named "vertical shades".
  static const IconData vertical_shades = IconData(0xf07d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vertical_shades</i> &#x2014; material icon named "vertical shades" (sharp).
  static const IconData vertical_shades_sharp = IconData(0xf077a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vertical_shades</i> &#x2014; material icon named "vertical shades" (round).
  static const IconData vertical_shades_rounded = IconData(0xf082a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vertical_shades</i> &#x2014; material icon named "vertical shades" (outlined).
  static const IconData vertical_shades_outlined = IconData(0xf0722, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vertical_shades_closed</i> &#x2014; material icon named "vertical shades closed".
  static const IconData vertical_shades_closed = IconData(0xf07d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vertical_shades_closed</i> &#x2014; material icon named "vertical shades closed" (sharp).
  static const IconData vertical_shades_closed_sharp = IconData(0xf0779, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vertical_shades_closed</i> &#x2014; material icon named "vertical shades closed" (round).
  static const IconData vertical_shades_closed_rounded = IconData(0xf0829, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vertical_shades_closed</i> &#x2014; material icon named "vertical shades closed" (outlined).
  static const IconData vertical_shades_closed_outlined = IconData(0xf0721, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vertical_split</i> &#x2014; material icon named "vertical split".
  static const IconData vertical_split = IconData(0xe69f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vertical_split</i> &#x2014; material icon named "vertical split" (sharp).
  static const IconData vertical_split_sharp = IconData(0xed95, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vertical_split</i> &#x2014; material icon named "vertical split" (round).
  static const IconData vertical_split_rounded = IconData(0xf0274, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vertical_split</i> &#x2014; material icon named "vertical split" (outlined).
  static const IconData vertical_split_outlined = IconData(0xf482, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vibration</i> &#x2014; material icon named "vibration".
  static const IconData vibration = IconData(0xe6a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vibration</i> &#x2014; material icon named "vibration" (sharp).
  static const IconData vibration_sharp = IconData(0xed96, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vibration</i> &#x2014; material icon named "vibration" (round).
  static const IconData vibration_rounded = IconData(0xf0275, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vibration</i> &#x2014; material icon named "vibration" (outlined).
  static const IconData vibration_outlined = IconData(0xf483, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">video_call</i> &#x2014; material icon named "video call".
  static const IconData video_call = IconData(0xe6a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">video_call</i> &#x2014; material icon named "video call" (sharp).
  static const IconData video_call_sharp = IconData(0xed97, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">video_call</i> &#x2014; material icon named "video call" (round).
  static const IconData video_call_rounded = IconData(0xf0276, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">video_call</i> &#x2014; material icon named "video call" (outlined).
  static const IconData video_call_outlined = IconData(0xf484, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">video_camera_back</i> &#x2014; material icon named "video camera back".
  static const IconData video_camera_back = IconData(0xe6a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">video_camera_back</i> &#x2014; material icon named "video camera back" (sharp).
  static const IconData video_camera_back_sharp = IconData(0xed98, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">video_camera_back</i> &#x2014; material icon named "video camera back" (round).
  static const IconData video_camera_back_rounded = IconData(0xf0277, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">video_camera_back</i> &#x2014; material icon named "video camera back" (outlined).
  static const IconData video_camera_back_outlined = IconData(0xf485, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">video_camera_front</i> &#x2014; material icon named "video camera front".
  static const IconData video_camera_front = IconData(0xe6a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">video_camera_front</i> &#x2014; material icon named "video camera front" (sharp).
  static const IconData video_camera_front_sharp = IconData(0xed99, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">video_camera_front</i> &#x2014; material icon named "video camera front" (round).
  static const IconData video_camera_front_rounded = IconData(0xf0278, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">video_camera_front</i> &#x2014; material icon named "video camera front" (outlined).
  static const IconData video_camera_front_outlined = IconData(0xf486, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">video_collection</i> &#x2014; material icon named "video collection".
  static const IconData video_collection = IconData(0xe6a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">video_collection</i> &#x2014; material icon named "video collection" (sharp).
  static const IconData video_collection_sharp = IconData(0xed9b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">video_collection</i> &#x2014; material icon named "video collection" (round).
  static const IconData video_collection_rounded = IconData(0xf027a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">video_collection</i> &#x2014; material icon named "video collection" (outlined).
  static const IconData video_collection_outlined = IconData(0xf488, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">video_file</i> &#x2014; material icon named "video file".
  static const IconData video_file = IconData(0xf0598, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">video_file</i> &#x2014; material icon named "video file" (sharp).
  static const IconData video_file_sharp = IconData(0xf049e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">video_file</i> &#x2014; material icon named "video file" (round).
  static const IconData video_file_rounded = IconData(0xf03ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">video_file</i> &#x2014; material icon named "video file" (outlined).
  static const IconData video_file_outlined = IconData(0xf068c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">video_label</i> &#x2014; material icon named "video label".
  static const IconData video_label = IconData(0xe6a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">video_label</i> &#x2014; material icon named "video label" (sharp).
  static const IconData video_label_sharp = IconData(0xed9a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">video_label</i> &#x2014; material icon named "video label" (round).
  static const IconData video_label_rounded = IconData(0xf0279, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">video_label</i> &#x2014; material icon named "video label" (outlined).
  static const IconData video_label_outlined = IconData(0xf487, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">video_library</i> &#x2014; material icon named "video library".
  static const IconData video_library = IconData(0xe6a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">video_library</i> &#x2014; material icon named "video library" (sharp).
  static const IconData video_library_sharp = IconData(0xed9b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">video_library</i> &#x2014; material icon named "video library" (round).
  static const IconData video_library_rounded = IconData(0xf027a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">video_library</i> &#x2014; material icon named "video library" (outlined).
  static const IconData video_library_outlined = IconData(0xf488, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">video_settings</i> &#x2014; material icon named "video settings".
  static const IconData video_settings = IconData(0xe6a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">video_settings</i> &#x2014; material icon named "video settings" (sharp).
  static const IconData video_settings_sharp = IconData(0xed9c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">video_settings</i> &#x2014; material icon named "video settings" (round).
  static const IconData video_settings_rounded = IconData(0xf027b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">video_settings</i> &#x2014; material icon named "video settings" (outlined).
  static const IconData video_settings_outlined = IconData(0xf489, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">video_stable</i> &#x2014; material icon named "video stable".
  static const IconData video_stable = IconData(0xe6a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">video_stable</i> &#x2014; material icon named "video stable" (sharp).
  static const IconData video_stable_sharp = IconData(0xed9d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">video_stable</i> &#x2014; material icon named "video stable" (round).
  static const IconData video_stable_rounded = IconData(0xf027c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">video_stable</i> &#x2014; material icon named "video stable" (outlined).
  static const IconData video_stable_outlined = IconData(0xf48a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">videocam</i> &#x2014; material icon named "videocam".
  static const IconData videocam = IconData(0xe6a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">videocam</i> &#x2014; material icon named "videocam" (sharp).
  static const IconData videocam_sharp = IconData(0xed9f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">videocam</i> &#x2014; material icon named "videocam" (round).
  static const IconData videocam_rounded = IconData(0xf027e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">videocam</i> &#x2014; material icon named "videocam" (outlined).
  static const IconData videocam_outlined = IconData(0xf48c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">videocam_off</i> &#x2014; material icon named "videocam off".
  static const IconData videocam_off = IconData(0xe6a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">videocam_off</i> &#x2014; material icon named "videocam off" (sharp).
  static const IconData videocam_off_sharp = IconData(0xed9e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">videocam_off</i> &#x2014; material icon named "videocam off" (round).
  static const IconData videocam_off_rounded = IconData(0xf027d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">videocam_off</i> &#x2014; material icon named "videocam off" (outlined).
  static const IconData videocam_off_outlined = IconData(0xf48b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">videogame_asset</i> &#x2014; material icon named "videogame asset".
  static const IconData videogame_asset = IconData(0xe6aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">videogame_asset</i> &#x2014; material icon named "videogame asset" (sharp).
  static const IconData videogame_asset_sharp = IconData(0xeda1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">videogame_asset</i> &#x2014; material icon named "videogame asset" (round).
  static const IconData videogame_asset_rounded = IconData(0xf0280, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">videogame_asset</i> &#x2014; material icon named "videogame asset" (outlined).
  static const IconData videogame_asset_outlined = IconData(0xf48e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">videogame_asset_off</i> &#x2014; material icon named "videogame asset off".
  static const IconData videogame_asset_off = IconData(0xe6ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">videogame_asset_off</i> &#x2014; material icon named "videogame asset off" (sharp).
  static const IconData videogame_asset_off_sharp = IconData(0xeda0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">videogame_asset_off</i> &#x2014; material icon named "videogame asset off" (round).
  static const IconData videogame_asset_off_rounded = IconData(0xf027f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">videogame_asset_off</i> &#x2014; material icon named "videogame asset off" (outlined).
  static const IconData videogame_asset_off_outlined = IconData(0xf48d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_agenda</i> &#x2014; material icon named "view agenda".
  static const IconData view_agenda = IconData(0xe6ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_agenda</i> &#x2014; material icon named "view agenda" (sharp).
  static const IconData view_agenda_sharp = IconData(0xeda2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_agenda</i> &#x2014; material icon named "view agenda" (round).
  static const IconData view_agenda_rounded = IconData(0xf0281, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_agenda</i> &#x2014; material icon named "view agenda" (outlined).
  static const IconData view_agenda_outlined = IconData(0xf48f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_array</i> &#x2014; material icon named "view array".
  static const IconData view_array = IconData(0xe6ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_array</i> &#x2014; material icon named "view array" (sharp).
  static const IconData view_array_sharp = IconData(0xeda3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_array</i> &#x2014; material icon named "view array" (round).
  static const IconData view_array_rounded = IconData(0xf0282, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_array</i> &#x2014; material icon named "view array" (outlined).
  static const IconData view_array_outlined = IconData(0xf490, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_carousel</i> &#x2014; material icon named "view carousel".
  static const IconData view_carousel = IconData(0xe6ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_carousel</i> &#x2014; material icon named "view carousel" (sharp).
  static const IconData view_carousel_sharp = IconData(0xeda4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_carousel</i> &#x2014; material icon named "view carousel" (round).
  static const IconData view_carousel_rounded = IconData(0xf0283, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_carousel</i> &#x2014; material icon named "view carousel" (outlined).
  static const IconData view_carousel_outlined = IconData(0xf491, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_column</i> &#x2014; material icon named "view column".
  static const IconData view_column = IconData(0xe6af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_column</i> &#x2014; material icon named "view column" (sharp).
  static const IconData view_column_sharp = IconData(0xeda5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_column</i> &#x2014; material icon named "view column" (round).
  static const IconData view_column_rounded = IconData(0xf0284, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_column</i> &#x2014; material icon named "view column" (outlined).
  static const IconData view_column_outlined = IconData(0xf492, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_comfortable</i> &#x2014; material icon named "view comfortable".
  static const IconData view_comfortable = IconData(0xe6b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_comfortable</i> &#x2014; material icon named "view comfortable" (sharp).
  static const IconData view_comfortable_sharp = IconData(0xeda6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_comfortable</i> &#x2014; material icon named "view comfortable" (round).
  static const IconData view_comfortable_rounded = IconData(0xf0285, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_comfortable</i> &#x2014; material icon named "view comfortable" (outlined).
  static const IconData view_comfortable_outlined = IconData(0xf493, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_comfy</i> &#x2014; material icon named "view comfy".
  static const IconData view_comfy = IconData(0xe6b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_comfy</i> &#x2014; material icon named "view comfy" (sharp).
  static const IconData view_comfy_sharp = IconData(0xeda6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_comfy</i> &#x2014; material icon named "view comfy" (round).
  static const IconData view_comfy_rounded = IconData(0xf0285, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_comfy</i> &#x2014; material icon named "view comfy" (outlined).
  static const IconData view_comfy_outlined = IconData(0xf493, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_comfy_alt</i> &#x2014; material icon named "view comfy alt".
  static const IconData view_comfy_alt = IconData(0xf0599, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_comfy_alt</i> &#x2014; material icon named "view comfy alt" (sharp).
  static const IconData view_comfy_alt_sharp = IconData(0xf049f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_comfy_alt</i> &#x2014; material icon named "view comfy alt" (round).
  static const IconData view_comfy_alt_rounded = IconData(0xf03ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_comfy_alt</i> &#x2014; material icon named "view comfy alt" (outlined).
  static const IconData view_comfy_alt_outlined = IconData(0xf068d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_compact</i> &#x2014; material icon named "view compact".
  static const IconData view_compact = IconData(0xe6b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_compact</i> &#x2014; material icon named "view compact" (sharp).
  static const IconData view_compact_sharp = IconData(0xeda7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_compact</i> &#x2014; material icon named "view compact" (round).
  static const IconData view_compact_rounded = IconData(0xf0286, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_compact</i> &#x2014; material icon named "view compact" (outlined).
  static const IconData view_compact_outlined = IconData(0xf494, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_compact_alt</i> &#x2014; material icon named "view compact alt".
  static const IconData view_compact_alt = IconData(0xf059a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_compact_alt</i> &#x2014; material icon named "view compact alt" (sharp).
  static const IconData view_compact_alt_sharp = IconData(0xf04a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_compact_alt</i> &#x2014; material icon named "view compact alt" (round).
  static const IconData view_compact_alt_rounded = IconData(0xf03ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_compact_alt</i> &#x2014; material icon named "view compact alt" (outlined).
  static const IconData view_compact_alt_outlined = IconData(0xf068e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_cozy</i> &#x2014; material icon named "view cozy".
  static const IconData view_cozy = IconData(0xf059b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_cozy</i> &#x2014; material icon named "view cozy" (sharp).
  static const IconData view_cozy_sharp = IconData(0xf04a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_cozy</i> &#x2014; material icon named "view cozy" (round).
  static const IconData view_cozy_rounded = IconData(0xf03ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_cozy</i> &#x2014; material icon named "view cozy" (outlined).
  static const IconData view_cozy_outlined = IconData(0xf068f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_day</i> &#x2014; material icon named "view day".
  static const IconData view_day = IconData(0xe6b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_day</i> &#x2014; material icon named "view day" (sharp).
  static const IconData view_day_sharp = IconData(0xeda8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_day</i> &#x2014; material icon named "view day" (round).
  static const IconData view_day_rounded = IconData(0xf0287, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_day</i> &#x2014; material icon named "view day" (outlined).
  static const IconData view_day_outlined = IconData(0xf495, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_headline</i> &#x2014; material icon named "view headline".
  static const IconData view_headline = IconData(0xe6b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_headline</i> &#x2014; material icon named "view headline" (sharp).
  static const IconData view_headline_sharp = IconData(0xeda9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_headline</i> &#x2014; material icon named "view headline" (round).
  static const IconData view_headline_rounded = IconData(0xf0288, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_headline</i> &#x2014; material icon named "view headline" (outlined).
  static const IconData view_headline_outlined = IconData(0xf496, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_in_ar</i> &#x2014; material icon named "view in ar".
  static const IconData view_in_ar = IconData(0xe6b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_in_ar</i> &#x2014; material icon named "view in ar" (sharp).
  static const IconData view_in_ar_sharp = IconData(0xedaa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_in_ar</i> &#x2014; material icon named "view in ar" (round).
  static const IconData view_in_ar_rounded = IconData(0xf0289, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_in_ar</i> &#x2014; material icon named "view in ar" (outlined).
  static const IconData view_in_ar_outlined = IconData(0xf497, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_kanban</i> &#x2014; material icon named "view kanban".
  static const IconData view_kanban = IconData(0xf059c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_kanban</i> &#x2014; material icon named "view kanban" (sharp).
  static const IconData view_kanban_sharp = IconData(0xf04a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_kanban</i> &#x2014; material icon named "view kanban" (round).
  static const IconData view_kanban_rounded = IconData(0xf03af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_kanban</i> &#x2014; material icon named "view kanban" (outlined).
  static const IconData view_kanban_outlined = IconData(0xf0690, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_list</i> &#x2014; material icon named "view list".
  static const IconData view_list = IconData(0xe6b5, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">view_list</i> &#x2014; material icon named "view list" (sharp).
  static const IconData view_list_sharp = IconData(0xedab, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">view_list</i> &#x2014; material icon named "view list" (round).
  static const IconData view_list_rounded = IconData(0xf028a, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">view_list</i> &#x2014; material icon named "view list" (outlined).
  static const IconData view_list_outlined = IconData(0xf498, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">view_module</i> &#x2014; material icon named "view module".
  static const IconData view_module = IconData(0xe6b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_module</i> &#x2014; material icon named "view module" (sharp).
  static const IconData view_module_sharp = IconData(0xedac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_module</i> &#x2014; material icon named "view module" (round).
  static const IconData view_module_rounded = IconData(0xf028b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_module</i> &#x2014; material icon named "view module" (outlined).
  static const IconData view_module_outlined = IconData(0xf499, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_quilt</i> &#x2014; material icon named "view quilt".
  static const IconData view_quilt = IconData(0xe6b7, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">view_quilt</i> &#x2014; material icon named "view quilt" (sharp).
  static const IconData view_quilt_sharp = IconData(0xedad, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">view_quilt</i> &#x2014; material icon named "view quilt" (round).
  static const IconData view_quilt_rounded = IconData(0xf028c, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">view_quilt</i> &#x2014; material icon named "view quilt" (outlined).
  static const IconData view_quilt_outlined = IconData(0xf49a, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">view_sidebar</i> &#x2014; material icon named "view sidebar".
  static const IconData view_sidebar = IconData(0xe6b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_sidebar</i> &#x2014; material icon named "view sidebar" (sharp).
  static const IconData view_sidebar_sharp = IconData(0xedae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_sidebar</i> &#x2014; material icon named "view sidebar" (round).
  static const IconData view_sidebar_rounded = IconData(0xf028d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_sidebar</i> &#x2014; material icon named "view sidebar" (outlined).
  static const IconData view_sidebar_outlined = IconData(0xf49b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_stream</i> &#x2014; material icon named "view stream".
  static const IconData view_stream = IconData(0xe6b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_stream</i> &#x2014; material icon named "view stream" (sharp).
  static const IconData view_stream_sharp = IconData(0xedaf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_stream</i> &#x2014; material icon named "view stream" (round).
  static const IconData view_stream_rounded = IconData(0xf028e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_stream</i> &#x2014; material icon named "view stream" (outlined).
  static const IconData view_stream_outlined = IconData(0xf49c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_timeline</i> &#x2014; material icon named "view timeline".
  static const IconData view_timeline = IconData(0xf059d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_timeline</i> &#x2014; material icon named "view timeline" (sharp).
  static const IconData view_timeline_sharp = IconData(0xf04a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_timeline</i> &#x2014; material icon named "view timeline" (round).
  static const IconData view_timeline_rounded = IconData(0xf03b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_timeline</i> &#x2014; material icon named "view timeline" (outlined).
  static const IconData view_timeline_outlined = IconData(0xf0691, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">view_week</i> &#x2014; material icon named "view week".
  static const IconData view_week = IconData(0xe6ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">view_week</i> &#x2014; material icon named "view week" (sharp).
  static const IconData view_week_sharp = IconData(0xedb0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">view_week</i> &#x2014; material icon named "view week" (round).
  static const IconData view_week_rounded = IconData(0xf028f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">view_week</i> &#x2014; material icon named "view week" (outlined).
  static const IconData view_week_outlined = IconData(0xf49d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vignette</i> &#x2014; material icon named "vignette".
  static const IconData vignette = IconData(0xe6bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vignette</i> &#x2014; material icon named "vignette" (sharp).
  static const IconData vignette_sharp = IconData(0xedb1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vignette</i> &#x2014; material icon named "vignette" (round).
  static const IconData vignette_rounded = IconData(0xf0290, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vignette</i> &#x2014; material icon named "vignette" (outlined).
  static const IconData vignette_outlined = IconData(0xf49e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">villa</i> &#x2014; material icon named "villa".
  static const IconData villa = IconData(0xe6bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">villa</i> &#x2014; material icon named "villa" (sharp).
  static const IconData villa_sharp = IconData(0xedb2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">villa</i> &#x2014; material icon named "villa" (round).
  static const IconData villa_rounded = IconData(0xf0291, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">villa</i> &#x2014; material icon named "villa" (outlined).
  static const IconData villa_outlined = IconData(0xf49f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">visibility</i> &#x2014; material icon named "visibility".
  static const IconData visibility = IconData(0xe6bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">visibility</i> &#x2014; material icon named "visibility" (sharp).
  static const IconData visibility_sharp = IconData(0xedb4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">visibility</i> &#x2014; material icon named "visibility" (round).
  static const IconData visibility_rounded = IconData(0xf0293, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">visibility</i> &#x2014; material icon named "visibility" (outlined).
  static const IconData visibility_outlined = IconData(0xf4a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">visibility_off</i> &#x2014; material icon named "visibility off".
  static const IconData visibility_off = IconData(0xe6be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">visibility_off</i> &#x2014; material icon named "visibility off" (sharp).
  static const IconData visibility_off_sharp = IconData(0xedb3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">visibility_off</i> &#x2014; material icon named "visibility off" (round).
  static const IconData visibility_off_rounded = IconData(0xf0292, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">visibility_off</i> &#x2014; material icon named "visibility off" (outlined).
  static const IconData visibility_off_outlined = IconData(0xf4a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">voice_chat</i> &#x2014; material icon named "voice chat".
  static const IconData voice_chat = IconData(0xe6bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">voice_chat</i> &#x2014; material icon named "voice chat" (sharp).
  static const IconData voice_chat_sharp = IconData(0xedb5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">voice_chat</i> &#x2014; material icon named "voice chat" (round).
  static const IconData voice_chat_rounded = IconData(0xf0294, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">voice_chat</i> &#x2014; material icon named "voice chat" (outlined).
  static const IconData voice_chat_outlined = IconData(0xf4a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">voice_over_off</i> &#x2014; material icon named "voice over off".
  static const IconData voice_over_off = IconData(0xe6c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">voice_over_off</i> &#x2014; material icon named "voice over off" (sharp).
  static const IconData voice_over_off_sharp = IconData(0xedb6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">voice_over_off</i> &#x2014; material icon named "voice over off" (round).
  static const IconData voice_over_off_rounded = IconData(0xf0295, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">voice_over_off</i> &#x2014; material icon named "voice over off" (outlined).
  static const IconData voice_over_off_outlined = IconData(0xf4a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">voicemail</i> &#x2014; material icon named "voicemail".
  static const IconData voicemail = IconData(0xe6c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">voicemail</i> &#x2014; material icon named "voicemail" (sharp).
  static const IconData voicemail_sharp = IconData(0xedb7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">voicemail</i> &#x2014; material icon named "voicemail" (round).
  static const IconData voicemail_rounded = IconData(0xf0296, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">voicemail</i> &#x2014; material icon named "voicemail" (outlined).
  static const IconData voicemail_outlined = IconData(0xf4a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">volcano</i> &#x2014; material icon named "volcano".
  static const IconData volcano = IconData(0xf07d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">volcano</i> &#x2014; material icon named "volcano" (sharp).
  static const IconData volcano_sharp = IconData(0xf077b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">volcano</i> &#x2014; material icon named "volcano" (round).
  static const IconData volcano_rounded = IconData(0xf082b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">volcano</i> &#x2014; material icon named "volcano" (outlined).
  static const IconData volcano_outlined = IconData(0xf0723, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">volume_down</i> &#x2014; material icon named "volume down".
  static const IconData volume_down = IconData(0xe6c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">volume_down</i> &#x2014; material icon named "volume down" (sharp).
  static const IconData volume_down_sharp = IconData(0xedb8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">volume_down</i> &#x2014; material icon named "volume down" (round).
  static const IconData volume_down_rounded = IconData(0xf0297, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">volume_down</i> &#x2014; material icon named "volume down" (outlined).
  static const IconData volume_down_outlined = IconData(0xf4a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">volume_down_alt</i> &#x2014; material icon named "volume down alt".
  static const IconData volume_down_alt = IconData(0xf059e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">volume_mute</i> &#x2014; material icon named "volume mute".
  static const IconData volume_mute = IconData(0xe6c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">volume_mute</i> &#x2014; material icon named "volume mute" (sharp).
  static const IconData volume_mute_sharp = IconData(0xedb9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">volume_mute</i> &#x2014; material icon named "volume mute" (round).
  static const IconData volume_mute_rounded = IconData(0xf0298, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">volume_mute</i> &#x2014; material icon named "volume mute" (outlined).
  static const IconData volume_mute_outlined = IconData(0xf4a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">volume_off</i> &#x2014; material icon named "volume off".
  static const IconData volume_off = IconData(0xe6c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">volume_off</i> &#x2014; material icon named "volume off" (sharp).
  static const IconData volume_off_sharp = IconData(0xedba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">volume_off</i> &#x2014; material icon named "volume off" (round).
  static const IconData volume_off_rounded = IconData(0xf0299, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">volume_off</i> &#x2014; material icon named "volume off" (outlined).
  static const IconData volume_off_outlined = IconData(0xf4a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">volume_up</i> &#x2014; material icon named "volume up".
  static const IconData volume_up = IconData(0xe6c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">volume_up</i> &#x2014; material icon named "volume up" (sharp).
  static const IconData volume_up_sharp = IconData(0xedbb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">volume_up</i> &#x2014; material icon named "volume up" (round).
  static const IconData volume_up_rounded = IconData(0xf029a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">volume_up</i> &#x2014; material icon named "volume up" (outlined).
  static const IconData volume_up_outlined = IconData(0xf4a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">volunteer_activism</i> &#x2014; material icon named "volunteer activism".
  static const IconData volunteer_activism = IconData(0xe6c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">volunteer_activism</i> &#x2014; material icon named "volunteer activism" (sharp).
  static const IconData volunteer_activism_sharp = IconData(0xedbc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">volunteer_activism</i> &#x2014; material icon named "volunteer activism" (round).
  static const IconData volunteer_activism_rounded = IconData(0xf029b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">volunteer_activism</i> &#x2014; material icon named "volunteer activism" (outlined).
  static const IconData volunteer_activism_outlined = IconData(0xf4a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vpn_key</i> &#x2014; material icon named "vpn key".
  static const IconData vpn_key = IconData(0xe6c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vpn_key</i> &#x2014; material icon named "vpn key" (sharp).
  static const IconData vpn_key_sharp = IconData(0xedbd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vpn_key</i> &#x2014; material icon named "vpn key" (round).
  static const IconData vpn_key_rounded = IconData(0xf029c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vpn_key</i> &#x2014; material icon named "vpn key" (outlined).
  static const IconData vpn_key_outlined = IconData(0xf4aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vpn_key_off</i> &#x2014; material icon named "vpn key off".
  static const IconData vpn_key_off = IconData(0xf059f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vpn_key_off</i> &#x2014; material icon named "vpn key off" (sharp).
  static const IconData vpn_key_off_sharp = IconData(0xf04a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vpn_key_off</i> &#x2014; material icon named "vpn key off" (round).
  static const IconData vpn_key_off_rounded = IconData(0xf03b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vpn_key_off</i> &#x2014; material icon named "vpn key off" (outlined).
  static const IconData vpn_key_off_outlined = IconData(0xf0692, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vpn_lock</i> &#x2014; material icon named "vpn lock".
  static const IconData vpn_lock = IconData(0xe6c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vpn_lock</i> &#x2014; material icon named "vpn lock" (sharp).
  static const IconData vpn_lock_sharp = IconData(0xedbe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vpn_lock</i> &#x2014; material icon named "vpn lock" (round).
  static const IconData vpn_lock_rounded = IconData(0xf029d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vpn_lock</i> &#x2014; material icon named "vpn lock" (outlined).
  static const IconData vpn_lock_outlined = IconData(0xf4ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">vrpano</i> &#x2014; material icon named "vrpano".
  static const IconData vrpano = IconData(0xe6c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">vrpano</i> &#x2014; material icon named "vrpano" (sharp).
  static const IconData vrpano_sharp = IconData(0xedbf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">vrpano</i> &#x2014; material icon named "vrpano" (round).
  static const IconData vrpano_rounded = IconData(0xf029e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">vrpano</i> &#x2014; material icon named "vrpano" (outlined).
  static const IconData vrpano_outlined = IconData(0xf4ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wallet</i> &#x2014; material icon named "wallet".
  static const IconData wallet = IconData(0xf07d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wallet</i> &#x2014; material icon named "wallet" (sharp).
  static const IconData wallet_sharp = IconData(0xf077c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wallet</i> &#x2014; material icon named "wallet" (round).
  static const IconData wallet_rounded = IconData(0xf082c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wallet</i> &#x2014; material icon named "wallet" (outlined).
  static const IconData wallet_outlined = IconData(0xf0724, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wallet_giftcard</i> &#x2014; material icon named "wallet giftcard".
  static const IconData wallet_giftcard = IconData(0xe13e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wallet_giftcard</i> &#x2014; material icon named "wallet giftcard" (sharp).
  static const IconData wallet_giftcard_sharp = IconData(0xe83b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wallet_giftcard</i> &#x2014; material icon named "wallet giftcard" (round).
  static const IconData wallet_giftcard_rounded = IconData(0xf61a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wallet_giftcard</i> &#x2014; material icon named "wallet giftcard" (outlined).
  static const IconData wallet_giftcard_outlined = IconData(0xef2d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wallet_membership</i> &#x2014; material icon named "wallet membership".
  static const IconData wallet_membership = IconData(0xe13f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wallet_membership</i> &#x2014; material icon named "wallet membership" (sharp).
  static const IconData wallet_membership_sharp = IconData(0xe83c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wallet_membership</i> &#x2014; material icon named "wallet membership" (round).
  static const IconData wallet_membership_rounded = IconData(0xf61b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wallet_membership</i> &#x2014; material icon named "wallet membership" (outlined).
  static const IconData wallet_membership_outlined = IconData(0xef2e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wallet_travel</i> &#x2014; material icon named "wallet travel".
  static const IconData wallet_travel = IconData(0xe140, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wallet_travel</i> &#x2014; material icon named "wallet travel" (sharp).
  static const IconData wallet_travel_sharp = IconData(0xe83d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wallet_travel</i> &#x2014; material icon named "wallet travel" (round).
  static const IconData wallet_travel_rounded = IconData(0xf61c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wallet_travel</i> &#x2014; material icon named "wallet travel" (outlined).
  static const IconData wallet_travel_outlined = IconData(0xef2f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wallpaper</i> &#x2014; material icon named "wallpaper".
  static const IconData wallpaper = IconData(0xe6ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wallpaper</i> &#x2014; material icon named "wallpaper" (sharp).
  static const IconData wallpaper_sharp = IconData(0xedc0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wallpaper</i> &#x2014; material icon named "wallpaper" (round).
  static const IconData wallpaper_rounded = IconData(0xf029f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wallpaper</i> &#x2014; material icon named "wallpaper" (outlined).
  static const IconData wallpaper_outlined = IconData(0xf4ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">warehouse</i> &#x2014; material icon named "warehouse".
  static const IconData warehouse = IconData(0xf05a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">warehouse</i> &#x2014; material icon named "warehouse" (sharp).
  static const IconData warehouse_sharp = IconData(0xf04a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">warehouse</i> &#x2014; material icon named "warehouse" (round).
  static const IconData warehouse_rounded = IconData(0xf03b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">warehouse</i> &#x2014; material icon named "warehouse" (outlined).
  static const IconData warehouse_outlined = IconData(0xf0693, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">warning</i> &#x2014; material icon named "warning".
  static const IconData warning = IconData(0xe6cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">warning</i> &#x2014; material icon named "warning" (sharp).
  static const IconData warning_sharp = IconData(0xedc2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">warning</i> &#x2014; material icon named "warning" (round).
  static const IconData warning_rounded = IconData(0xf02a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">warning</i> &#x2014; material icon named "warning" (outlined).
  static const IconData warning_outlined = IconData(0xf4af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">warning_amber</i> &#x2014; material icon named "warning amber".
  static const IconData warning_amber = IconData(0xe6cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">warning_amber</i> &#x2014; material icon named "warning amber" (sharp).
  static const IconData warning_amber_sharp = IconData(0xedc1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">warning_amber</i> &#x2014; material icon named "warning amber" (round).
  static const IconData warning_amber_rounded = IconData(0xf02a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">warning_amber</i> &#x2014; material icon named "warning amber" (outlined).
  static const IconData warning_amber_outlined = IconData(0xf4ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wash</i> &#x2014; material icon named "wash".
  static const IconData wash = IconData(0xe6cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wash</i> &#x2014; material icon named "wash" (sharp).
  static const IconData wash_sharp = IconData(0xedc3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wash</i> &#x2014; material icon named "wash" (round).
  static const IconData wash_rounded = IconData(0xf02a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wash</i> &#x2014; material icon named "wash" (outlined).
  static const IconData wash_outlined = IconData(0xf4b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">watch</i> &#x2014; material icon named "watch".
  static const IconData watch = IconData(0xe6ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">watch</i> &#x2014; material icon named "watch" (sharp).
  static const IconData watch_sharp = IconData(0xedc5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">watch</i> &#x2014; material icon named "watch" (round).
  static const IconData watch_rounded = IconData(0xf02a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">watch</i> &#x2014; material icon named "watch" (outlined).
  static const IconData watch_outlined = IconData(0xf4b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">watch_later</i> &#x2014; material icon named "watch later".
  static const IconData watch_later = IconData(0xe6cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">watch_later</i> &#x2014; material icon named "watch later" (sharp).
  static const IconData watch_later_sharp = IconData(0xedc4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">watch_later</i> &#x2014; material icon named "watch later" (round).
  static const IconData watch_later_rounded = IconData(0xf02a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">watch_later</i> &#x2014; material icon named "watch later" (outlined).
  static const IconData watch_later_outlined = IconData(0xf4b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">watch_off</i> &#x2014; material icon named "watch off".
  static const IconData watch_off = IconData(0xf05a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">watch_off</i> &#x2014; material icon named "watch off" (sharp).
  static const IconData watch_off_sharp = IconData(0xf04a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">watch_off</i> &#x2014; material icon named "watch off" (round).
  static const IconData watch_off_rounded = IconData(0xf03b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">watch_off</i> &#x2014; material icon named "watch off" (outlined).
  static const IconData watch_off_outlined = IconData(0xf0694, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">water</i> &#x2014; material icon named "water".
  static const IconData water = IconData(0xe6d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">water</i> &#x2014; material icon named "water" (sharp).
  static const IconData water_sharp = IconData(0xedc7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">water</i> &#x2014; material icon named "water" (round).
  static const IconData water_rounded = IconData(0xf02a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">water</i> &#x2014; material icon named "water" (outlined).
  static const IconData water_outlined = IconData(0xf4b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">water_damage</i> &#x2014; material icon named "water damage".
  static const IconData water_damage = IconData(0xe6d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">water_damage</i> &#x2014; material icon named "water damage" (sharp).
  static const IconData water_damage_sharp = IconData(0xedc6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">water_damage</i> &#x2014; material icon named "water damage" (round).
  static const IconData water_damage_rounded = IconData(0xf02a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">water_damage</i> &#x2014; material icon named "water damage" (outlined).
  static const IconData water_damage_outlined = IconData(0xf4b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">water_drop</i> &#x2014; material icon named "water drop".
  static const IconData water_drop = IconData(0xf05a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">water_drop</i> &#x2014; material icon named "water drop" (sharp).
  static const IconData water_drop_sharp = IconData(0xf04a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">water_drop</i> &#x2014; material icon named "water drop" (round).
  static const IconData water_drop_rounded = IconData(0xf03b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">water_drop</i> &#x2014; material icon named "water drop" (outlined).
  static const IconData water_drop_outlined = IconData(0xf0695, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">waterfall_chart</i> &#x2014; material icon named "waterfall chart".
  static const IconData waterfall_chart = IconData(0xe6d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">waterfall_chart</i> &#x2014; material icon named "waterfall chart" (sharp).
  static const IconData waterfall_chart_sharp = IconData(0xedc8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">waterfall_chart</i> &#x2014; material icon named "waterfall chart" (round).
  static const IconData waterfall_chart_rounded = IconData(0xf02a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">waterfall_chart</i> &#x2014; material icon named "waterfall chart" (outlined).
  static const IconData waterfall_chart_outlined = IconData(0xf4b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">waves</i> &#x2014; material icon named "waves".
  static const IconData waves = IconData(0xe6d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">waves</i> &#x2014; material icon named "waves" (sharp).
  static const IconData waves_sharp = IconData(0xedc9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">waves</i> &#x2014; material icon named "waves" (round).
  static const IconData waves_rounded = IconData(0xf02a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">waves</i> &#x2014; material icon named "waves" (outlined).
  static const IconData waves_outlined = IconData(0xf4b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">waving_hand</i> &#x2014; material icon named "waving hand".
  static const IconData waving_hand = IconData(0xf05a3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">waving_hand</i> &#x2014; material icon named "waving hand" (sharp).
  static const IconData waving_hand_sharp = IconData(0xf04a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">waving_hand</i> &#x2014; material icon named "waving hand" (round).
  static const IconData waving_hand_rounded = IconData(0xf03b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">waving_hand</i> &#x2014; material icon named "waving hand" (outlined).
  static const IconData waving_hand_outlined = IconData(0xf0696, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wb_auto</i> &#x2014; material icon named "wb auto".
  static const IconData wb_auto = IconData(0xe6d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wb_auto</i> &#x2014; material icon named "wb auto" (sharp).
  static const IconData wb_auto_sharp = IconData(0xedca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wb_auto</i> &#x2014; material icon named "wb auto" (round).
  static const IconData wb_auto_rounded = IconData(0xf02a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wb_auto</i> &#x2014; material icon named "wb auto" (outlined).
  static const IconData wb_auto_outlined = IconData(0xf4b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wb_cloudy</i> &#x2014; material icon named "wb cloudy".
  static const IconData wb_cloudy = IconData(0xe6d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wb_cloudy</i> &#x2014; material icon named "wb cloudy" (sharp).
  static const IconData wb_cloudy_sharp = IconData(0xedcb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wb_cloudy</i> &#x2014; material icon named "wb cloudy" (round).
  static const IconData wb_cloudy_rounded = IconData(0xf02aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wb_cloudy</i> &#x2014; material icon named "wb cloudy" (outlined).
  static const IconData wb_cloudy_outlined = IconData(0xf4b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wb_incandescent</i> &#x2014; material icon named "wb incandescent".
  static const IconData wb_incandescent = IconData(0xe6d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wb_incandescent</i> &#x2014; material icon named "wb incandescent" (sharp).
  static const IconData wb_incandescent_sharp = IconData(0xedcc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wb_incandescent</i> &#x2014; material icon named "wb incandescent" (round).
  static const IconData wb_incandescent_rounded = IconData(0xf02ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wb_incandescent</i> &#x2014; material icon named "wb incandescent" (outlined).
  static const IconData wb_incandescent_outlined = IconData(0xf4b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wb_iridescent</i> &#x2014; material icon named "wb iridescent".
  static const IconData wb_iridescent = IconData(0xe6d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wb_iridescent</i> &#x2014; material icon named "wb iridescent" (sharp).
  static const IconData wb_iridescent_sharp = IconData(0xedcd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wb_iridescent</i> &#x2014; material icon named "wb iridescent" (round).
  static const IconData wb_iridescent_rounded = IconData(0xf02ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wb_iridescent</i> &#x2014; material icon named "wb iridescent" (outlined).
  static const IconData wb_iridescent_outlined = IconData(0xf4ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wb_shade</i> &#x2014; material icon named "wb shade".
  static const IconData wb_shade = IconData(0xe6d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wb_shade</i> &#x2014; material icon named "wb shade" (sharp).
  static const IconData wb_shade_sharp = IconData(0xedce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wb_shade</i> &#x2014; material icon named "wb shade" (round).
  static const IconData wb_shade_rounded = IconData(0xf02ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wb_shade</i> &#x2014; material icon named "wb shade" (outlined).
  static const IconData wb_shade_outlined = IconData(0xf4bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wb_sunny</i> &#x2014; material icon named "wb sunny".
  static const IconData wb_sunny = IconData(0xe6d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wb_sunny</i> &#x2014; material icon named "wb sunny" (sharp).
  static const IconData wb_sunny_sharp = IconData(0xedcf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wb_sunny</i> &#x2014; material icon named "wb sunny" (round).
  static const IconData wb_sunny_rounded = IconData(0xf02ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wb_sunny</i> &#x2014; material icon named "wb sunny" (outlined).
  static const IconData wb_sunny_outlined = IconData(0xf4bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wb_twighlight</i> &#x2014; material icon named "wb twighlight".
  static const IconData wb_twighlight = IconData(0xe6da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wb_twilight</i> &#x2014; material icon named "wb twilight".
  static const IconData wb_twilight = IconData(0xe6db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wb_twilight</i> &#x2014; material icon named "wb twilight" (sharp).
  static const IconData wb_twilight_sharp = IconData(0xedd0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wb_twilight</i> &#x2014; material icon named "wb twilight" (round).
  static const IconData wb_twilight_rounded = IconData(0xf02af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wb_twilight</i> &#x2014; material icon named "wb twilight" (outlined).
  static const IconData wb_twilight_outlined = IconData(0xf4bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wc</i> &#x2014; material icon named "wc".
  static const IconData wc = IconData(0xe6dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wc</i> &#x2014; material icon named "wc" (sharp).
  static const IconData wc_sharp = IconData(0xedd1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wc</i> &#x2014; material icon named "wc" (round).
  static const IconData wc_rounded = IconData(0xf02b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wc</i> &#x2014; material icon named "wc" (outlined).
  static const IconData wc_outlined = IconData(0xf4be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">web</i> &#x2014; material icon named "web".
  static const IconData web = IconData(0xe6dd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">web</i> &#x2014; material icon named "web" (sharp).
  static const IconData web_sharp = IconData(0xedd4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">web</i> &#x2014; material icon named "web" (round).
  static const IconData web_rounded = IconData(0xf02b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">web</i> &#x2014; material icon named "web" (outlined).
  static const IconData web_outlined = IconData(0xf4c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">web_asset</i> &#x2014; material icon named "web asset".
  static const IconData web_asset = IconData(0xe6de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">web_asset</i> &#x2014; material icon named "web asset" (sharp).
  static const IconData web_asset_sharp = IconData(0xedd3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">web_asset</i> &#x2014; material icon named "web asset" (round).
  static const IconData web_asset_rounded = IconData(0xf02b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">web_asset</i> &#x2014; material icon named "web asset" (outlined).
  static const IconData web_asset_outlined = IconData(0xf4c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">web_asset_off</i> &#x2014; material icon named "web asset off".
  static const IconData web_asset_off = IconData(0xe6df, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">web_asset_off</i> &#x2014; material icon named "web asset off" (sharp).
  static const IconData web_asset_off_sharp = IconData(0xedd2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">web_asset_off</i> &#x2014; material icon named "web asset off" (round).
  static const IconData web_asset_off_rounded = IconData(0xf02b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">web_asset_off</i> &#x2014; material icon named "web asset off" (outlined).
  static const IconData web_asset_off_outlined = IconData(0xf4bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">web_stories</i> &#x2014; material icon named "web stories".
  static const IconData web_stories = IconData(0xe6e0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">webhook</i> &#x2014; material icon named "webhook".
  static const IconData webhook = IconData(0xf05a4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">webhook</i> &#x2014; material icon named "webhook" (sharp).
  static const IconData webhook_sharp = IconData(0xf04a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">webhook</i> &#x2014; material icon named "webhook" (round).
  static const IconData webhook_rounded = IconData(0xf03b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">webhook</i> &#x2014; material icon named "webhook" (outlined).
  static const IconData webhook_outlined = IconData(0xf0697, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wechat</i> &#x2014; material icon named "wechat".
  static const IconData wechat = IconData(0xf05a5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wechat</i> &#x2014; material icon named "wechat" (sharp).
  static const IconData wechat_sharp = IconData(0xf04aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wechat</i> &#x2014; material icon named "wechat" (round).
  static const IconData wechat_rounded = IconData(0xf03b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wechat</i> &#x2014; material icon named "wechat" (outlined).
  static const IconData wechat_outlined = IconData(0xf0698, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">weekend</i> &#x2014; material icon named "weekend".
  static const IconData weekend = IconData(0xe6e1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">weekend</i> &#x2014; material icon named "weekend" (sharp).
  static const IconData weekend_sharp = IconData(0xedd5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">weekend</i> &#x2014; material icon named "weekend" (round).
  static const IconData weekend_rounded = IconData(0xf02b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">weekend</i> &#x2014; material icon named "weekend" (outlined).
  static const IconData weekend_outlined = IconData(0xf4c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">west</i> &#x2014; material icon named "west".
  static const IconData west = IconData(0xe6e2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">west</i> &#x2014; material icon named "west" (sharp).
  static const IconData west_sharp = IconData(0xedd6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">west</i> &#x2014; material icon named "west" (round).
  static const IconData west_rounded = IconData(0xf02b5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">west</i> &#x2014; material icon named "west" (outlined).
  static const IconData west_outlined = IconData(0xf4c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">whatsapp</i> &#x2014; material icon named "whatsapp".
  static const IconData whatsapp = IconData(0xf05a6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">whatsapp</i> &#x2014; material icon named "whatsapp" (sharp).
  static const IconData whatsapp_sharp = IconData(0xf04ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">whatsapp</i> &#x2014; material icon named "whatsapp" (round).
  static const IconData whatsapp_rounded = IconData(0xf03b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">whatsapp</i> &#x2014; material icon named "whatsapp" (outlined).
  static const IconData whatsapp_outlined = IconData(0xf0699, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">whatshot</i> &#x2014; material icon named "whatshot".
  static const IconData whatshot = IconData(0xe6e3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">whatshot</i> &#x2014; material icon named "whatshot" (sharp).
  static const IconData whatshot_sharp = IconData(0xedd7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">whatshot</i> &#x2014; material icon named "whatshot" (round).
  static const IconData whatshot_rounded = IconData(0xf02b6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">whatshot</i> &#x2014; material icon named "whatshot" (outlined).
  static const IconData whatshot_outlined = IconData(0xf4c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wheelchair_pickup</i> &#x2014; material icon named "wheelchair pickup".
  static const IconData wheelchair_pickup = IconData(0xe6e4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wheelchair_pickup</i> &#x2014; material icon named "wheelchair pickup" (sharp).
  static const IconData wheelchair_pickup_sharp = IconData(0xedd8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wheelchair_pickup</i> &#x2014; material icon named "wheelchair pickup" (round).
  static const IconData wheelchair_pickup_rounded = IconData(0xf02b7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wheelchair_pickup</i> &#x2014; material icon named "wheelchair pickup" (outlined).
  static const IconData wheelchair_pickup_outlined = IconData(0xf4c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">where_to_vote</i> &#x2014; material icon named "where to vote".
  static const IconData where_to_vote = IconData(0xe6e5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">where_to_vote</i> &#x2014; material icon named "where to vote" (sharp).
  static const IconData where_to_vote_sharp = IconData(0xedd9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">where_to_vote</i> &#x2014; material icon named "where to vote" (round).
  static const IconData where_to_vote_rounded = IconData(0xf02b8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">where_to_vote</i> &#x2014; material icon named "where to vote" (outlined).
  static const IconData where_to_vote_outlined = IconData(0xf4c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">widgets</i> &#x2014; material icon named "widgets".
  static const IconData widgets = IconData(0xe6e6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">widgets</i> &#x2014; material icon named "widgets" (sharp).
  static const IconData widgets_sharp = IconData(0xedda, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">widgets</i> &#x2014; material icon named "widgets" (round).
  static const IconData widgets_rounded = IconData(0xf02b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">widgets</i> &#x2014; material icon named "widgets" (outlined).
  static const IconData widgets_outlined = IconData(0xf4c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">width_full</i> &#x2014; material icon named "width full".
  static const IconData width_full = IconData(0xf07d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">width_full</i> &#x2014; material icon named "width full" (sharp).
  static const IconData width_full_sharp = IconData(0xf077d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">width_full</i> &#x2014; material icon named "width full" (round).
  static const IconData width_full_rounded = IconData(0xf082d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">width_full</i> &#x2014; material icon named "width full" (outlined).
  static const IconData width_full_outlined = IconData(0xf0725, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">width_normal</i> &#x2014; material icon named "width normal".
  static const IconData width_normal = IconData(0xf07d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">width_normal</i> &#x2014; material icon named "width normal" (sharp).
  static const IconData width_normal_sharp = IconData(0xf077e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">width_normal</i> &#x2014; material icon named "width normal" (round).
  static const IconData width_normal_rounded = IconData(0xf082e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">width_normal</i> &#x2014; material icon named "width normal" (outlined).
  static const IconData width_normal_outlined = IconData(0xf0726, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">width_wide</i> &#x2014; material icon named "width wide".
  static const IconData width_wide = IconData(0xf07d7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">width_wide</i> &#x2014; material icon named "width wide" (sharp).
  static const IconData width_wide_sharp = IconData(0xf077f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">width_wide</i> &#x2014; material icon named "width wide" (round).
  static const IconData width_wide_rounded = IconData(0xf082f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">width_wide</i> &#x2014; material icon named "width wide" (outlined).
  static const IconData width_wide_outlined = IconData(0xf0727, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi</i> &#x2014; material icon named "wifi".
  static const IconData wifi = IconData(0xe6e7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi</i> &#x2014; material icon named "wifi" (sharp).
  static const IconData wifi_sharp = IconData(0xede0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wifi</i> &#x2014; material icon named "wifi" (round).
  static const IconData wifi_rounded = IconData(0xf02bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi</i> &#x2014; material icon named "wifi" (outlined).
  static const IconData wifi_outlined = IconData(0xf4cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi_1_bar</i> &#x2014; material icon named "wifi 1 bar".
  static const IconData wifi_1_bar = IconData(0xf07d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi_1_bar</i> &#x2014; material icon named "wifi 1 bar" (sharp).
  static const IconData wifi_1_bar_sharp = IconData(0xf0780, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wifi_1_bar</i> &#x2014; material icon named "wifi 1 bar" (round).
  static const IconData wifi_1_bar_rounded = IconData(0xf0830, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi_1_bar</i> &#x2014; material icon named "wifi 1 bar" (outlined).
  static const IconData wifi_1_bar_outlined = IconData(0xf0728, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi_2_bar</i> &#x2014; material icon named "wifi 2 bar".
  static const IconData wifi_2_bar = IconData(0xf07d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi_2_bar</i> &#x2014; material icon named "wifi 2 bar" (sharp).
  static const IconData wifi_2_bar_sharp = IconData(0xf0781, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wifi_2_bar</i> &#x2014; material icon named "wifi 2 bar" (round).
  static const IconData wifi_2_bar_rounded = IconData(0xf0831, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi_2_bar</i> &#x2014; material icon named "wifi 2 bar" (outlined).
  static const IconData wifi_2_bar_outlined = IconData(0xf0729, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi_calling</i> &#x2014; material icon named "wifi calling".
  static const IconData wifi_calling = IconData(0xe6e8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi_calling</i> &#x2014; material icon named "wifi calling" (sharp).
  static const IconData wifi_calling_sharp = IconData(0xeddc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wifi_calling</i> &#x2014; material icon named "wifi calling" (round).
  static const IconData wifi_calling_rounded = IconData(0xf02bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi_calling</i> &#x2014; material icon named "wifi calling" (outlined).
  static const IconData wifi_calling_outlined = IconData(0xf4c9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi_calling_3</i> &#x2014; material icon named "wifi calling 3".
  static const IconData wifi_calling_3 = IconData(0xe6e9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi_calling_3</i> &#x2014; material icon named "wifi calling 3" (sharp).
  static const IconData wifi_calling_3_sharp = IconData(0xeddb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wifi_calling_3</i> &#x2014; material icon named "wifi calling 3" (round).
  static const IconData wifi_calling_3_rounded = IconData(0xf02ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi_calling_3</i> &#x2014; material icon named "wifi calling 3" (outlined).
  static const IconData wifi_calling_3_outlined = IconData(0xf4c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi_channel</i> &#x2014; material icon named "wifi channel".
  static const IconData wifi_channel = IconData(0xf05a7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi_channel</i> &#x2014; material icon named "wifi channel" (sharp).
  static const IconData wifi_channel_sharp = IconData(0xf04ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wifi_channel</i> &#x2014; material icon named "wifi channel" (round).
  static const IconData wifi_channel_rounded = IconData(0xf03b9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi_channel</i> &#x2014; material icon named "wifi channel" (outlined).
  static const IconData wifi_channel_outlined = IconData(0xf069a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi_find</i> &#x2014; material icon named "wifi find".
  static const IconData wifi_find = IconData(0xf05a8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi_find</i> &#x2014; material icon named "wifi find" (sharp).
  static const IconData wifi_find_sharp = IconData(0xf04ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wifi_find</i> &#x2014; material icon named "wifi find" (round).
  static const IconData wifi_find_rounded = IconData(0xf03ba, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi_find</i> &#x2014; material icon named "wifi find" (outlined).
  static const IconData wifi_find_outlined = IconData(0xf069b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi_lock</i> &#x2014; material icon named "wifi lock".
  static const IconData wifi_lock = IconData(0xe6ea, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi_lock</i> &#x2014; material icon named "wifi lock" (sharp).
  static const IconData wifi_lock_sharp = IconData(0xeddd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wifi_lock</i> &#x2014; material icon named "wifi lock" (round).
  static const IconData wifi_lock_rounded = IconData(0xf02bc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi_lock</i> &#x2014; material icon named "wifi lock" (outlined).
  static const IconData wifi_lock_outlined = IconData(0xf4ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi_off</i> &#x2014; material icon named "wifi off".
  static const IconData wifi_off = IconData(0xe6eb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi_off</i> &#x2014; material icon named "wifi off" (sharp).
  static const IconData wifi_off_sharp = IconData(0xedde, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wifi_off</i> &#x2014; material icon named "wifi off" (round).
  static const IconData wifi_off_rounded = IconData(0xf02bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi_off</i> &#x2014; material icon named "wifi off" (outlined).
  static const IconData wifi_off_outlined = IconData(0xf4cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi_password</i> &#x2014; material icon named "wifi password".
  static const IconData wifi_password = IconData(0xf05a9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi_password</i> &#x2014; material icon named "wifi password" (sharp).
  static const IconData wifi_password_sharp = IconData(0xf04ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wifi_password</i> &#x2014; material icon named "wifi password" (round).
  static const IconData wifi_password_rounded = IconData(0xf03bb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi_password</i> &#x2014; material icon named "wifi password" (outlined).
  static const IconData wifi_password_outlined = IconData(0xf069c, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi_protected_setup</i> &#x2014; material icon named "wifi protected setup".
  static const IconData wifi_protected_setup = IconData(0xe6ec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi_protected_setup</i> &#x2014; material icon named "wifi protected setup" (sharp).
  static const IconData wifi_protected_setup_sharp = IconData(0xeddf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wifi_protected_setup</i> &#x2014; material icon named "wifi protected setup" (round).
  static const IconData wifi_protected_setup_rounded = IconData(0xf02be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi_protected_setup</i> &#x2014; material icon named "wifi protected setup" (outlined).
  static const IconData wifi_protected_setup_outlined = IconData(0xf4cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi_tethering</i> &#x2014; material icon named "wifi tethering".
  static const IconData wifi_tethering = IconData(0xe6ed, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi_tethering</i> &#x2014; material icon named "wifi tethering" (sharp).
  static const IconData wifi_tethering_sharp = IconData(0xede3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wifi_tethering</i> &#x2014; material icon named "wifi tethering" (round).
  static const IconData wifi_tethering_rounded = IconData(0xf02c2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi_tethering</i> &#x2014; material icon named "wifi tethering" (outlined).
  static const IconData wifi_tethering_outlined = IconData(0xf4d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi_tethering_error</i> &#x2014; material icon named "wifi tethering error".
  static const IconData wifi_tethering_error = IconData(0xf05aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi_tethering_error</i> &#x2014; material icon named "wifi tethering error" (sharp).
  static const IconData wifi_tethering_error_sharp = IconData(0xf04af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi_tethering_error</i> &#x2014; material icon named "wifi tethering error".
  static const IconData wifi_tethering_error_rounded = IconData(0xf05aa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi_tethering_error</i> &#x2014; material icon named "wifi tethering error" (outlined).
  static const IconData wifi_tethering_error_outlined = IconData(0xf069d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi_tethering_error_rounded</i> &#x2014; material icon named "wifi tethering error rounded" (sharp).
  static const IconData wifi_tethering_error_rounded_sharp = IconData(0xf04af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wifi_tethering_error_rounded</i> &#x2014; material icon named "wifi tethering error rounded" (round).
  static const IconData wifi_tethering_error_rounded_rounded = IconData(0xf02c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi_tethering_error_rounded</i> &#x2014; material icon named "wifi tethering error rounded" (outlined).
  static const IconData wifi_tethering_error_rounded_outlined = IconData(0xf069d, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wifi_tethering_off</i> &#x2014; material icon named "wifi tethering off".
  static const IconData wifi_tethering_off = IconData(0xe6ef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wifi_tethering_off</i> &#x2014; material icon named "wifi tethering off" (sharp).
  static const IconData wifi_tethering_off_sharp = IconData(0xede2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wifi_tethering_off</i> &#x2014; material icon named "wifi tethering off" (round).
  static const IconData wifi_tethering_off_rounded = IconData(0xf02c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wifi_tethering_off</i> &#x2014; material icon named "wifi tethering off" (outlined).
  static const IconData wifi_tethering_off_outlined = IconData(0xf4cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wind_power</i> &#x2014; material icon named "wind power".
  static const IconData wind_power = IconData(0xf07da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wind_power</i> &#x2014; material icon named "wind power" (sharp).
  static const IconData wind_power_sharp = IconData(0xf0782, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wind_power</i> &#x2014; material icon named "wind power" (round).
  static const IconData wind_power_rounded = IconData(0xf0832, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wind_power</i> &#x2014; material icon named "wind power" (outlined).
  static const IconData wind_power_outlined = IconData(0xf072a, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">window</i> &#x2014; material icon named "window".
  static const IconData window = IconData(0xe6f0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">window</i> &#x2014; material icon named "window" (sharp).
  static const IconData window_sharp = IconData(0xede4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">window</i> &#x2014; material icon named "window" (round).
  static const IconData window_rounded = IconData(0xf02c3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">window</i> &#x2014; material icon named "window" (outlined).
  static const IconData window_outlined = IconData(0xf4d1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wine_bar</i> &#x2014; material icon named "wine bar".
  static const IconData wine_bar = IconData(0xe6f1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wine_bar</i> &#x2014; material icon named "wine bar" (sharp).
  static const IconData wine_bar_sharp = IconData(0xede5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wine_bar</i> &#x2014; material icon named "wine bar" (round).
  static const IconData wine_bar_rounded = IconData(0xf02c4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wine_bar</i> &#x2014; material icon named "wine bar" (outlined).
  static const IconData wine_bar_outlined = IconData(0xf4d2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">woman</i> &#x2014; material icon named "woman".
  static const IconData woman = IconData(0xf05ab, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">woman</i> &#x2014; material icon named "woman" (sharp).
  static const IconData woman_sharp = IconData(0xf04b0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">woman</i> &#x2014; material icon named "woman" (round).
  static const IconData woman_rounded = IconData(0xf03bd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">woman</i> &#x2014; material icon named "woman" (outlined).
  static const IconData woman_outlined = IconData(0xf069e, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">woo_commerce</i> &#x2014; material icon named "woo commerce".
  static const IconData woo_commerce = IconData(0xf05ac, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">woo_commerce</i> &#x2014; material icon named "woo commerce" (sharp).
  static const IconData woo_commerce_sharp = IconData(0xf04b1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">woo_commerce</i> &#x2014; material icon named "woo commerce" (round).
  static const IconData woo_commerce_rounded = IconData(0xf03be, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">woo_commerce</i> &#x2014; material icon named "woo commerce" (outlined).
  static const IconData woo_commerce_outlined = IconData(0xf069f, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wordpress</i> &#x2014; material icon named "wordpress".
  static const IconData wordpress = IconData(0xf05ad, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wordpress</i> &#x2014; material icon named "wordpress" (sharp).
  static const IconData wordpress_sharp = IconData(0xf04b2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wordpress</i> &#x2014; material icon named "wordpress" (round).
  static const IconData wordpress_rounded = IconData(0xf03bf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wordpress</i> &#x2014; material icon named "wordpress" (outlined).
  static const IconData wordpress_outlined = IconData(0xf06a0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">work</i> &#x2014; material icon named "work".
  static const IconData work = IconData(0xe6f2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">work</i> &#x2014; material icon named "work" (sharp).
  static const IconData work_sharp = IconData(0xede8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">work</i> &#x2014; material icon named "work" (round).
  static const IconData work_rounded = IconData(0xf02c7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">work</i> &#x2014; material icon named "work" (outlined).
  static const IconData work_outlined = IconData(0xf4d5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">work_history</i> &#x2014; material icon named "work history".
  static const IconData work_history = IconData(0xf07db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">work_history</i> &#x2014; material icon named "work history" (sharp).
  static const IconData work_history_sharp = IconData(0xf0783, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">work_history</i> &#x2014; material icon named "work history" (round).
  static const IconData work_history_rounded = IconData(0xf0833, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">work_history</i> &#x2014; material icon named "work history" (outlined).
  static const IconData work_history_outlined = IconData(0xf072b, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">work_off</i> &#x2014; material icon named "work off".
  static const IconData work_off = IconData(0xe6f3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">work_off</i> &#x2014; material icon named "work off" (sharp).
  static const IconData work_off_sharp = IconData(0xede6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">work_off</i> &#x2014; material icon named "work off" (round).
  static const IconData work_off_rounded = IconData(0xf02c5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">work_off</i> &#x2014; material icon named "work off" (outlined).
  static const IconData work_off_outlined = IconData(0xf4d3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">work_outline</i> &#x2014; material icon named "work outline".
  static const IconData work_outline = IconData(0xe6f4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">work_outline</i> &#x2014; material icon named "work outline" (sharp).
  static const IconData work_outline_sharp = IconData(0xede7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">work_outline</i> &#x2014; material icon named "work outline" (round).
  static const IconData work_outline_rounded = IconData(0xf02c6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">work_outline</i> &#x2014; material icon named "work outline" (outlined).
  static const IconData work_outline_outlined = IconData(0xf4d4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">workspace_premium</i> &#x2014; material icon named "workspace premium".
  static const IconData workspace_premium = IconData(0xf05ae, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">workspace_premium</i> &#x2014; material icon named "workspace premium" (sharp).
  static const IconData workspace_premium_sharp = IconData(0xf04b3, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">workspace_premium</i> &#x2014; material icon named "workspace premium" (round).
  static const IconData workspace_premium_rounded = IconData(0xf03c0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">workspace_premium</i> &#x2014; material icon named "workspace premium" (outlined).
  static const IconData workspace_premium_outlined = IconData(0xf06a1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">workspaces</i> &#x2014; material icon named "workspaces".
  static const IconData workspaces = IconData(0xe6f5, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">workspaces</i> &#x2014; material icon named "workspaces" (sharp).
  static const IconData workspaces_sharp = IconData(0xede9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">workspaces</i> &#x2014; material icon named "workspaces" (round).
  static const IconData workspaces_rounded = IconData(0xf02c8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">workspaces</i> &#x2014; material icon named "workspaces" (outlined).
  static const IconData workspaces_outlined = IconData(0xf4d6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">workspaces_filled</i> &#x2014; material icon named "workspaces filled".
  static const IconData workspaces_filled = IconData(0xe6f6, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">workspaces_outline</i> &#x2014; material icon named "workspaces outline".
  static const IconData workspaces_outline = IconData(0xe6f7, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wrap_text</i> &#x2014; material icon named "wrap text".
  static const IconData wrap_text = IconData(0xe6f8, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-sharp md-36">wrap_text</i> &#x2014; material icon named "wrap text" (sharp).
  static const IconData wrap_text_sharp = IconData(0xedea, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-round md-36">wrap_text</i> &#x2014; material icon named "wrap text" (round).
  static const IconData wrap_text_rounded = IconData(0xf02c9, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons-outlined md-36">wrap_text</i> &#x2014; material icon named "wrap text" (outlined).
  static const IconData wrap_text_outlined = IconData(0xf4d7, fontFamily: 'MaterialIcons', matchTextDirection: true);

  /// <i class="material-icons md-36">wrong_location</i> &#x2014; material icon named "wrong location".
  static const IconData wrong_location = IconData(0xe6f9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wrong_location</i> &#x2014; material icon named "wrong location" (sharp).
  static const IconData wrong_location_sharp = IconData(0xedeb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wrong_location</i> &#x2014; material icon named "wrong location" (round).
  static const IconData wrong_location_rounded = IconData(0xf02ca, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wrong_location</i> &#x2014; material icon named "wrong location" (outlined).
  static const IconData wrong_location_outlined = IconData(0xf4d8, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">wysiwyg</i> &#x2014; material icon named "wysiwyg".
  static const IconData wysiwyg = IconData(0xe6fa, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">wysiwyg</i> &#x2014; material icon named "wysiwyg" (sharp).
  static const IconData wysiwyg_sharp = IconData(0xedec, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">wysiwyg</i> &#x2014; material icon named "wysiwyg" (round).
  static const IconData wysiwyg_rounded = IconData(0xf02cb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">wysiwyg</i> &#x2014; material icon named "wysiwyg" (outlined).
  static const IconData wysiwyg_outlined = IconData(0xf4d9, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">yard</i> &#x2014; material icon named "yard".
  static const IconData yard = IconData(0xe6fb, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">yard</i> &#x2014; material icon named "yard" (sharp).
  static const IconData yard_sharp = IconData(0xeded, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">yard</i> &#x2014; material icon named "yard" (round).
  static const IconData yard_rounded = IconData(0xf02cc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">yard</i> &#x2014; material icon named "yard" (outlined).
  static const IconData yard_outlined = IconData(0xf4da, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">youtube_searched_for</i> &#x2014; material icon named "youtube searched for".
  static const IconData youtube_searched_for = IconData(0xe6fc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">youtube_searched_for</i> &#x2014; material icon named "youtube searched for" (sharp).
  static const IconData youtube_searched_for_sharp = IconData(0xedee, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">youtube_searched_for</i> &#x2014; material icon named "youtube searched for" (round).
  static const IconData youtube_searched_for_rounded = IconData(0xf02cd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">youtube_searched_for</i> &#x2014; material icon named "youtube searched for" (outlined).
  static const IconData youtube_searched_for_outlined = IconData(0xf4db, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">zoom_in</i> &#x2014; material icon named "zoom in".
  static const IconData zoom_in = IconData(0xe6fd, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">zoom_in</i> &#x2014; material icon named "zoom in" (sharp).
  static const IconData zoom_in_sharp = IconData(0xedef, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">zoom_in</i> &#x2014; material icon named "zoom in" (round).
  static const IconData zoom_in_rounded = IconData(0xf02ce, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">zoom_in</i> &#x2014; material icon named "zoom in" (outlined).
  static const IconData zoom_in_outlined = IconData(0xf4dc, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">zoom_in_map</i> &#x2014; material icon named "zoom in map".
  static const IconData zoom_in_map = IconData(0xf05af, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">zoom_in_map</i> &#x2014; material icon named "zoom in map" (sharp).
  static const IconData zoom_in_map_sharp = IconData(0xf04b4, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">zoom_in_map</i> &#x2014; material icon named "zoom in map" (round).
  static const IconData zoom_in_map_rounded = IconData(0xf03c1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">zoom_in_map</i> &#x2014; material icon named "zoom in map" (outlined).
  static const IconData zoom_in_map_outlined = IconData(0xf06a2, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">zoom_out</i> &#x2014; material icon named "zoom out".
  static const IconData zoom_out = IconData(0xe6fe, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">zoom_out</i> &#x2014; material icon named "zoom out" (sharp).
  static const IconData zoom_out_sharp = IconData(0xedf1, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">zoom_out</i> &#x2014; material icon named "zoom out" (round).
  static const IconData zoom_out_rounded = IconData(0xf02d0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">zoom_out</i> &#x2014; material icon named "zoom out" (outlined).
  static const IconData zoom_out_outlined = IconData(0xf4de, fontFamily: 'MaterialIcons');

  /// <i class="material-icons md-36">zoom_out_map</i> &#x2014; material icon named "zoom out map".
  static const IconData zoom_out_map = IconData(0xe6ff, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-sharp md-36">zoom_out_map</i> &#x2014; material icon named "zoom out map" (sharp).
  static const IconData zoom_out_map_sharp = IconData(0xedf0, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-round md-36">zoom_out_map</i> &#x2014; material icon named "zoom out map" (round).
  static const IconData zoom_out_map_rounded = IconData(0xf02cf, fontFamily: 'MaterialIcons');

  /// <i class="material-icons-outlined md-36">zoom_out_map</i> &#x2014; material icon named "zoom out map" (outlined).
  static const IconData zoom_out_map_outlined = IconData(0xf4dd, fontFamily: 'MaterialIcons');
  // END GENERATED ICONS
}
