// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

import 'dart:io';

void main() {
  print(FileMode.append);
  print(FileMode.read);
  print(FileMode.write);
  print(FileMode.writeOnly);
  print(FileMode.writeOnlyAppend);
  print(HttpStatus.continue_);
  print(HttpStatus.switchingProtocols);
  print(HttpStatus.ok);
  print(HttpStatus.created);
  print(HttpStatus.accepted);
  print(HttpStatus.nonAuthoritativeInformation);
  print(HttpStatus.noContent);
  print(HttpStatus.resetContent);
  print(HttpStatus.partialContent);
  print(HttpStatus.multipleChoices);
  print(HttpStatus.movedPermanently);
  print(HttpStatus.found);
  print(HttpStatus.movedTemporarily);
  print(HttpStatus.seeOther);
  print(HttpStatus.notModified);
  print(HttpStatus.useProxy);
  print(HttpStatus.temporaryRedirect);
  print(HttpStatus.badRequest);
  print(HttpStatus.unauthorized);
  print(HttpStatus.paymentRequired);
  print(HttpStatus.forbidden);
  print(HttpStatus.notFound);
  print(HttpStatus.methodNotAllowed);
  print(HttpStatus.notAcceptable);
  print(HttpStatus.proxyAuthenticationRequired);
  print(HttpStatus.requestTimeout);
  print(HttpStatus.conflict);
  print(HttpStatus.gone);
  print(HttpStatus.lengthRequired);
  print(HttpStatus.preconditionFailed);
  print(HttpStatus.requestEntityTooLarge);
  print(HttpStatus.requestUriTooLong);
  print(HttpStatus.unsupportedMediaType);
  print(HttpStatus.requestedRangeNotSatisfiable);
  print(HttpStatus.expectationFailed);
  print(HttpStatus.upgradeRequired);
  print(HttpStatus.internalServerError);
  print(HttpStatus.notImplemented);
  print(HttpStatus.badGateway);
  print(HttpStatus.serviceUnavailable);
  print(HttpStatus.gatewayTimeout);
  print(HttpStatus.httpVersionNotSupported);
  print(HttpStatus.networkConnectTimeoutError);
  print(systemEncoding);
  print(StdioType.terminal);
  print(StdioType.pipe);
  print(StdioType.file);
  print(StdioType.other);
  print(ProcessStartMode.normal);
  print(ProcessStartMode.inheritStdio);
  print(ProcessStartMode.detached);
  print(ProcessStartMode.detachedWithStdio);
  print(ProcessSignal.sighup);
  print(ProcessSignal.sigint);
  print(ProcessSignal.sigquit);
  print(ProcessSignal.sigill);
  print(ProcessSignal.sigtrap);
  print(ProcessSignal.sigabrt);
  print(ProcessSignal.sigbus);
  print(ProcessSignal.sigfpe);
  print(ProcessSignal.sigkill);
  print(ProcessSignal.sigusr1);
  print(ProcessSignal.sigsegv);
  print(ProcessSignal.sigusr2);
  print(ProcessSignal.sigpipe);
  print(ProcessSignal.sigalrm);
  print(ProcessSignal.sigterm);
  print(ProcessSignal.sigchld);
  print(ProcessSignal.sigcont);
  print(ProcessSignal.sigstop);
  print(ProcessSignal.sigtstp);
  print(ProcessSignal.sigttin);
  print(ProcessSignal.sigttou);
  print(ProcessSignal.sigurg);
  print(ProcessSignal.sigxcpu);
  print(ProcessSignal.sigxfsz);
  print(ProcessSignal.sigvtalrm);
  print(ProcessSignal.sigprof);
  print(ProcessSignal.sigwinch);
  print(ProcessSignal.sigpoll);
  print(ProcessSignal.sigsys);
  print(InternetAddressType.IPv4);
  print(InternetAddressType.IPv6);
  print(InternetAddressType.any);
  print(InternetAddress.loopbackIPv4);
  print(InternetAddress.loopbackIPv6);
  print(InternetAddress.anyIPv4);
  print(InternetAddress.anyIPv6);
  print(SocketDirection.receive);
  print(SocketDirection.send);
  print(SocketDirection.both);
  print(SocketOption.tcpNoDelay);
  print(RawSocketEvent.read);
  print(RawSocketEvent.write);
  print(RawSocketEvent.readClosed);
  print(RawSocketEvent.closed);
  print(FileSystemEntityType.file);
  print(FileSystemEntityType.directory);
  print(FileSystemEntityType.link);
  print(FileSystemEntityType.notFound);
  print(FileSystemEvent.create);
  print(FileSystemEvent.modify);
  print(FileSystemEvent.delete);
  print(FileSystemEvent.move);
  print(FileSystemEvent.all);
  print(ZLibOption.minWindowBits);
  print(ZLibOption.maxWindowBits);
  print(ZLibOption.defaultWindowBits);
  print(ZLibOption.minLevel);
  print(ZLibOption.maxLevel);
  print(ZLibOption.defaultLevel);
  print(ZLibOption.minMemLevel);
  print(ZLibOption.maxMemLevel);
  print(ZLibOption.defaultMemLevel);
  print(ZLibOption.strategyFiltered);
  print(ZLibOption.strategyHuffmanOnly);
  print(ZLibOption.strategyRle);
  print(ZLibOption.strategyFixed);
  print(ZLibOption.strategyDefault);
  print(zlib);
  print(gzip);
  print(FileLock.shared);
  print(FileLock.exclusive);
  print(FileLock.blockingShared);
  print(FileLock.blockingExclusive);
  print(WebSocketStatus.normalClosure);
  print(WebSocketStatus.goingAway);
  print(WebSocketStatus.protocolError);
  print(WebSocketStatus.unsupportedData);
  print(WebSocketStatus.reserved1004);
  print(WebSocketStatus.noStatusReceived);
  print(WebSocketStatus.abnormalClosure);
  print(WebSocketStatus.invalidFramePayloadData);
  print(WebSocketStatus.policyViolation);
  print(WebSocketStatus.messageTooBig);
  print(WebSocketStatus.missingMandatoryExtension);
  print(WebSocketStatus.internalServerError);
  print(WebSocketStatus.reserved1015);
  print(CompressionOptions.compressionDefault);
  print(CompressionOptions.compressionOff);
  print(WebSocket.connecting);
  print(WebSocket.open);
  print(WebSocket.closing);
  print(WebSocket.closed);
  print(HttpHeaders.acceptHeader);
  print(HttpHeaders.acceptCharsetHeader);
  print(HttpHeaders.acceptEncodingHeader);
  print(HttpHeaders.acceptLanguageHeader);
  print(HttpHeaders.acceptRangesHeader);
  print(HttpHeaders.ageHeader);
  print(HttpHeaders.allowHeader);
  print(HttpHeaders.authorizationHeader);
  print(HttpHeaders.cacheControlHeader);
  print(HttpHeaders.connectionHeader);
  print(HttpHeaders.contentEncodingHeader);
  print(HttpHeaders.contentLanguageHeader);
  print(HttpHeaders.contentLengthHeader);
  print(HttpHeaders.contentLocationHeader);
  print(HttpHeaders.contentMD5Header);
  print(HttpHeaders.contentRangeHeader);
  print(HttpHeaders.contentTypeHeader);
  print(HttpHeaders.dateHeader);
  print(HttpHeaders.etagHeader);
  print(HttpHeaders.expectHeader);
  print(HttpHeaders.expiresHeader);
  print(HttpHeaders.fromHeader);
  print(HttpHeaders.hostHeader);
  print(HttpHeaders.ifMatchHeader);
  print(HttpHeaders.ifModifiedSinceHeader);
  print(HttpHeaders.ifNoneMatchHeader);
  print(HttpHeaders.ifRangeHeader);
  print(HttpHeaders.ifUnmodifiedSinceHeader);
  print(HttpHeaders.lastModifiedHeader);
  print(HttpHeaders.locationHeader);
  print(HttpHeaders.maxForwardsHeader);
  print(HttpHeaders.pragmaHeader);
  print(HttpHeaders.proxyAuthenticateHeader);
  print(HttpHeaders.proxyAuthorizationHeader);
  print(HttpHeaders.rangeHeader);
  print(HttpHeaders.refererHeader);
  print(HttpHeaders.retryAfterHeader);
  print(HttpHeaders.serverHeader);
  print(HttpHeaders.teHeader);
  print(HttpHeaders.trailerHeader);
  print(HttpHeaders.transferEncodingHeader);
  print(HttpHeaders.upgradeHeader);
  print(HttpHeaders.userAgentHeader);
  print(HttpHeaders.varyHeader);
  print(HttpHeaders.viaHeader);
  print(HttpHeaders.warningHeader);
  print(HttpHeaders.wwwAuthenticateHeader);
  print(HttpHeaders.cookieHeader);
  print(HttpHeaders.setCookieHeader);
  print(HttpHeaders.generalHeaders);
  print(HttpHeaders.entityHeaders);
  print(HttpHeaders.responseHeaders);
  print(HttpHeaders.requestHeaders);
  print(ContentType.text);
  print(ContentType.html);
  print(ContentType.json);
  print(ContentType.binary);
  print(HttpClient.defaultHttpPort);
  print(HttpClient.defaultHttpsPort);
}
