text:
<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->

<!--
  Description: This xml file defines the valid mime types used
  by Tika. The mime types within this file are based on the types in the
  mime-types.xml file available in Apache Nutch.
-->
<mime-info>

    <!-- DEFAULT -->
    <mime-type type="application/octet-stream">
        <magic priority="50">
            <match value="\037\036" type="string" offset="0"/>
            <match value="017437" type="host16" offset="0"/>
            <match value="0x1fff" type="host16" offset="0"/>
            <match value="\377\037" type="string" offset="0"/>
            <match value="0145405" type="host16" offset="0"/>
        </magic>
        <glob pattern="*.bin"/>
    </mime-type>

    <mime-type type="text/plain">
        <magic priority="50">
            <match value="This is TeX," type="string" offset="0"/>
            <match value="This is METAFONT," type="string" offset="0"/>
        </magic>
        <glob pattern="*.txt"/>
        <glob pattern="*.asc"/>
        <glob pattern="*.nt"/>
        <glob pattern="INSTALL"/>
        <glob pattern="KEYS"/>
        <glob pattern="Makefile"/>
        <glob pattern="README"/>
        <glob pattern="abs-linkmap"/>
        <glob pattern="abs-menulinks"/>
    </mime-type>

    <mime-type type="application/xml">
        <alias type="text/xml"/>
        <magic priority="50">
            <match value="<?xml" type="string" offset="0"/>
            <match value="<?XML" type="string" offset="0"/>
            <match value="<!--" type="string" offset="0"/>
            <match value="0xFFFE3C003F0078006D006C00" type="string" offset="0"/>
            <match value="0xFEFF003C003F0078006D006C" type="string" offset="0"/>
        </magic>
        <glob pattern="*.xml"/>
        <glob pattern="*.xsl"/>
        <glob pattern="*.xsd"/>
        <sub-class-of type="text/plain"/>
    </mime-type>

    <!-- BEGIN: Semantic Web document mime types. -->

    <!-- RSS -->
    <mime-type type="application/rss+xml">
        <alias type="text/rss"/>
        <root-XML localName="rss"/>
        <root-XML namespaceURI="http://purl.org/rss/1.0/"/>
        <glob pattern="*.rss"/>
    </mime-type>

    <mime-type type="text/rdf+n3">
        <alias type="text/n3"/>
        <alias type="application/n3"/>
        <glob pattern="*.n3"/>
        <magic priority="50">
            <match value="@prefix" type="string" offset="0:64"/>
        </magic>
    </mime-type>

    <mime-type type="text/rdf+nq">
        <alias type="text/nq"/>
        <alias type="application/nq"/>
        <glob pattern="*.nq"/>
    </mime-type>

    <!-- Turtle -->
    <mime-type type="application/x-turtle">
        <alias type="text/turtle"/>
        <alias type="application/turtle"/>
        <glob pattern="*.ttl"/>
    </mime-type>

    <!-- RDF -->
    <mime-type type="application/rdf+xml">
        <sub-class-of type="application/xml"/>
        <root-XML localName="RDF"/>
        <root-XML localName="rdf"/>
        <root-XML namespaceURI="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
        <root-XML namespaceURI="http://purl.org/rss/1.0/"/>
        <alias type="text/rdf"/>
        <magic priority="50">
            <match value="<rdf:RDF" type="string" offset="0:64"/>
            <match value="<RDF" type="string" offset="0:64"/>
            <match value="xmlns:rdf" type="string" offset="0:64"/>
            <match value="*<DOCTYPE rdf:RDF" type="string" offset="0:120"/>
        </magic>
        <glob pattern="*.rdf"/>
        <glob pattern="*.rdfs"/>
        <glob pattern="*.xrdf"/>
        <glob pattern="*.owl"/>
        <glob pattern="*.rdfx"/>
    </mime-type>

    <!-- ATOM -->
    <mime-type type="application/atom+xml">
        <sub-class-of type="application/xml"/>
        <root-XML localName="feed"/>
        <root-XML namespaceURI="http://www.w3.org/2005/Atom/" localName="feed"/>
        <root-XML namespaceURI="http://www.w3.org/2005/Atom"  localName="feed"/>
    </mime-type>

    <!-- WSDL -->
    <mime-type type="application/x-wsdl">
        <sub-class-of type="application/xml"/>
        <root-XML localName="definitions"/>
        <root-XML namespaceURI="http://schemas.xmlsoap.org/wsdl/" localName="definitions"/>
        <glob pattern="*.wsdl"/>
    </mime-type>
    <!-- END Semantic Web document mime types. -->

    <mime-type type="text/html">
        <magic priority="50">
            <match value="<!DOCTYPE HTML" type="string" offset="0:64"/>
            <match value="<!doctype html" type="string" offset="0:64"/>
            <match value="<HEAD" type="string" offset="0:64"/>
            <match value="<head" type="string" offset="0:64"/>
            <match value="<TITLE" type="string" offset="0:64"/>
            <match value="<title" type="string" offset="0:64"/>
            <match value="<html" type="string" offset="0:64"/>
            <match value="<HTML" type="string" offset="0:64"/>
            <match value="<BODY" type="string" offset="0"/>
            <match value="<body" type="string" offset="0"/>
            <match value="<TITLE" type="string" offset="0"/>
            <match value="<title" type="string" offset="0"/>
            <match value="<!--" type="string" offset="0"/>
            <match value="<h1" type="string" offset="0"/>
            <match value="<H1" type="string" offset="0"/>
            <match value="<!doctype HTML" type="string" offset="0"/>
            <match value="<!DOCTYPE html" type="string" offset="0"/>
        </magic>
        <glob pattern="*.html"/>
        <glob pattern="*.htm"/>
    </mime-type>

    <mime-type type="application/xhtml+xml">
        <sub-class-of type="application/xml"/>
        <root-XML namespaceURI='http://www.w3.org/1999/xhtml'
                  localName='html'/>
        <glob pattern="*.xhtml"/>
        <magic priority="50">
            <match value="<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" type="string" offset="0:64"/>
        </magic>
    </mime-type>

    <!-- BEGIN: MS-Office documents -->
    <mime-type type="application/vnd.ms-powerpoint">
        <glob pattern="*.ppz"/>
        <glob pattern="*.ppt"/>
        <glob pattern="*.pps"/>
        <glob pattern="*.pot"/>
        <magic priority="50">
            <match value="0xcfd0e011" type="little32" offset="0"/>
        </magic>
    </mime-type>

    <mime-type type="application/vnd.ms-excel">
        <magic priority="50">
            <match value="Microsoft Excel 5.0 Worksheet" type="string"
                   offset="2080"/>
        </magic>
        <glob pattern="*.xls"/>
        <glob pattern="*.xlc"/>
        <glob pattern="*.xll"/>
        <glob pattern="*.xlm"/>
        <glob pattern="*.xlw"/>
        <glob pattern="*.xla"/>
        <glob pattern="*.xlt"/>
        <glob pattern="*.xld"/>
        <alias type="application/msexcel"/>
    </mime-type>

    <mime-type type="application/msword">
        <magic priority="50">
            <match value="\x31\xbe\x00\x00" type="string" offset="0"/>
            <match value="PO^Q`" type="string" offset="0"/>
            <match value="\376\067\0\043" type="string" offset="0"/>
            <match value="\333\245-\0\0\0" type="string" offset="0"/>
            <match value="Microsoft Word 6.0 Document" type="string"
                   offset="2080"/>
            <match value="Microsoft Word document data" type="string"
                   offset="2112"/>
        </magic>
        <glob pattern="*.doc"/>
        <alias type="application/vnd.ms-word"/>
    </mime-type>
    <!-- END: MS-Office documents -->

    <!--
         =====================================================================
         Open Document Format for Office Applications (OpenDocument) v1.0
         http://www.oasis-open.org/specs/index.php#opendocumentv1.0
         =====================================================================
     -->

    <mime-type type="application/vnd.oasis.opendocument.text">
        <comment>OpenDocument v1.0: Text document</comment>
        <alias type="application/x-vnd.oasis.opendocument.text"/>
        <glob pattern="*.odt"/>
        <magic>
            <match type="string" offset="0" value="PK">
                <match type="string" offset="30"
                       value="mimetypeapplication/vnd.oasis.opendocument.text"/>
            </match>
        </magic>
    </mime-type>

    <mime-type type="application/vnd.oasis.opendocument.text-template">
        <comment>OpenDocument v1.0: Text document used as template
        </comment>
        <alias type="application/x-vnd.oasis.opendocument.text-template"/>
        <glob pattern="*.ott"/>
        <magic>
            <match type="string" offset="0" value="PK">
                <match type="string" offset="30"
                       value="mimetypeapplication/vnd.oasis.opendocument.text-template"/>
            </match>
        </magic>
    </mime-type>

    <mime-type type="application/vnd.oasis.opendocument.graphics">
        <comment>OpenDocument v1.0: Graphics document (Drawing)
        </comment>
        <alias type="application/x-vnd.oasis.opendocument.graphics"/>
        <glob pattern="*.odg"/>
        <magic>
            <match type="string" offset="0" value="PK">
                <match type="string" offset="30"
                       value="mimetypeapplication/vnd.oasis.opendocument.graphics"/>
            </match>
        </magic>
    </mime-type>

    <mime-type type="application/vnd.oasis.opendocument.graphics-template">
        <comment>OpenDocument v1.0: Graphics document used as
            template
        </comment>
        <alias type="application/x-vnd.oasis.opendocument.graphics-template"/>
        <glob pattern="*.otg"/>
        <magic>
            <match type="string" offset="0" value="PK">
                <match type="string" offset="30"
                       value="mimetypeapplication/vnd.oasis.opendocument.graphics-template"/>
            </match>
        </magic>
    </mime-type>

    <mime-type type="application/vnd.oasis.opendocument.presentation">
        <comment>OpenDocument v1.0: Presentation document
        </comment>
        <alias type="application/x-vnd.oasis.opendocument.presentation"/>
        <glob pattern="*.odp"/>
        <magic>
            <match type="string" offset="0" value="PK">
                <match type="string" offset="30"
                       value="mimetypeapplication/vnd.oasis.opendocument.presentation"/>
            </match>
        </magic>
    </mime-type>

    <mime-type type="application/vnd.oasis.opendocument.presentation-template">
        <comment>OpenDocument v1.0: Presentation document used as
            template
        </comment>
        <alias type="application/x-vnd.oasis.opendocument.presentation-template"/>
        <glob pattern="*.otp"/>
        <magic>
            <match type="string" offset="0" value="PK">
                <match type="string" offset="30"
                       value="mimetypeapplication/vnd.oasis.opendocument.presentation-template"/>
            </match>
        </magic>
    </mime-type>

    <mime-type type="application/vnd.oasis.opendocument.spreadsheet">
        <comment>OpenDocument v1.0: Spreadsheet document</comment>
        <alias type="application/x-vnd.oasis.opendocument.spreadsheet"/>
        <glob pattern="*.ods"/>
        <magic>
            <match type="string" offset="0" value="PK">
                <match type="string" offset="30"
                       value="mimetypeapplication/vnd.oasis.opendocument.spreadsheet"/>
            </match>
        </magic>
    </mime-type>

    <mime-type type="application/vnd.oasis.opendocument.spreadsheet-template">
        <comment>OpenDocument v1.0: Spreadsheet document used as
            template
        </comment>
        <alias type="application/x-vnd.oasis.opendocument.spreadsheet-template"/>
        <glob pattern="*.ots"/>
        <magic>
            <match type="string" offset="0" value="PK">
                <match type="string" offset="30"
                       value="mimetypeapplication/vnd.oasis.opendocument.spreadsheet-template"/>
            </match>
        </magic>
    </mime-type>

    <mime-type type="application/vnd.oasis.opendocument.chart">
        <comment>OpenDocument v1.0: Chart document</comment>
        <alias type="application/x-vnd.oasis.opendocument.chart"/>
        <glob pattern="*.odc"/>
        <magic>
            <match type="string" offset="0" value="PK">
                <match type="string" offset="30"
                       value="mimetypeapplication/vnd.oasis.opendocument.chart"/>
            </match>
        </magic>
    </mime-type>

    <mime-type type="application/vnd.oasis.opendocument.chart-template">
        <comment>OpenDocument v1.0: Chart document used as
            template
        </comment>
        <alias type="application/x-vnd.oasis.opendocument.chart-template"/>
        <glob pattern="*.otc"/>
        <magic>
            <match type="string" offset="0" value="PK">
                <match type="string" offset="30"
                       value="mimetypeapplication/vnd.oasis.opendocument.chart-template"/>
            </match>
        </magic>
    </mime-type>

    <mime-type type="application/vnd.oasis.opendocument.image">
        <comment>OpenDocument v1.0: Image document</comment>
        <alias type="application/x-vnd.oasis.opendocument.image"/>
        <glob pattern="*.odi"/>
        <magic>
            <match type="string" offset="0" value="PK">
                <match type="string" offset="30"
                       value="mimetypeapplication/vnd.oasis.opendocument.image"/>
            </match>
        </magic>
    </mime-type>

    <mime-type type="application/vnd.oasis.opendocument.image-template">
        <comment>OpenDocument v1.0: Image document used as
            template
        </comment>
        <alias type="application/x-vnd.oasis.opendocument.image-template"/>
        <glob pattern="*.oti"/>
        <magic>
            <match type="string" offset="0" value="PK">
                <match type="string" offset="30"
                       value="mimetypeapplication/vnd.oasis.opendocument.image-template"/>
            </match>
        </magic>
    </mime-type>

    <mime-type type="application/vnd.oasis.opendocument.formula">
        <comment>OpenDocument v1.0: Formula document</comment>
        <alias type="application/x-vnd.oasis.opendocument.formula"/>
        <glob pattern="*.odf"/>
        <magic>
            <match type="string" offset="0" value="PK">
                <match type="string" offset="30"
                       value="mimetypeapplication/vnd.oasis.opendocument.formula"/>
            </match>
        </magic>
    </mime-type>

    <mime-type type="application/vnd.oasis.opendocument.formula-template">
        <comment>OpenDocument v1.0: Formula document used as
            template
        </comment>
        <alias type="application/x-vnd.oasis.opendocument.formula-template"/>
        <glob pattern="*.otf"/>
        <magic>
            <match type="string" offset="0" value="PK">
                <match type="string" offset="30"
                       value="mimetypeapplication/vnd.oasis.opendocument.formula-template"/>
            </match>
        </magic>
    </mime-type>

    <mime-type type="application/vnd.oasis.opendocument.text-master">
        <comment>OpenDocument v1.0: Global Text document</comment>
        <alias type="application/x-vnd.oasis.opendocument.text-master"/>
        <glob pattern="*.odm"/>
        <magic>
            <match type="string" offset="0" value="PK">
                <match type="string" offset="30"
                       value="mimetypeapplication/vnd.oasis.opendocument.text-master"/>
            </match>
        </magic>
    </mime-type>

    <mime-type type="application/vnd.oasis.opendocument.text-web">
        <comment>OpenDocument v1.0: Text document used as template
            for HTML documents
        </comment>
        <alias type="application/x-vnd.oasis.opendocument.text-web"/>
        <glob pattern="*.oth"/>
        <magic>
            <match type="string" offset="0" value="PK">
                <match type="string" offset="30"
                       value="mimetypeapplication/vnd.oasis.opendocument.text-web"/>
            </match>
        </magic>
    </mime-type>

    <!-- BEGIN: OSX Specific -->
    <mime-type type="application/mac-binhex40">
        <glob pattern="*.hqx"/>
    </mime-type>

    <mime-type type="application/mac-compactpro">
        <glob pattern="*.cpt"/>
    </mime-type>
    <!-- END: OSX Specific -->

    <mime-type type="application/rtf">
        <glob pattern="*.rtf"/>
        <alias type="text/rtf"/>
    </mime-type>

    <mime-type type="application/pdf">
        <magic priority="50">
            <match value="%PDF-" type="string" offset="0"/>
        </magic>
        <glob pattern="*.pdf"/>
        <alias type="application/x-pdf"/>
    </mime-type>

    <mime-type type="application/x-mif">
        <alias type="application/vnd.mif"/>
    </mime-type>

    <mime-type type="application/vnd.wap.wbxml">
        <glob pattern="*.wbxml"/>
    </mime-type>

    <mime-type type="application/vnd.wap.wmlc">
        <_comment>Compiled WML Document</_comment>
        <glob pattern="*.wmlc"/>
    </mime-type>

    <mime-type type="application/vnd.wap.wmlscriptc">
        <_comment>Compiled WML Script</_comment>
        <glob pattern="*.wmlsc"/>
    </mime-type>

    <mime-type type="text/vnd.wap.wmlscript">
        <_comment>WML Script</_comment>
        <glob pattern="*.wmls"/>
    </mime-type>

    <mime-type type="application/x-bzip">
        <alias type="application/x-bzip2"/>
    </mime-type>

    <mime-type type="application/x-bzip-compressed-tar">
        <glob pattern="*.tbz"/>
        <glob pattern="*.tbz2"/>
    </mime-type>

    <mime-type type="application/x-cdlink">
        <_comment>Virtual CD-ROM CD Image File</_comment>
        <glob pattern="*.vcd"/>
    </mime-type>

    <mime-type type="application/x-director">
        <_comment>Shockwave Movie</_comment>
        <glob pattern="*.dcr"/>
        <glob pattern="*.dir"/>
        <glob pattern="*.dxr"/>
    </mime-type>

    <mime-type type="application/x-futuresplash">
        <_comment>Macromedia FutureSplash File</_comment>
        <glob pattern="*.spl"/>
    </mime-type>

    <mime-type type="application/x-java">
        <alias type="application/java"/>
    </mime-type>

    <mime-type type="application/x-koan">
        <_comment>SSEYO Koan File</_comment>
        <glob pattern="*.skp"/>
        <glob pattern="*.skd"/>
        <glob pattern="*.skt"/>
        <glob pattern="*.skm"/>
    </mime-type>

    <mime-type type="application/x-latex">
        <_comment>LaTeX Source Document</_comment>
        <glob pattern="*.latex"/>
    </mime-type>

    <mime-type type="application/x-ms-dos-executable">
        <alias type="application/x-dosexec"/>
    </mime-type>

    <mime-type type="application/ogg">
        <alias type="application/x-ogg"/>
    </mime-type>

    <mime-type type="application/x-rar">
        <alias type="application/x-rar-compressed"/>
    </mime-type>

    <mime-type type="application/x-shellscript">
        <alias type="application/x-sh"/>
    </mime-type>

    <mime-type type="audio/midi">
        <glob pattern="*.kar"/>
    </mime-type>

    <mime-type type="audio/x-pn-realaudio">
        <alias type="audio/x-realaudio"/>
    </mime-type>

    <mime-type type="image/tiff">
        <magic priority="50">
            <match value="0x4d4d2a00" type="string" offset="0"/>
            <match value="0x49492a00" type="string" offset="0"/>
        </magic>
    </mime-type>

    <mime-type type="message/rfc822">
        <magic priority="50">
            <match type="string" value="Relay-Version:" offset="0"/>
            <match type="string" value="#! rnews" offset="0"/>
            <match type="string" value="N#! rnews" offset="0"/>
            <match type="string" value="Forward to" offset="0"/>
            <match type="string" value="Pipe to" offset="0"/>
            <match type="string" value="Return-Path:" offset="0"/>
            <match type="string" value="From:" offset="0"/>
            <match type="string" value="Message-ID:" offset="0"/>
            <match type="string" value="Date:" offset="0"/>
        </magic>
    </mime-type>

    <mime-type type="image/vnd.wap.wbmp">
        <_comment>Wireless Bitmap File Format</_comment>
        <glob pattern="*.wbmp"/>
    </mime-type>

    <mime-type type="image/x-psd">
        <alias type="image/photoshop"/>
    </mime-type>

    <mime-type type="image/x-xcf">
        <alias type="image/xcf"/>
        <magic priority="50">
            <match type="string" value="gimp xcf " offset="0"/>
        </magic>
    </mime-type>

    <mime-type type="model/iges">
        <_comment>
            Initial Graphics Exchange Specification Format
        </_comment>
        <glob pattern="*.igs"/>
        <glob pattern="*.iges"/>
    </mime-type>

    <mime-type type="model/mesh">
        <glob pattern="*.msh"/>
        <glob pattern="*.mesh"/>
        <glob pattern="*.silo"/>
    </mime-type>

    <mime-type type="model/vrml">
        <glob pattern="*.vrml"/>
    </mime-type>

    <mime-type type="text/x-tcl">
        <alias type="application/x-tcl"/>
    </mime-type>

    <mime-type type="text/x-tex">
        <alias type="application/x-tex"/>
    </mime-type>

    <mime-type type="text/x-texinfo">
        <alias type="application/x-texinfo"/>
    </mime-type>

    <mime-type type="text/x-troff-me">
        <alias type="application/x-troff-me"/>
    </mime-type>

    <mime-type type="video/vnd.mpegurl">
        <glob pattern="*.mxu"/>
    </mime-type>

    <mime-type type="x-conference/x-cooltalk">
        <_comment>Cooltalk Audio</_comment>
        <glob pattern="*.ice"/>
    </mime-type>

    <!-- ===================================================================== -->
    <!-- TIKA-85: http://www.apache.org/dev/svn-eol-style.txt                  -->
    <!-- ===================================================================== -->

    <mime-type type="image/x-icon">
        <glob pattern="*.ico"/>
    </mime-type>

    <mime-type type="image/jpeg">
        <glob pattern="*.jpg"/>
    </mime-type>

    <mime-type type="image/png">
        <glob pattern="*.png"/>
    </mime-type>

    <mime-type type="application/zip">
        <glob pattern="*.zip"/>
        <magic priority="50">
            <match type="string" value="PK" offset="0:2"/>
        </magic>
    </mime-type>

    <mime-type type="application/gzip">
        <glob pattern="*.gz"/>
        <glob pattern="*.tgz"/>
        <glob pattern="*.gzip"/>
        <!--
          <magic priority="50">
              <match type="host16" value="1f 8b 08" offset="0:2" />
          </magic>
        -->
    </mime-type>

     <!--
     <description>
     <mimeType>application/x-compress">
        <extensions>z" />
        <magicNumber encoding="hex">1f 9d 90</magicNumber>
     </mime-type>

     <description>
         <mimeType>application/bzip2">
         <extensions>bz2,tbz2" />
         <magicNumber encoding="hex">42 5a 68 39 31</magicNumber>
     </mime-type>

     <description>
         <mimeType>application/x-tar">
         <magicNumber encoding="string" offset="257">ustar</magicNumber>
         <extensions>tar" />
     </mime-type>

     <description>
         <mimeType>application/x-rar-compressed">
         <extensions>rar" />
         <magicNumber encoding="hex">52 61 72 21 1a</magicNumber>
     </mime-type>

     <description>
         <mimeType>application/stuffit">
         <extensions>sit" />
         <magicNumber encoding="string">SIT!</magicNumber>
     </mime-type>

     <description>
         <mimeType>application/binhex">
         <extensions>hqx" />
     </mime-type>
     -->

    <mime-type type="audio/basic">
        <glob pattern="*.au"/>
        <glob pattern="*.snd"/>
    </mime-type>

    <mime-type type="video/x-ms-asf">
        <glob pattern="*.asf"/>
        <magicNumber encoding="hex">30 26 b2 75 8e 66 cf 11 a6 d9 00 aa 00 62 ce 6c</magicNumber>
    </mime-type>

    <mime-type type="video/x-ms-asx">
        <glob pattern="*.asx"/>
        <magic priority="50">
            <match type="string" value="<asx" offset="0:64"/>
            <match type="string" value="<ASX" offset="0:64"/>
        </magic>
    </mime-type>

    <mime-type type="audio/x-ms-wax">
        <glob pattern="*.wax"/>
    </mime-type>

    <mime-type type="video/x-ms-wvx">
        <glob pattern="*.wvx"/>
    </mime-type>

    <mime-type type="video/x-ms-wmx">
        <glob pattern="*.wmx"/>
    </mime-type>

    <mime-type type="video/x-msvideo">
        <glob pattern="*.avi"/>
        <!--	<magicNumber encoding="hex" offset="8">41 56 49 20</magicNumber> -->
    </mime-type>

    <!--
          This MIME type was invented to let the wmv and wma media types
          share the magic number. Differentiation between these two files
          is only possible based on file name extension.
    -->

    <mime-type type="application/x-ms-wm">
        <magicNumber encoding="hex">30 26 b2 75 8e 66 cf 11 a6 d9 00 aa 00 62 ce 6c</magicNumber>
    </mime-type>

    <mime-type type="audio/x-ms-wma">
        <sub-class-of type="application/x-ms-wm"/>
        <glob pattern="*.wma"/>
    </mime-type>

    <mime-type type="video/x-ms-wmv">
        <sub-class-of type="application/x-ms-wm"/>
        <glob pattern="*.wmv"/>
        <glob pattern="*.wm"/>
    </mime-type>

    <mime-type type="video/quicktime">
        <glob pattern="*.mov"/>
        <!--  <magicNumber encoding="string" offset="4">moov</magicNumber> -->
    </mime-type>

    <mime-type type="video/mpeg">
        <glob pattern="*.mpg"/>
        <glob pattern="*.mpeg"/>
        <!--
      <magicNumber encoding="hex">00 00 01 b3</magicNumber>
      <magicNumber encoding="hex">00 00 01 ba</magicNumber> -->
    </mime-type>

    <mime-type type="application/x-shockwave-flash">
        <glob pattern="*.swf"/>
        <!--  <magicNumber encoding="hex">46 57 53</magicNumber>-->
    </mime-type>

    <mime-type type="application/x-ogg">
        <glob pattern="*.ogg"/>
        <magic priority="50">
            <match type="string" value="OggS" offset="0:64"/>
        </magic>
    </mime-type>

    <mime-type type="application/vnd.rn-realmedia">
        <glob pattern="*.rm"/>
        <glob pattern="*.ram"/>
        <magic priority="50">
            <match type="string" value=".RMF" offset="0:64"/>
            <match type="string" value="rtsp://" offset="0:64"/>
        </magic>
    </mime-type>

    <mime-type type="audio/x-wav">
        <glob pattern="*.wav"/>
        <magic priority="50">
            <match type="string" value="WAVE" offset="0:64"/>
        </magic>
    </mime-type>

    <mime-type type="audio/mpeg">
        <glob pattern="*.mp3"/>
        <glob pattern="*.mp2"/>
        <magic priority="50">
            <match type="string" value="ID3" offset="0:64"/>
        </magic>

    </mime-type>

    <mime-type type="audio/midi">
        <glob pattern="*.mid"/>
        <glob pattern="*.midi"/>
        <glob pattern="*.rmi"/>
        <magic priority="50">
            <match type="string" value="MThd" offset="0:64"/>
            <match type="string" value="RMI" offset="0:8"/>
        </magic>
    </mime-type>

    <mime-type type="video/x-msvideo">
        <glob pattern="*.avi"/>
        <!-- 	<magicNumber encoding="hex" offset="8">41 56 49 20</magicNumber> -->
    </mime-type>

    <mime-type type="video/mp4">
        <glob pattern="*.mp4"/>
        <glob pattern="*.mpg4"/>
        <glob pattern="*.m4v"/>
        <glob pattern="*.mp4v"/>
        <glob pattern="*.divx"/>
        <glob pattern="*.xvid"/>
        <glob pattern="*.264"/>
    </mime-type>

    <mime-type type="audio/mp4">
        <glob pattern="*.m4a"/>
        <glob pattern="*.m4p"/>
    </mime-type>

    <mime-type type="video/3gpp">
        <glob pattern="*.3gp"/>
        <glob pattern="*.3g2"/>
    </mime-type>

    <mime-type type="audio/x-aiff">
        <glob pattern="*.aiff"/>
        <glob pattern="*.aif"/>
        <glob pattern="*.aifc"/>
        <glob pattern="*.aiff"/>
        <magic priority="50">
            <match type="string" value="FORM" offset="0:64"/>
        </magic>
    </mime-type>

    <mime-type type="application/x-ms-wmd">
        <sub-class-of type="application/zip"/>
        <glob pattern="*.wmd"/>
    </mime-type>

    <mime-type type="video/x-flv">
        <glob pattern="*.flv"/>
        <magic priority="50">
            <match type="string" value="FLV" offset="0:64"/>
        </magic>
    </mime-type>

    <mime-type type="audio/flac">
        <glob pattern="*.flac"/>
        <!--<magicNumber encoding="hex">66 4c 61 43 00 00 00 22</magicNumber>-->
    </mime-type>

    <mime-type type="application/smil">
        <glob pattern="*.smi"/>
        <glob pattern="*.smil"/>
    </mime-type>
