Apache Flex Compiler
Copyright 2012-2017 The Apache Software Foundation

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).

The Initial Developer of the Original Code, known as Adobe Flex,
is Adobe Systems Incorporated (http://www.adobe.com/).
    Copyright 2003 - 2012 Adobe Systems Incorporated. All Rights Reserved.

The flex-compiler-oem compiler contains code written by Jeff Dyer at: 
    Copyright Mountain View Compiler Company (1998-2003).