</mime-info>


text:
<?xml version="1.0" encoding="UTF-8" ?>

<!--
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~       http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="org.flowable.engine.impl.persistence.entity.ActivityInstanceEntityImpl">

  <!-- ACTIVITY INSTANCE INSERT -->

  <insert id="insertActivityInstance" parameterType="org.flowable.engine.impl.persistence.entity.ActivityInstanceEntityImpl">
      insert into ${prefix}ACT_RU_ACTINST (
        ID_,
        REV_,
        PROC_DEF_ID_,
        PROC_INST_ID_,
        EXECUTION_ID_,
        ACT_ID_,
        TASK_ID_,
        CALL_PROC_INST_ID_,
        ACT_NAME_,
        ACT_TYPE_,
        ASSIGNEE_,
        START_TIME_,
        END_TIME_,
        DURATION_,
        DELETE_REASON_,
        TENANT_ID_
      ) values (
        #{id ,jdbcType=VARCHAR},
        1,
        #{processDefinitionId, jdbcType=VARCHAR},
        #{processInstanceId, jdbcType=VARCHAR},
        #{executionId, jdbcType=VARCHAR},
        #{activityId ,jdbcType=VARCHAR},
        #{taskId ,jdbcType=VARCHAR},
        #{calledProcessInstanceId ,jdbcType=VARCHAR},
        #{activityName ,jdbcType=VARCHAR},
        #{activityType ,jdbcType=VARCHAR},
        #{assignee ,jdbcType=VARCHAR},
        #{startTime, jdbcType=TIMESTAMP},
        #{endTime, jdbcType=TIMESTAMP},
        #{durationInMillis ,jdbcType=BIGINT},
        #{deleteReason, jdbcType=VARCHAR},
        #{tenantId, jdbcType=VARCHAR}
      )
  </insert>

  <insert id="bulkInsertActivityInstance" parameterType="java.util.List">
      insert into ${prefix}ACT_RU_ACTINST (
        ID_,
        REV_,
        PROC_DEF_ID_,
        PROC_INST_ID_,
        EXECUTION_ID_,
        ACT_ID_,
        TASK_ID_,
        CALL_PROC_INST_ID_,
        ACT_NAME_,
        ACT_TYPE_,
        ASSIGNEE_,
        START_TIME_,
        END_TIME_,
        DURATION_,
        DELETE_REASON_,
        TENANT_ID_
      ) values
      <foreach collection="list" item="activityInstance" index="index" separator=",">
         (#{activityInstance.id ,jdbcType=VARCHAR},
          1,
          #{activityInstance.processDefinitionId, jdbcType=VARCHAR},
          #{activityInstance.processInstanceId, jdbcType=VARCHAR},
          #{activityInstance.executionId, jdbcType=VARCHAR},
          #{activityInstance.activityId ,jdbcType=VARCHAR},
          #{activityInstance.taskId ,jdbcType=VARCHAR},
          #{activityInstance.calledProcessInstanceId ,jdbcType=VARCHAR},
          #{activityInstance.activityName ,jdbcType=VARCHAR},
          #{activityInstance.activityType ,jdbcType=VARCHAR},
          #{activityInstance.assignee ,jdbcType=VARCHAR},
          #{activityInstance.startTime, jdbcType=TIMESTAMP},
          #{activityInstance.endTime, jdbcType=TIMESTAMP},
          #{activityInstance.durationInMillis ,jdbcType=BIGINT},
          #{activityInstance.deleteReason ,jdbcType=VARCHAR},
          #{activityInstance.tenantId, jdbcType=VARCHAR})
      </foreach>
  </insert>

  <insert id="bulkInsertActivityInstance" databaseId="oracle" parameterType="java.util.List">
      INSERT ALL
      <foreach collection="list" item="activityInstance" index="index">
        INTO ${prefix}ACT_RU_ACTINST (
          ID_,
          REV_,
          PROC_DEF_ID_,
          PROC_INST_ID_,
          EXECUTION_ID_,
          ACT_ID_,
          TASK_ID_,
          CALL_PROC_INST_ID_,
          ACT_NAME_,
          ACT_TYPE_,
          ASSIGNEE_,
          START_TIME_,
          END_TIME_,
          DURATION_,
          DELETE_REASON_,
          TENANT_ID_
        ) VALUES
           (#{activityInstance.id ,jdbcType=VARCHAR},
            1,
            #{activityInstance.processDefinitionId, jdbcType=VARCHAR},
            #{activityInstance.processInstanceId, jdbcType=VARCHAR},
            #{activityInstance.executionId, jdbcType=VARCHAR},
            #{activityInstance.activityId ,jdbcType=VARCHAR},
            #{activityInstance.taskId ,jdbcType=VARCHAR},
            #{activityInstance.calledProcessInstanceId ,jdbcType=VARCHAR},
            #{activityInstance.activityName ,jdbcType=VARCHAR},
            #{activityInstance.activityType ,jdbcType=VARCHAR},
            #{activityInstance.assignee ,jdbcType=VARCHAR},
            #{activityInstance.startTime, jdbcType=TIMESTAMP},
            #{activityInstance.endTime, jdbcType=TIMESTAMP},
            #{activityInstance.durationInMillis ,jdbcType=BIGINT},
            #{activityInstance.deleteReason ,jdbcType=VARCHAR},
            #{activityInstance.tenantId, jdbcType=VARCHAR})
      </foreach>
    SELECT * FROM dual
  </insert>

  <!-- ACTIVITY INSTANCE UPDATE -->

  <update id="updateActivityInstance" parameterType="org.flowable.engine.impl.persistence.entity.ActivityInstanceEntityImpl">
    update ${prefix}ACT_RU_ACTINST
    <set>
        REV_ = #{revisionNext, jdbcType=INTEGER},
        <if test="originalPersistentState.processDefinitionId != processDefinitionId">
            PROC_DEF_ID_ = #{processDefinitionId, jdbcType=VARCHAR},
        </if>
        <if test="originalPersistentState.executionId != executionId">
            EXECUTION_ID_ = #{executionId, jdbcType=VARCHAR},
        </if>
        <if test="originalPersistentState.taskId != taskId">
            TASK_ID_ = #{taskId, jdbcType=VARCHAR},
        </if>
        <if test="originalPersistentState.assignee != assignee">
            ASSIGNEE_ = #{assignee, jdbcType=VARCHAR},
        </if>
        <if test="originalPersistentState.endTime != endTime">
            END_TIME_ = #{endTime, jdbcType=VARCHAR},
        </if>
        <if test="originalPersistentState.durationInMillis != durationInMillis">
            DURATION_ = #{durationInMillis, jdbcType=VARCHAR},
        </if>
        <if test="originalPersistentState.deleteReason != deleteReason">
            DELETE_REASON_ = #{deleteReason, jdbcType=VARCHAR},
        </if>
        <if test="originalPersistentState.calledProcessInstanceId != calledProcessInstanceId">
            CALL_PROC_INST_ID_ = #{calledProcessInstanceId, jdbcType=VARCHAR}
        </if>
        <if test="originalPersistentState.activityId != activityId">
            ACT_ID_ = #{activityId, jdbcType=VARCHAR},
        </if>
        <if test="originalPersistentState.activityName != activityName">
            ACT_NAME_ = #{activityName, jdbcType=VARCHAR},
        </if>
    </set>
    where ID_ = #{id}
    and REV_ = #{revision, jdbcType=INTEGER}
</update>

  <!-- ACTIVITY INSTANCE DELETE -->

  <delete id="deleteActivityInstancesByProcessInstanceId">
    delete from ${prefix}ACT_RU_ACTINST where PROC_INST_ID_ = #{processInstanceId}
  </delete>

  <delete id="deleteActivityInstancesByProcessDefinitionId">
    delete from ${prefix}ACT_RU_ACTINST where PROC_DEF_ID_ = #{processDefinitionId}
  </delete>

  <!-- ACTIVITY INSTANCE RESULT MAP -->

  <resultMap id="ActivityInstanceResultMap" type="org.flowable.engine.impl.persistence.entity.ActivityInstanceEntityImpl">
    <id property="id" column="ID_" jdbcType="VARCHAR" />
    <result property="revision" column="REV_" jdbcType="INTEGER"/>
    <result property="processDefinitionId" column="PROC_DEF_ID_" jdbcType="VARCHAR" />
    <result property="processInstanceId" column="PROC_INST_ID_" jdbcType="VARCHAR" />
    <result property="executionId" column="EXECUTION_ID_" jdbcType="VARCHAR" />
    <result property="activityId" column="ACT_ID_" jdbcType="VARCHAR" />
    <result property="taskId" column="TASK_ID_" jdbcType="VARCHAR" />
    <result property="calledProcessInstanceId" column="CALL_PROC_INST_ID_" jdbcType="VARCHAR" />
    <result property="activityName" column="ACT_NAME_" jdbcType="VARCHAR" />
    <result property="activityType" column="ACT_TYPE_" jdbcType="VARCHAR" />
    <result property="assignee" column="ASSIGNEE_" jdbcType="VARCHAR" />
    <result property="startTime" column="START_TIME_" jdbcType="TIMESTAMP" />
    <result property="endTime" column="END_TIME_" jdbcType="TIMESTAMP" />
    <result property="durationInMillis" column="DURATION_" jdbcType="BIGINT" />
    <result property="deleteReason" column="DELETE_REASON_" jdbcType="VARCHAR" />
    <result property="tenantId" column="TENANT_ID_" jdbcType="VARCHAR" />
  </resultMap>

  <!-- ACTIVITY INSTANCE SELECT -->

  <select id="selectActivityInstance" resultMap="ActivityInstanceResultMap">
    select * from ${prefix}ACT_RU_ACTINST where ID_ = #{id}
  </select>

  <select id="selectActivityInstancesByQueryCriteria" parameterType="org.flowable.engine.impl.HistoricActivityInstanceQueryImpl" resultMap="ActivityInstanceResultMap">
    <if test="firstResult != null and firstResult >= 0">${limitBefore}</if>
    select RES.* <if test="firstResult != null and firstResult >= 0">${limitBetween}</if>
    <include refid="selectActivityInstancesByQueryCriteriaSql"/>
    ${orderBy}
    <if test="firstResult != null and firstResult >= 0">${limitAfter}</if>
  </select>

  <select id="selectActivityInstanceCountByQueryCriteria" parameterType="org.flowable.engine.impl.HistoricActivityInstanceQueryImpl" resultType="long">
    select count(RES.ID_)
    <include refid="selectActivityInstancesByQueryCriteriaSql"/>
  </select>

  <sql id="selectActivityInstancesByQueryCriteriaSql">
    from ${prefix}ACT_RU_ACTINST RES
    <where>
      <if test="processInstanceId != null">
        RES.PROC_INST_ID_ = #{processInstanceId}
      </if>
      <if test="activityInstanceId != null">
        and RES.ID_ = #{activityInstanceId}
      </if>
      <if test="executionId != null">
        and RES.EXECUTION_ID_ = #{executionId}
      </if>
      <if test="processDefinitionId != null">
        and RES.PROC_DEF_ID_ = #{processDefinitionId}
      </if>
      <if test="activityId != null">
        and RES.ACT_ID_ = #{activityId}
      </if>
      <if test="activityName != null">
        and RES.ACT_NAME_ = #{activityName}
      </if>
      <if test="activityType != null">
        and RES.ACT_TYPE_ = #{activityType}
      </if>
      <if test="assignee != null">
        and RES.ASSIGNEE_ = #{assignee}
      </if>
      <if test="tenantId != null">
        and RES.TENANT_ID_ = #{tenantId}
      </if>
      <if test="tenantIdLike != null">
        and RES.TENANT_ID_ like #{tenantIdLike}${wildcardEscapeClause}
      </if>
      <if test="withoutTenantId">
        and (RES.TENANT_ID_ = '' or RES.TENANT_ID_ is null)
      </if>
      <if test="unfinished">
        and RES.END_TIME_ is null
      </if>
      <if test="finished">
       and RES.END_TIME_ is not null
      </if>
      <if test="deleteReason != null">
        and RES.DELETE_REASON_ = #{deleteReason}
      </if>
      <if test="deleteReasonLike != null">
        and RES.DELETE_REASON_ like #{deleteReasonLike}${wildcardEscapeClause}
      </if>
    </where>
  </sql>

  <select id="selectActivityInstanceByNativeQuery" parameterType="java.util.Map" resultMap="ActivityInstanceResultMap">
  	<include refid="org.flowable.engine.db.common.selectByNativeQuery"/>
  </select>

  <select id="selectActivityInstanceCountByNativeQuery" parameterType="java.util.Map" resultType="long">
    ${sql}
  </select>

  <select id="selectUnfinishedActivityInstanceExecutionIdAndActivityId" parameterType="org.flowable.common.engine.impl.db.ListQueryParameterObject" resultMap="ActivityInstanceResultMap">
    select * from ${prefix}ACT_RU_ACTINST RES
    where EXECUTION_ID_ = #{parameter.executionId, jdbcType=VARCHAR} and ACT_ID_ = #{parameter.activityId, jdbcType=VARCHAR} and END_TIME_ is null
  </select>

  <select id="selectActivityInstanceExecutionIdAndActivityId" parameterType="org.flowable.common.engine.impl.db.ListQueryParameterObject" resultMap="ActivityInstanceResultMap">
    select * from ${prefix}ACT_RU_ACTINST RES
    where EXECUTION_ID_ = #{parameter.executionId, jdbcType=VARCHAR} and ACT_ID_ = #{parameter.activityId, jdbcType=VARCHAR}
  </select>

   <select id="selectUnfinishedActivityInstanceByProcessInstanceId" parameterType="org.flowable.common.engine.impl.db.ListQueryParameterObject" resultMap="ActivityInstanceResultMap">
    select * from ${prefix}ACT_RU_ACTINST RES
    where PROC_INST_ID_ = #{parameter.processInstanceId, jdbcType=VARCHAR} and END_TIME_ is null
  </select>

</mapper>

redpajama_set_name: RedPajamaGithub


text:
import atLibServices from '~services';

import actionGroup from '~components/action/action-group.directive';
import divider from '~components/utility/divider.directive';
import form from '~components/form/form.directive';
import formAction from '~components/form/action.directive';
import inputCheckbox from '~components/input/checkbox.directive';
import inputFile from '~components/input/file.directive';
import inputGroup from '~components/input/group.directive';
import inputLabel from '~components/input/label.directive';
import inputLookup from '~components/input/lookup.directive';
import inputMessage from '~components/input/message.directive';
import inputSecret from '~components/input/secret.directive';
import inputSelect from '~components/input/select.directive';
import inputSlider from '~components/input/slider.directive';
import inputText from '~components/input/text.directive';
import inputTextarea from '~components/input/textarea.directive';
import inputTextareaSecret from '~components/input/textarea-secret.directive';
import launchTemplate from '~components/launchTemplateButton/launchTemplateButton.component';
import layout from '~components/layout/layout.directive';
import list from '~components/list/list.directive';
import modal from '~components/modal/modal.directive';
import panel from '~components/panel/panel.directive';
import panelBody from '~components/panel/body.directive';
import panelHeading from '~components/panel/heading.directive';
import popover from '~components/popover/popover.directive';
import relaunch from '~components/relaunchButton/relaunchButton.component';
import row from '~components/list/row.directive';
import rowItem from '~components/list/row-item.directive';
import rowAction from '~components/list/row-action.directive';
import sideNav from '~components/layout/side-nav.directive';
import sideNavItem from '~components/layout/side-nav-item.directive';
import tab from '~components/tabs/tab.directive';
import tabGroup from '~components/tabs/group.directive';
import tag from '~components/tag/tag.directive';
import toggleTag from '~components/toggle-tag/toggle-tag.directive';
import topNavItem from '~components/layout/top-nav-item.directive';
import truncate from '~components/truncate/truncate.directive';
import atCodeMirror from '~components/code-mirror';
import card from '~components/cards/card.directive';
import cardGroup from '~components/cards/group.directive';

import BaseInputController from '~components/input/base.controller';
import ComponentsStrings from '~components/components.strings';

const MODULE_NAME = 'at.lib.components';

angular
    .module(MODULE_NAME, [
        atLibServices,
        atCodeMirror
    ])
    .directive('atActionGroup', actionGroup)
    .directive('atDivider', divider)
    .directive('atForm', form)
    .directive('atFormAction', formAction)
    .directive('atInputCheckbox', inputCheckbox)
    .directive('atInputFile', inputFile)
    .directive('atInputGroup', inputGroup)
    .directive('atInputLabel', inputLabel)
    .directive('atInputLookup', inputLookup)
    .directive('atInputMessage', inputMessage)
    .directive('atInputSecret', inputSecret)
    .directive('atInputSelect', inputSelect)
    .directive('atInputSlider', inputSlider)
    .directive('atInputText', inputText)
    .directive('atInputTextarea', inputTextarea)
    .directive('atInputTextareaSecret', inputTextareaSecret)
    .component('atLaunchTemplate', launchTemplate)
    .directive('atLayout', layout)
    .directive('atList', list)
    .component('atRelaunch', relaunch)
    .directive('atRow', row)
    .directive('atRowItem', rowItem)
    .directive('atRowAction', rowAction)
    .directive('atModal', modal)
    .directive('atPanel', panel)
    .directive('atPanelBody', panelBody)
    .directive('atPanelHeading', panelHeading)
    .directive('atPopover', popover)
    .directive('atSideNav', sideNav)
    .directive('atSideNavItem', sideNavItem)
    .directive('atTab', tab)
    .directive('atTabGroup', tabGroup)
    .directive('atTag', tag)
    .directive('atToggleTag', toggleTag)
    .directive('atTopNavItem', topNavItem)
    .directive('atTruncate', truncate)
    .directive('atCard', card)
    .directive('atCardGroup', cardGroup)
    .service('BaseInputController', BaseInputController)
    .service('ComponentsStrings', ComponentsStrings);

export default MODULE_NAME;


text:
namespace Dropbox.Api.Team
{
    using sys = System;
    using col = System.Collections.Generic;
    using re = System.Text.RegularExpressions;

    using enc = Dropbox.Api.Stone;

    /// <summary>
    /// <para>Input arguments that can be provided for most reports.</para>
    /// </summary>
    public class DateRange
    {
        #pragma warning disable 108

        /// <summary>
        /// <para>The encoder instance.</para>
        /// </summary>
        internal static enc.StructEncoder<DateRange> Encoder = new DateRangeEncoder();

        /// <summary>
        /// <para>The decoder instance.</para>
        /// </summary>
        internal static enc.StructDecoder<DateRange> Decoder = new DateRangeDecoder();

        /// <summary>
        /// <para>Initializes a new instance of the <see cref="DateRange" /> class.</para>
        /// </summary>
        /// <param name="startDate">Optional starting date (inclusive). If start_date is None
        /// or too long ago, this field will  be set to 6 months ago.</param>
        /// <param name="endDate">Optional ending date (exclusive).</param>
        public DateRange(sys.DateTime? startDate = null,
                         sys.DateTime? endDate = null)
        {
            this.StartDate = startDate;
            this.EndDate = endDate;
        }

        /// <summary>
        /// <para>Initializes a new instance of the <see cref="DateRange" /> class.</para>
        /// </summary>
        /// <remarks>This is to construct an instance of the object when
        /// deserializing.</remarks>
        [sys.ComponentModel.EditorBrowsable(sys.ComponentModel.EditorBrowsableState.Never)]
        public DateRange()
        {
        }

        /// <summary>
        /// <para>Optional starting date (inclusive). If start_date is None or too long ago,
        /// this field will  be set to 6 months ago.</para>
        /// </summary>
        public sys.DateTime? StartDate { get; protected set; }

        /// <summary>
        /// <para>Optional ending date (exclusive).</para>
        /// </summary>
        public sys.DateTime? EndDate { get; protected set; }

        #region Encoder class

        /// <summary>
        /// <para>Encoder for  <see cref="DateRange" />.</para>
        /// </summary>
        private class DateRangeEncoder : enc.StructEncoder<DateRange>
        {
            /// <summary>
            /// <para>Encode fields of given value.</para>
            /// </summary>
            /// <param name="value">The value.</param>
            /// <param name="writer">The writer.</param>
            public override void EncodeFields(DateRange value, enc.IJsonWriter writer)
            {
                if (value.StartDate != null)
                {
                    WriteProperty("start_date", value.StartDate.Value, writer, enc.DateTimeEncoder.Instance);
                }
                if (value.EndDate != null)
                {
                    WriteProperty("end_date", value.EndDate.Value, writer, enc.DateTimeEncoder.Instance);
                }
            }
        }

        #endregion

        #region Decoder class

        /// <summary>
        /// <para>Decoder for  <see cref="DateRange" />.</para>
        /// </summary>
        private class DateRangeDecoder : enc.StructDecoder<DateRange>
        {
            /// <summary>
            /// <para>Create a new instance of type <see cref="DateRange" />.</para>
            /// </summary>
            /// <returns>The struct instance.</returns>
            protected override DateRange Create()
            {
                return new DateRange();
            }

            /// <summary>
            /// <para>Set given field.</para>
            /// </summary>
            /// <param name="value">The field value.</param>
            /// <param name="fieldName">The field name.</param>
            /// <param name="reader">The json reader.</param>
            protected override void SetField(DateRange value, string fieldName, enc.IJsonReader reader)
            {
                switch (fieldName)
                {
                    case "start_date":
                        value.StartDate = enc.DateTimeDecoder.Instance.Decode(reader);
                        break;
                    case "end_date":
                        value.EndDate = enc.DateTimeDecoder.Instance.Decode(reader);
                        break;
                    default:
                        reader.Skip();
                        break;
                }
            }
        }

        #endregion
    }
}


text:
package com.github.blindpirate.gogradle.core.cache;

import com.github.blindpirate.gogradle.core.GolangPackage;
import com.github.blindpirate.gogradle.core.dependency.GolangDependency;
import com.github.blindpirate.gogradle.core.dependency.GolangDependencySet;
import com.github.blindpirate.gogradle.core.dependency.ResolvedDependency;
import com.github.blindpirate.gogradle.core.pack.PackagePathResolver;
import org.gradle.api.Project;

import javax.inject.Inject;
import javax.inject.Singleton;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

import static com.github.blindpirate.gogradle.GogradleGlobal.GOGRADLE_COMPATIBLE_VERSION;
import static com.github.blindpirate.gogradle.core.pack.DefaultPackagePathResolver.AllPackagePathResolvers;

@Singleton
public class PersistenceResolvedToDependenciesCache
        extends PersistenceCache<ResolvedDependency, GolangDependencySet> {

    private final PackagePathResolver packagePathResolver;

    @Inject
    public PersistenceResolvedToDependenciesCache(Project project,
                                                  @AllPackagePathResolvers PackagePathResolver packagePathResolver) {
        super(project, "PersistenceResolvedToDependenciesCache-"
                + GOGRADLE_COMPATIBLE_VERSION + ".bin");
        this.packagePathResolver = packagePathResolver;
    }

    @Override
    public void load() {
        super.load();
        removeCachedItemWhosePackageHasChanged();
    }

    private void removeCachedItemWhosePackageHasChanged() {
        List<Map.Entry> entriesToRemove = container.entrySet().stream()
                .filter(entry -> !shouldBePreserved(entry))
                .collect(Collectors.toList());
        entriesToRemove.forEach(entry -> container.remove(entry.getKey()));
    }

    private boolean shouldBePreserved(Map.Entry<ResolvedDependency, GolangDependencySet> entry) {
        List<GolangDependency> dependencies = entry.getValue().flatten();
        return dependencies.stream().allMatch(this::packageIsSame);
    }

    private boolean packageIsSame(GolangDependency dependency) {
        GolangPackage newPkg = packagePathResolver.produce(dependency.getName()).get();
        GolangPackage oldPkg = dependency.getPackage();
        return newPkg.equals(oldPkg);
    }
}


text:
#ifndef GUAC_COMMON_SSH_BUFFER_H
#define GUAC_COMMON_SSH_BUFFER_H

#include "config.h"

#include <openssl/bn.h>
#include <stdint.h>

/**
 * Writes the given byte to the given buffer, advancing the buffer pointer by
 * one byte.
 *
 * @param buffer
 *     The buffer to write to.
 *
 * @param value
 *     The value to write.
 */
void guac_common_ssh_buffer_write_byte(char** buffer, uint8_t value);

/**
 * Writes the given integer to the given buffer, advancing the buffer pointer
 * four bytes.
 *
 * @param buffer
 *     The buffer to write to.
 *
 * @param value
 *     The value to write.
 */
void guac_common_ssh_buffer_write_uint32(char** buffer, uint32_t value);

/**
 * Writes the given string and its length to the given buffer, advancing the
 * buffer pointer by the size of the length (four bytes) and the size of the
 * string.
 *
 * @param buffer
 *     The buffer to write to.
 *
 * @param string
 *     The string value to write.
 *
 * @param length
 *     The length of the string to write, in bytes.
 */
void guac_common_ssh_buffer_write_string(char** buffer, const char* string,
        int length);

/**
 * Writes the given BIGNUM the given buffer, advancing the buffer pointer by
 * the size of the length (four bytes) and the size of the BIGNUM.
 *
 * @param buffer
 *     The buffer to write to.
 *
 * @param value
 *     The value to write.
 */
void guac_common_ssh_buffer_write_bignum(char** buffer, BIGNUM* value);

/**
 * Writes the given data the given buffer, advancing the buffer pointer by the
 * given length.
 *
 * @param data
 *     The arbitrary data to write.
 *
 * @param length
 *     The length of data to write, in bytes.
 */
void guac_common_ssh_buffer_write_data(char** buffer, const char* data, int length);

/**
 * Reads a single byte from the given buffer, advancing the buffer by one byte.
 *
 * @param buffer
 *     The buffer to read from.
 *
 * @return
 *     The value read from the buffer.
 */
uint8_t guac_common_ssh_buffer_read_byte(char** buffer);

/**
 * Reads an integer from the given buffer, advancing the buffer by four bytes.
 *
 * @param buffer
 *     The buffer to read from.
 *
 * @return
 *     The value read from the buffer.
 */
uint32_t guac_common_ssh_buffer_read_uint32(char** buffer);

/**
 * Reads a string and its length from the given buffer, advancing the buffer
 * by the size of the length (four bytes) and the size of the string, and
 * returning a pointer to the buffer. The length of the string is stored in
 * the given int.
 *
 * @param buffer
 *     The buffer to read from.
 *
 * @param length
 *     A pointer to an integer into which the length of the read string will
 *     be stored.
 *
 * @return
 *     A pointer to the value within the buffer.
 */
char* guac_common_ssh_buffer_read_string(char** buffer, int* length);

#endif


text:
package no.kantega.publishing.api.forms.model;

public class DefaultFormValue implements FormValue {
    private String name;
    private String[] values;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getValuesAsString() {
        StringBuilder sb = new StringBuilder();
        if (values != null) {
            for (String v : values) {
                if (sb.length() > 0) {
                    sb.append(",");
                }
                sb.append(v);
            }
        }
        return sb.toString();
    }

    public void setValue(String value) {
        values = new String[]{value};
    }

    public String[] getValues() {
        return values;
    }

    public void setValues(String[] values) {
        this.values = values;
    }
}


text:
import { captureException } from "@sentry/react-native"
import { Registration_me$data } from "__generated__/Registration_me.graphql"
import { Registration_sale$data } from "__generated__/Registration_sale.graphql"
import {
  RegistrationCreateBidderMutation,
  RegistrationCreateBidderMutation$data,
} from "__generated__/RegistrationCreateBidderMutation.graphql"
import { RegistrationCreateCreditCardMutation } from "__generated__/RegistrationCreateCreditCardMutation.graphql"
import { RegistrationQuery } from "__generated__/RegistrationQuery.graphql"
import { RegistrationUpdateUserMutation } from "__generated__/RegistrationUpdateUserMutation.graphql"
import { FancyModalHeader } from "app/Components/FancyModal/FancyModalHeader"
import { Modal } from "app/Components/Modal"
import { LegacyNativeModules } from "app/NativeModules/LegacyNativeModules"
import { dismissModal, navigate } from "app/navigation/navigate"
import { defaultEnvironment } from "app/relay/createEnvironment"
import NavigatorIOS from "app/utils/__legacy_do_not_use__navigator-ios-shim"
import { bidderNeedsIdentityVerification } from "app/utils/auction/bidderNeedsIdentityVerification"
import renderWithLoadProgress from "app/utils/renderWithLoadProgress"
import { saleTime } from "app/utils/saleTime"
import { Schema, screenTrack } from "app/utils/track"
import { get, isEmpty } from "lodash"
import { Box, Button, Flex, LinkText, Text } from "palette"
import { Checkbox } from "palette/elements/Checkbox"
import React from "react"
import { ScrollView, View, ViewProps } from "react-native"
import {
  commitMutation,
  createFragmentContainer,
  graphql,
  QueryRenderer,
  RelayProp,
} from "react-relay"
import { PayloadError } from "relay-runtime"
// @ts-expect-error STRICTNESS_MIGRATION --- 🚨 Unsafe legacy code 🚨 Please delete this and fix any type errors if you have time 🙏
import stripe from "tipsi-stripe"
import { PaymentInfo } from "../Components/PaymentInfo"
import { PhoneInfo } from "../Components/PhoneInfo"
import { Address, PaymentCardTextFieldParams, StripeToken } from "../types"
import { RegistrationResult, RegistrationStatus } from "./RegistrationResult"

export interface RegistrationProps extends ViewProps {
  sale: Registration_sale$data
  me: Registration_me$data
  relay: RelayProp
  navigator?: NavigatorIOS
}

interface RegistrationState {
  billingAddress?: Address
  phoneNumber?: string
  creditCardFormParams?: PaymentCardTextFieldParams
  creditCardToken?: StripeToken
  conditionsOfSaleChecked: boolean
  isLoading: boolean
  missingInformation: "payment" | "phone" | null
  errorModalVisible: boolean
  errorModalDetailText: string
}

const Hint: React.FC = ({ children }) => (
  <Text variant="xs" fontSize={12} mb="4">
    {children}
  </Text>
)

@screenTrack({
  context_screen: Schema.PageNames.BidFlowRegistration,
  context_screen_owner_type: null,
})
export class Registration extends React.Component<RegistrationProps, RegistrationState> {
  constructor(props: RegistrationProps) {
    super(props)

    const { me } = this.props

    let missingInformation: RegistrationState["missingInformation"] = null
    if (!me.hasCreditCards) {
      missingInformation = "payment"
    } else if (!me.phoneNumber?.isValid) {
      missingInformation = "phone"
    }

    this.state = {
      // @ts-expect-error STRICTNESS_MIGRATION --- 🚨 Unsafe legacy code 🚨 Please delete this and fix any type errors if you have time 🙏
      billingAddress: null,
      // @ts-expect-error STRICTNESS_MIGRATION --- 🚨 Unsafe legacy code 🚨 Please delete this and fix any type errors if you have time 🙏
      creditCardToken: null,
      // @ts-expect-error STRICTNESS_MIGRATION --- 🚨 Unsafe legacy code 🚨 Please delete this and fix any type errors if you have time 🙏
      creditCardFormParams: null,
      conditionsOfSaleChecked: false,
      missingInformation,
      isLoading: false,
      errorModalVisible: false,
      errorModalDetailText: "",
      phoneNumber: me.phoneNumber?.display || "",
    }
  }

  canCreateBidder() {
    const {
      billingAddress,
      creditCardToken,
      conditionsOfSaleChecked,
      phoneNumber,
      missingInformation: requiredInfo,
    } = this.state
    if (!conditionsOfSaleChecked) {
      return false
    }

    if (requiredInfo === "payment") {
      return billingAddress && creditCardToken
    } else if (requiredInfo === "phone") {
      return phoneNumber
    }
    return true
  }

  onPressConditionsOfSale = () => {
    navigate("/conditions-of-sale", { modal: true })
  }

  onCreditCardAdded(token: StripeToken, params: PaymentCardTextFieldParams) {
    this.setState({ creditCardToken: token, creditCardFormParams: params })
  }

  onBillingAddressAdded(values: Address) {
    this.setState({ billingAddress: values })
  }

  onPhoneAdded(phoneNumber: string) {
    this.setState({ phoneNumber })
  }

  conditionsOfSalePressed() {
    this.setState({ conditionsOfSaleChecked: !this.state.conditionsOfSaleChecked })
  }

  async register() {
    this.setState({ isLoading: true })

    if (this.state.missingInformation === "payment") {
      await this.setupAddressCardAndBidder()
    } else if (this.state.missingInformation === "phone") {
      await this.setupPhoneNumberAndBidder()
    } else {
      await this.setupBidder()
    }
  }

  /** Make a bid */
  async setupBidder() {
    await this.createBidder()
  }

  async setupPhoneNumberAndBidder() {
    try {
      const { phoneNumber } = this.state
      await this.updatePhoneNumber(phoneNumber!)
      await this.createBidder()
    } catch (e) {
      if (__DEV__) {
        console.error(e)
      } else {
        captureException(e)
      }
      if (!this.state.errorModalVisible) {
        this.presentErrorModal(e as Error, null)
      }
    }
  }

  /** Run through the full flow setting up the user account and making a bid  */
  async setupAddressCardAndBidder() {
    try {
      await this.updatePhoneNumber(this.state.billingAddress!.phoneNumber)

      const token = await this.createTokenFromAddress()
      await this.createCreditCard(token)

      await this.createBidder()
    } catch (e) {
      if (__DEV__) {
        console.error(e)
      } else {
        captureException(e)
      }
      if (!this.state.errorModalVisible) {
        this.presentErrorModal(e as Error, null)
      }
    }
  }

  /**
   * Because the phone number lives on the user, not as credit card metadata, then we
   * need a separate call to update our User model to store that info
   */
  async updatePhoneNumber(phoneNumber: string) {
    const errorMessage = "There was a problem processing your phone number, please try again."

    return new Promise<void>((done, reject) => {
      commitMutation<RegistrationUpdateUserMutation>(this.props.relay.environment, {
        onCompleted: (_, errors) => {
          if (errors && errors.length) {
            this.presentErrorModal(errors, errorMessage)
            reject(errors)
          } else {
            done()
          }
        },
        onError: (error) => {
          this.presentErrorModal(error, errorMessage)
        },
        mutation: graphql`
          mutation RegistrationUpdateUserMutation($input: UpdateMyProfileInput!) {
            updateMyUserProfile(input: $input) {
              clientMutationId
              user {
                phone
              }
            }
          }
        `,
        variables: { input: { phone: phoneNumber } },
      })
    })
  }

  async createTokenFromAddress() {
    const { billingAddress, creditCardFormParams } = this.state

    return stripe.createTokenWithCard({
      ...creditCardFormParams,
      name: billingAddress!.fullName,
      addressLine1: billingAddress!.addressLine1,
      addressLine2: billingAddress!.addressLine2,
      addressCity: billingAddress!.city,
      addressState: billingAddress!.state,
      addressZip: billingAddress!.postalCode,
      addressCountry: billingAddress!.country.shortName,
    })
  }

  async createCreditCard(token: any) {
    return new Promise<void>((done) => {
      commitMutation<RegistrationCreateCreditCardMutation>(this.props.relay.environment, {
        onCompleted: (data, errors) => {
          if (data && get(data, "createCreditCard.creditCardOrError.creditCard")) {
            done()
          } else {
            if (isEmpty(errors)) {
              const mutationError =
                data && get(data, "createCreditCard.creditCardOrError.mutationError")
              this.presentErrorModal(mutationError, mutationError.detail)
            } else {
              this.presentErrorModal(errors, null)
            }
          }
        },
        onError: (errors) => this.presentErrorModal(errors, null),
        mutation: graphql`
          mutation RegistrationCreateCreditCardMutation($input: CreditCardInput!) {
            createCreditCard(input: $input) {
              creditCardOrError {
                ... on CreditCardMutationSuccess {
                  creditCard {
                    internalID
                    brand
                    name
                    last_digits: lastDigits
                    expiration_month: expirationMonth
                    expiration_year: expirationYear
                  }
                }
                ... on CreditCardMutationFailure {
                  mutationError {
                    type
                    message
                    detail
                  }
                }
              }
            }
          }
        `,
        variables: { input: { token: token.tokenId } },
      })
    })
  }

  createBidder() {
    commitMutation<RegistrationCreateBidderMutation>(this.props.relay.environment, {
      onCompleted: (results, errors) =>
        isEmpty(errors)
          ? this.presentRegistrationSuccess(results)
          : this.presentErrorModal(errors, null),
      onError: (error) => this.presentErrorModal(error, null),
      mutation: graphql`
        mutation RegistrationCreateBidderMutation($input: CreateBidderInput!) {
          createBidder(input: $input) {
            bidder {
              internalID
              qualified_for_bidding: qualifiedForBidding
              sale {
                registrationStatus {
                  qualifiedForBidding
                }
              }
            }
          }
        }
      `,
      // FIXME: Should this be slug or internalID?
      variables: { input: { saleID: this.props.sale.slug } },
    })
  }

  presentRegistrationSuccess({ createBidder }: RegistrationCreateBidderMutation$data) {
    LegacyNativeModules.ARNotificationsManager.postNotificationName(
      "ARAuctionArtworkRegistrationUpdated",
      {
        ARAuctionID: this.props.sale.slug,
      }
    )

    const qualifiedForBidding = createBidder?.bidder?.qualified_for_bidding
    if (qualifiedForBidding === true) {
      this.presentRegistrationResult(RegistrationStatus.RegistrationStatusComplete)
    } else {
      this.presentRegistrationResult(RegistrationStatus.RegistrationStatusPending)
    }
  }

  presentRegistrationResult(status: RegistrationStatus) {
    const { sale, me, navigator } = this.props

    navigator?.push({
      component: RegistrationResult,
      title: "",
      passProps: {
        status,
        // @ts-expect-error STRICTNESS_MIGRATION --- 🚨 Unsafe legacy code 🚨 Please delete this and fix any type errors if you have time 🙏
        needsIdentityVerification: bidderNeedsIdentityVerification({ sale, user: me }),
      },
    })

    this.setState({ isLoading: false })
  }

  presentErrorModal(
    errors: Error | ReadonlyArray<PayloadError> | null | undefined,
    mutationMessage: string | null
  ) {
    console.error("Registration.tsx", errors)

    const errorMessage =
      mutationMessage ||
      "There was a problem processing your information. Check your payment details and try again."
    this.setState({ errorModalVisible: true, errorModalDetailText: errorMessage, isLoading: false })
  }

  closeModal() {
    this.setState({ errorModalVisible: false })
  }

  renderRequiredInfoForm(): JSX.Element | undefined {
    const { missingInformation, isLoading } = this.state

    if (missingInformation === "payment") {
      return (
        <Flex flex={1} py={20}>
          <PaymentInfo
            navigator={isLoading ? ({ push: () => null } as any) : this.props.navigator}
            onCreditCardAdded={this.onCreditCardAdded.bind(this)}
            onBillingAddressAdded={this.onBillingAddressAdded.bind(this)}
            billingAddress={this.state.billingAddress}
            creditCardFormParams={this.state.creditCardFormParams}
            creditCardToken={this.state.creditCardToken}
          />
        </Flex>
      )
    } else if (missingInformation === "phone") {
      return (
        <Flex justifyContent="center" py={20}>
          <PhoneInfo
            navigator={isLoading ? ({ push: () => null } as any) : this.props.navigator}
            onPhoneAdded={this.onPhoneAdded.bind(this)}
            phoneNumber={this.state.phoneNumber}
          />
        </Flex>
      )
    }
  }

  renderRequiredInfoHint(): JSX.Element | undefined {
    const { missingInformation } = this.state
    if (missingInformation === "payment") {
      return <Hint>A valid credit card is required.</Hint>
    } else if (missingInformation === "phone") {
      return <Hint>A valid phone number is required.</Hint>
    }
  }

  render() {
    const { sale, me } = this.props
    const { isLoading, missingInformation: missingInformation } = this.state

    const saleTimeDetails = saleTime(sale)

    return (
      <ScrollView
        contentContainerStyle={{ flexGrow: 1, justifyContent: "space-between" }}
        keyboardDismissMode="on-drag"
      >
        <Box p={20} pt={25} flex={1}>
          <Text fontSize={16} variant="xs" mb="2">
            {sale.name}
          </Text>

          {saleTimeDetails.absolute !== null && (
            <Text fontSize={12} variant="sm-display" color="black60">
              {saleTimeDetails.absolute}
            </Text>
          )}
        </Box>

        {this.renderRequiredInfoForm()}
        <Flex px={20} flex={1}>
          {this.renderRequiredInfoHint()}
          {
            // @ts-expect-error STRICTNESS_MIGRATION --- 🚨 Unsafe legacy code 🚨 Please delete this and fix any type errors if you have time 🙏
            !!bidderNeedsIdentityVerification({ sale, user: me }) && (
              <>
                <Hint>This auction requires Artsy to verify your identity before bidding.</Hint>
                <Hint>
                  After you register, you'll receive an email with a link to complete identity
                  verification.
                </Hint>
              </>
            )
          }
          {
            // @ts-expect-error STRICTNESS_MIGRATION --- 🚨 Unsafe legacy code 🚨 Please delete this and fix any type errors if you have time 🙏
            !missingInformation && !bidderNeedsIdentityVerification({ sale, user: me }) && (
              <Hint>
                To complete your registration, please confirm that you agree to the Conditions of
                Sale.
              </Hint>
            )
          }
          <Modal
            visible={this.state.errorModalVisible}
            headerText="An error occurred"
            detailText={this.state.errorModalDetailText}
            closeModal={this.closeModal.bind(this)}
          />
          <Checkbox mb={4} onPress={() => this.conditionsOfSalePressed()} disabled={isLoading}>
            <Text variant="xs" fontSize="2">
              Agree to{" "}
              <LinkText onPress={isLoading ? undefined : this.onPressConditionsOfSale}>
                Conditions of Sale
              </LinkText>
            </Text>
          </Checkbox>
        </Flex>

        <Box m={4}>
          <Button
            onPress={this.canCreateBidder() ? this.register.bind(this) : null}
            loading={isLoading}
            block
            width={100}
            disabled={!this.canCreateBidder()}
          >
            Complete registration
          </Button>
        </Box>
      </ScrollView>
    )
  }
}

// const RequiredInfoForm: React.FC<{}> = ({navigator, onCreditrCardAdded, onBillingAddressAdded, billingAddress, creditCardFormParams, creditCardToken})

const RegistrationContainer = createFragmentContainer(Registration, {
  sale: graphql`
    fragment Registration_sale on Sale {
      slug
      endAt
      isPreview
      liveStartAt
      name
      startAt
      requireIdentityVerification
      timeZone
    }
  `,
  me: graphql`
    fragment Registration_me on Me {
      hasCreditCards
      identityVerified
      phoneNumber {
        isValid
        display(format: E164)
      }
    }
  `,
})

export const RegistrationQueryRenderer: React.FC<{ saleID: string; navigator: NavigatorIOS }> = ({
  saleID,
  navigator,
}) => {
  return (
    <View style={{ flex: 1 }}>
      <FancyModalHeader onLeftButtonPress={dismissModal} useXButton>
        Register to bid
      </FancyModalHeader>
      <QueryRenderer<RegistrationQuery>
        environment={defaultEnvironment}
        query={graphql`
          query RegistrationQuery($saleID: String!) {
            sale(id: $saleID) {
              name
              ...Registration_sale
            }
            me {
              ...Registration_me
            }
          }
        `}
        cacheConfig={{ force: true }} // We want to always fetch latest sale registration status, CC info, etc.
        variables={{
          saleID,
        }}
        render={renderWithLoadProgress((props) => (
          <RegistrationContainer {...(props as any)} navigator={navigator} />
        ))}
      />
    </View>
  )
}


text:
#ifndef SRC_COMPONENTS_APPLICATION_MANAGER_TEST_INCLUDE_APPLICATION_MANAGER_MOCK_RESUMPTION_DATA_PROCESSOR_H
#define SRC_COMPONENTS_APPLICATION_MANAGER_TEST_INCLUDE_APPLICATION_MANAGER_MOCK_RESUMPTION_DATA_PROCESSOR_H

#include "application_manager/application.h"
#include "application_manager/resumption/resume_ctrl.h"
#include "application_manager/resumption/resumption_data_processor.h"

#include "gmock/gmock.h"

namespace test {
namespace components {
namespace resumption_test {

class MockResumptionDataProcessor : public resumption::ResumptionDataProcessor {
 public:
  MOCK_METHOD3(Restore,
               void(application_manager::ApplicationSharedPtr application,
                    smart_objects::SmartObject& saved_app,
                    resumption::ResumeCtrl::ResumptionCallBack callback));
  MOCK_METHOD2(HandleOnTimeOut,
               void(const uint32_t correlation_id,
                    const hmi_apis::FunctionID::eType function_id));
  MOCK_METHOD2(SubscribeToResponse,
               void(const int32_t app_id,
                    const resumption::ResumptionRequest& request));
};

}  // namespace resumption_test
}  // namespace components
}  // namespace test

#endif  // SRC_COMPONENTS_APPLICATION_MANAGER_TEST_INCLUDE_APPLICATION_MANAGER_MOCK_RESUMPTION_DATA_PROCESSOR_H


text:
namespace MidiWatcher
{
    partial class Form1
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if(disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.channelListBox = new System.Windows.Forms.ListBox();
            this.channelMessageGroupBox = new System.Windows.Forms.GroupBox();
            this.startButton = new System.Windows.Forms.Button();
            this.stopButton = new System.Windows.Forms.Button();
            this.sysExGroupBox = new System.Windows.Forms.GroupBox();
            this.systemCommonGroupBox = new System.Windows.Forms.GroupBox();
            this.sysCommonListBox = new System.Windows.Forms.ListBox();
            this.sysRealtimeGroupBox = new System.Windows.Forms.GroupBox();
            this.sysRealtimeListBox = new System.Windows.Forms.ListBox();
            this.sysExRichTextBox = new System.Windows.Forms.RichTextBox();
            this.channelMessageGroupBox.SuspendLayout();
            this.sysExGroupBox.SuspendLayout();
            this.systemCommonGroupBox.SuspendLayout();
            this.sysRealtimeGroupBox.SuspendLayout();
            this.SuspendLayout();
            //
            // channelListBox
            //
            this.channelListBox.FormattingEnabled = true;
            this.channelListBox.Location = new System.Drawing.Point(6, 19);
            this.channelListBox.Name = "channelListBox";
            this.channelListBox.Size = new System.Drawing.Size(258, 147);
            this.channelListBox.TabIndex = 0;
            //
            // channelMessageGroupBox
            //
            this.channelMessageGroupBox.Controls.Add(this.channelListBox);
            this.channelMessageGroupBox.Location = new System.Drawing.Point(12, 12);
            this.channelMessageGroupBox.Name = "channelMessageGroupBox";
            this.channelMessageGroupBox.Size = new System.Drawing.Size(270, 176);
            this.channelMessageGroupBox.TabIndex = 1;
            this.channelMessageGroupBox.TabStop = false;
            this.channelMessageGroupBox.Text = "Channel Messages";
            //
            // startButton
            //
            this.startButton.Location = new System.Drawing.Point(574, 213);
            this.startButton.Name = "startButton";
            this.startButton.Size = new System.Drawing.Size(75, 23);
            this.startButton.TabIndex = 2;
            this.startButton.Text = "Start";
            this.startButton.UseVisualStyleBackColor = true;
            this.startButton.Click += new System.EventHandler(this.startButton_Click);
            //
            // stopButton
            //
            this.stopButton.Location = new System.Drawing.Point(574, 252);
            this.stopButton.Name = "stopButton";
            this.stopButton.Size = new System.Drawing.Size(75, 23);
            this.stopButton.TabIndex = 3;
            this.stopButton.Text = "Stop";
            this.stopButton.UseVisualStyleBackColor = true;
            this.stopButton.Click += new System.EventHandler(this.stopButton_Click);
            //
            // sysExGroupBox
            //
            this.sysExGroupBox.Controls.Add(this.sysExRichTextBox);
            this.sysExGroupBox.Location = new System.Drawing.Point(288, 12);
            this.sysExGroupBox.Name = "sysExGroupBox";
            this.sysExGroupBox.Size = new System.Drawing.Size(367, 176);
            this.sysExGroupBox.TabIndex = 4;
            this.sysExGroupBox.TabStop = false;
            this.sysExGroupBox.Text = "SysEx Messages";
            //
            // systemCommonGroupBox
            //
            this.systemCommonGroupBox.Controls.Add(this.sysCommonListBox);
            this.systemCommonGroupBox.Location = new System.Drawing.Point(12, 194);
            this.systemCommonGroupBox.Name = "systemCommonGroupBox";
            this.systemCommonGroupBox.Size = new System.Drawing.Size(270, 176);
            this.systemCommonGroupBox.TabIndex = 5;
            this.systemCommonGroupBox.TabStop = false;
            this.systemCommonGroupBox.Text = "System Common Messages";
            //
            // sysCommonListBox
            //
            this.sysCommonListBox.FormattingEnabled = true;
            this.sysCommonListBox.Location = new System.Drawing.Point(6, 19);
            this.sysCommonListBox.Name = "sysCommonListBox";
            this.sysCommonListBox.Size = new System.Drawing.Size(258, 147);
            this.sysCommonListBox.TabIndex = 0;
            //
            // sysRealtimeGroupBox
            //
            this.sysRealtimeGroupBox.Controls.Add(this.sysRealtimeListBox);
            this.sysRealtimeGroupBox.Location = new System.Drawing.Point(294, 194);
            this.sysRealtimeGroupBox.Name = "sysRealtimeGroupBox";
            this.sysRealtimeGroupBox.Size = new System.Drawing.Size(268, 176);
            this.sysRealtimeGroupBox.TabIndex = 6;
            this.sysRealtimeGroupBox.TabStop = false;
            this.sysRealtimeGroupBox.Text = "System Realtime Messages";
            //
            // sysRealtimeListBox
            //
            this.sysRealtimeListBox.FormattingEnabled = true;
            this.sysRealtimeListBox.Location = new System.Drawing.Point(6, 19);
            this.sysRealtimeListBox.Name = "sysRealtimeListBox";
            this.sysRealtimeListBox.Size = new System.Drawing.Size(258, 147);
            this.sysRealtimeListBox.TabIndex = 0;
            //
            // sysExRichTextBox
            //
            this.sysExRichTextBox.Location = new System.Drawing.Point(6, 19);
            this.sysExRichTextBox.Name = "sysExRichTextBox";
            this.sysExRichTextBox.Size = new System.Drawing.Size(355, 147);
            this.sysExRichTextBox.TabIndex = 7;
            this.sysExRichTextBox.Text = "";
            //
            // Form1
            //
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(667, 382);
            this.Controls.Add(this.sysRealtimeGroupBox);
            this.Controls.Add(this.systemCommonGroupBox);
            this.Controls.Add(this.sysExGroupBox);
            this.Controls.Add(this.stopButton);
            this.Controls.Add(this.startButton);
            this.Controls.Add(this.channelMessageGroupBox);
            this.Name = "Form1";
            this.Text = "Midi Watcher";
            this.channelMessageGroupBox.ResumeLayout(false);
            this.sysExGroupBox.ResumeLayout(false);
            this.systemCommonGroupBox.ResumeLayout(false);
            this.sysRealtimeGroupBox.ResumeLayout(false);
            this.ResumeLayout(false);

        }

        #endregion

        private System.Windows.Forms.ListBox channelListBox;
        private System.Windows.Forms.GroupBox channelMessageGroupBox;
        private System.Windows.Forms.Button startButton;
        private System.Windows.Forms.Button stopButton;
        private System.Windows.Forms.GroupBox sysExGroupBox;
        private System.Windows.Forms.GroupBox systemCommonGroupBox;
        private System.Windows.Forms.ListBox sysCommonListBox;
        private System.Windows.Forms.GroupBox sysRealtimeGroupBox;
        private System.Windows.Forms.ListBox sysRealtimeListBox;
        private System.Windows.Forms.RichTextBox sysExRichTextBox;
    }
}


text:
{% include base.html %}

          {{ site.title }}

{{ site.description }}

      Home

      {% comment %}
        The code below dynamically generates a sidebar nav of pages with
        `layout: page` in the front-matter. See readme for usage.
      {% endcomment %}

      {% assign pages_list = site.pages %}
      {% for node in pages_list %}
        {% if node.title != null %}
          {% if node.layout == "page" %}
            {{ node.title }}
          {% endif %}
        {% endif %}
      {% endfor %}

      GitHub project
      Currently v{{ site.version }}

        progbits.org by David Windsor is licensed under a Creative Commons Attribution 4.0 International License.


text:
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright 2015 Red Hat, Inc. and/or its affiliates.
  ~
  ~ Licensed under the Apache License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0
  -->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.wildfly.swarm</groupId>
    <artifactId>build-parent</artifactId>
    <version>2017.8.0-SNAPSHOT</version>
    <relativePath>../../../build-parent/pom.xml</relativePath>
  </parent>

  <groupId>org.wildfly.swarm</groupId>
  <artifactId>security</artifactId>

  <name>Security</name>
  <description>Security</description>

  <properties>
    <swarm.fraction.internal>true</swarm.fraction.internal>
    <swarm.fraction.stability>stable</swarm.fraction.stability>
  </properties>

  <build>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
      </resource>
    </resources>
  </build>

  <dependencies>
    <dependency>
      <groupId>org.wildfly.swarm</groupId>
      <artifactId>container</artifactId>
    </dependency>
    <dependency>
      <groupId>org.wildfly.swarm</groupId>
      <artifactId>logging</artifactId>
    </dependency>
    <dependency>
      <groupId>org.wildfly.swarm</groupId>
      <artifactId>ee</artifactId>
    </dependency>
    <!-- Meta SPI -->
    <dependency>
      <groupId>org.wildfly.swarm</groupId>
      <artifactId>meta-spi</artifactId>
    </dependency>
    <dependency>
      <groupId>org.wildfly.core</groupId>
      <artifactId>wildfly-core-feature-pack</artifactId>
      <type>zip</type>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <groupId>*</groupId>
          <artifactId>*</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.wildfly</groupId>
      <artifactId>wildfly-servlet-feature-pack</artifactId>
      <type>zip</type>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <groupId>*</groupId>
          <artifactId>*</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <!-- provided dependencies -->
    <dependency>
      <groupId>org.jboss.spec.javax.annotation</groupId>
      <artifactId>jboss-annotations-api_1.2_spec</artifactId>
    </dependency>

    <dependency>
      <groupId>org.jboss</groupId>
      <artifactId>jboss-dmr</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.wildfly.core</groupId>
      <artifactId>wildfly-controller</artifactId>
      <scope>test</scope>
    </dependency>

  </dependencies>

</project>


text: void raptor_user_linux_init(void);