



<!DOCTYPE html>
<html lang="en" class="">
  <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# object: http://ogp.me/ns/object# article: http://ogp.me/ns/article# profile: http://ogp.me/ns/profile#">
    <meta charset='utf-8'>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta http-equiv="Content-Language" content="en">
    
    
    <title>hammer.js/hammer.min.map at master · hammerjs/hammer.js · GitHub</title>
    <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">
    <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
    <link rel="apple-touch-icon" sizes="57x57" href="/apple-touch-icon-114.png">
    <link rel="apple-touch-icon" sizes="114x114" href="/apple-touch-icon-114.png">
    <link rel="apple-touch-icon" sizes="72x72" href="/apple-touch-icon-144.png">
    <link rel="apple-touch-icon" sizes="144x144" href="/apple-touch-icon-144.png">
    <meta property="fb:app_id" content="1401488693436528">

      <meta content="@github" name="twitter:site" /><meta content="summary" name="twitter:card" /><meta content="hammerjs/hammer.js" name="twitter:title" /><meta content="hammer.js - A javascript library for multi-touch gestures :// You can touch this" name="twitter:description" /><meta content="https://avatars0.githubusercontent.com/u/7997161?v=2&amp;s=400" name="twitter:image:src" />
<meta content="GitHub" property="og:site_name" /><meta content="object" property="og:type" /><meta content="https://avatars0.githubusercontent.com/u/7997161?v=2&amp;s=400" property="og:image" /><meta content="hammerjs/hammer.js" property="og:title" /><meta content="https://github.com/hammerjs/hammer.js" property="og:url" /><meta content="hammer.js - A javascript library for multi-touch gestures :// You can touch this" property="og:description" />

      <meta name="browser-stats-url" content="/_stats">
    <link rel="assets" href="https://assets-cdn.github.com/">
    <link rel="conduit-xhr" href="https://ghconduit.com:25035">
    

    <meta name="msapplication-TileImage" content="/windows-tile.png">
    <meta name="msapplication-TileColor" content="#ffffff">
    <meta name="selected-link" value="repo_source" data-pjax-transient>
      <meta name="google-analytics" content="UA-3769691-2">

    <meta content="collector.githubapp.com" name="octolytics-host" /><meta content="collector-cdn.github.com" name="octolytics-script-host" /><meta content="github" name="octolytics-app-id" /><meta content="80BB5002:5B17:173FD871:542056AB" name="octolytics-dimension-request_id" />
    <meta content="Rails, view, blob#show" name="analytics-event" />

    
    
    <link rel="icon" type="image/x-icon" href="https://assets-cdn.github.com/favicon.ico">


    <meta content="authenticity_token" name="csrf-param" />
<meta content="XpnLqEhYdBZzARuQAEaxzRidQD3ZXJn+jXJ6ZhRgEvrdE8k26aKcqvND6xP4UFUbbts0WLY6wWXVSc2uqeebdg==" name="csrf-token" />

    <link href="https://assets-cdn.github.com/assets/github-b83b8eb08bbe9393c7a5d777e6a86ffe4372ab2d.css" media="all" rel="stylesheet" type="text/css" />
    <link href="https://assets-cdn.github.com/assets/github2-8a02a6514a13bd3bd1f75720d1c5b4f3c30f14cd.css" media="all" rel="stylesheet" type="text/css" />
    


    <meta http-equiv="x-pjax-version" content="b563df14b3139f35f510339ff195c476">

      
  <meta name="description" content="hammer.js - A javascript library for multi-touch gestures :// You can touch this">
  <meta name="go-import" content="github.com/hammerjs/hammer.js git https://github.com/hammerjs/hammer.js.git">

  <meta content="7997161" name="octolytics-dimension-user_id" /><meta content="hammerjs" name="octolytics-dimension-user_login" /><meta content="3602123" name="octolytics-dimension-repository_id" /><meta content="hammerjs/hammer.js" name="octolytics-dimension-repository_nwo" /><meta content="true" name="octolytics-dimension-repository_public" /><meta content="false" name="octolytics-dimension-repository_is_fork" /><meta content="3602123" name="octolytics-dimension-repository_network_root_id" /><meta content="hammerjs/hammer.js" name="octolytics-dimension-repository_network_root_nwo" />
  <link href="https://github.com/hammerjs/hammer.js/commits/master.atom" rel="alternate" title="Recent Commits to hammer.js:master" type="application/atom+xml">

  </head>


  <body class="logged_out  env-production linux vis-public page-blob">
    <a href="#start-of-content" tabindex="1" class="accessibility-aid js-skip-to-content">Skip to content</a>
    <div class="wrapper">
      
      
      
      


      
      <div class="header header-logged-out">
  <div class="container clearfix">

    <a class="header-logo-wordmark" href="https://github.com/" ga-data-click="(Logged out) Header, go to homepage, icon:logo-wordmark">
      <span class="mega-octicon octicon-logo-github"></span>
    </a>

    <div class="header-actions">
        <a class="button primary" href="/join" data-ga-click="(Logged out) Header, clicked Sign up, text:sign-up">Sign up</a>
      <a class="button signin" href="/login?return_to=%2Fhammerjs%2Fhammer.js%2Fblob%2Fmaster%2Fhammer.min.map" data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in">Sign in</a>
    </div>

    <div class="site-search repo-scope js-site-search">
      <form accept-charset="UTF-8" action="/hammerjs/hammer.js/search" class="js-site-search-form" data-global-search-url="/search" data-repo-search-url="/hammerjs/hammer.js/search" method="get"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /></div>
  <input type="text"
    class="js-site-search-field is-clearable"
    data-hotkey="s"
    name="q"
    placeholder="Search"
    data-global-scope-placeholder="Search GitHub"
    data-repo-scope-placeholder="Search"
    tabindex="1"
    autocapitalize="off">
  <div class="scope-badge">This repository</div>
</form>
    </div>

      <ul class="header-nav left">
          <li class="header-nav-item">
            <a class="header-nav-link" href="/explore" data-ga-click="(Logged out) Header, go to explore, text:explore">Explore</a>
          </li>
          <li class="header-nav-item">
            <a class="header-nav-link" href="/features" data-ga-click="(Logged out) Header, go to features, text:features">Features</a>
          </li>
          <li class="header-nav-item">
            <a class="header-nav-link" href="https://enterprise.github.com/" data-ga-click="(Logged out) Header, go to enterprise, text:enterprise">Enterprise</a>
          </li>
          <li class="header-nav-item">
            <a class="header-nav-link" href="/blog" data-ga-click="(Logged out) Header, go to blog, text:blog">Blog</a>
          </li>
      </ul>

  </div>
</div>



      <div id="start-of-content" class="accessibility-aid"></div>
          <div class="site" itemscope itemtype="http://schema.org/WebPage">
    <div id="js-flash-container">
      
    </div>
    <div class="pagehead repohead instapaper_ignore readability-menu">
      <div class="container">
        
<ul class="pagehead-actions">


  <li>
      <a href="/login?return_to=%2Fhammerjs%2Fhammer.js"
    class="minibutton with-count star-button tooltipped tooltipped-n"
    aria-label="You must be signed in to star a repository" rel="nofollow">
    <span class="octicon octicon-star"></span>
    Star
  </a>

    <a class="social-count js-social-count" href="/hammerjs/hammer.js/stargazers">
      8,879
    </a>

  </li>

    <li>
      <a href="/login?return_to=%2Fhammerjs%2Fhammer.js"
        class="minibutton with-count js-toggler-target fork-button tooltipped tooltipped-n"
        aria-label="You must be signed in to fork a repository" rel="nofollow">
        <span class="octicon octicon-repo-forked"></span>
        Fork
      </a>
      <a href="/hammerjs/hammer.js/network" class="social-count">
        1,442
      </a>
    </li>
</ul>

        <h1 itemscope itemtype="http://data-vocabulary.org/Breadcrumb" class="entry-title public">
          <span class="mega-octicon octicon-repo"></span>
          <span class="author"><a href="/hammerjs" class="url fn" itemprop="url" rel="author"><span itemprop="title">hammerjs</span></a></span><!--
       --><span class="path-divider">/</span><!--
       --><strong><a href="/hammerjs/hammer.js" class="js-current-repository js-repo-home-link">hammer.js</a></strong>

          <span class="page-context-loader">
            <img alt="" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />
          </span>

        </h1>
      </div><!-- /.container -->
    </div><!-- /.repohead -->

    <div class="container">
      <div class="repository-with-sidebar repo-container new-discussion-timeline  ">
        <div class="repository-sidebar clearfix">
            
<div class="sunken-menu vertical-right repo-nav js-repo-nav js-repository-container-pjax js-octicon-loaders" data-issue-count-url="/hammerjs/hammer.js/issues/counts">
  <div class="sunken-menu-contents">
    <ul class="sunken-menu-group">
      <li class="tooltipped tooltipped-w" aria-label="Code">
        <a href="/hammerjs/hammer.js" aria-label="Code" class="selected js-selected-navigation-item sunken-menu-item" data-hotkey="g c" data-pjax="true" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches /hammerjs/hammer.js">
          <span class="octicon octicon-code"></span> <span class="full-word">Code</span>
          <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />
</a>      </li>

        <li class="tooltipped tooltipped-w" aria-label="Issues">
          <a href="/hammerjs/hammer.js/issues" aria-label="Issues" class="js-selected-navigation-item sunken-menu-item js-disable-pjax" data-hotkey="g i" data-selected-links="repo_issues repo_labels repo_milestones /hammerjs/hammer.js/issues">
            <span class="octicon octicon-issue-opened"></span> <span class="full-word">Issues</span>
            <span class="js-issue-replace-counter"></span>
            <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />
</a>        </li>

      <li class="tooltipped tooltipped-w" aria-label="Pull Requests">
        <a href="/hammerjs/hammer.js/pulls" aria-label="Pull Requests" class="js-selected-navigation-item sunken-menu-item js-disable-pjax" data-hotkey="g p" data-selected-links="repo_pulls /hammerjs/hammer.js/pulls">
            <span class="octicon octicon-git-pull-request"></span> <span class="full-word">Pull Requests</span>
            <span class="js-pull-replace-counter"></span>
            <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />
</a>      </li>


        <li class="tooltipped tooltipped-w" aria-label="Wiki">
          <a href="/hammerjs/hammer.js/wiki" aria-label="Wiki" class="js-selected-navigation-item sunken-menu-item js-disable-pjax" data-hotkey="g w" data-selected-links="repo_wiki /hammerjs/hammer.js/wiki">
            <span class="octicon octicon-book"></span> <span class="full-word">Wiki</span>
            <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />
</a>        </li>
    </ul>
    <div class="sunken-menu-separator"></div>
    <ul class="sunken-menu-group">

      <li class="tooltipped tooltipped-w" aria-label="Pulse">
        <a href="/hammerjs/hammer.js/pulse/weekly" aria-label="Pulse" class="js-selected-navigation-item sunken-menu-item" data-pjax="true" data-selected-links="pulse /hammerjs/hammer.js/pulse/weekly">
          <span class="octicon octicon-pulse"></span> <span class="full-word">Pulse</span>
          <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />
</a>      </li>

      <li class="tooltipped tooltipped-w" aria-label="Graphs">
        <a href="/hammerjs/hammer.js/graphs" aria-label="Graphs" class="js-selected-navigation-item sunken-menu-item" data-pjax="true" data-selected-links="repo_graphs repo_contributors /hammerjs/hammer.js/graphs">
          <span class="octicon octicon-graph"></span> <span class="full-word">Graphs</span>
          <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />
</a>      </li>
    </ul>


  </div>
</div>

              <div class="only-with-full-nav">
                
  
<div class="clone-url open"
  data-protocol-type="http"
  data-url="/users/set_protocol?protocol_selector=http&amp;protocol_type=clone">
  <h3><span class="text-emphasized">HTTPS</span> clone URL</h3>
  <div class="input-group">
    <input type="text" class="input-mini input-monospace js-url-field"
           value="https://github.com/hammerjs/hammer.js.git" readonly="readonly">
    <span class="input-group-button">
      <button aria-label="Copy to clipboard" class="js-zeroclipboard minibutton zeroclipboard-button" data-clipboard-text="https://github.com/hammerjs/hammer.js.git" data-copied-hint="Copied!" type="button"><span class="octicon octicon-clippy"></span></button>
    </span>
  </div>
</div>

  
<div class="clone-url "
  data-protocol-type="subversion"
  data-url="/users/set_protocol?protocol_selector=subversion&amp;protocol_type=clone">
  <h3><span class="text-emphasized">Subversion</span> checkout URL</h3>
  <div class="input-group">
    <input type="text" class="input-mini input-monospace js-url-field"
           value="https://github.com/hammerjs/hammer.js" readonly="readonly">
    <span class="input-group-button">
      <button aria-label="Copy to clipboard" class="js-zeroclipboard minibutton zeroclipboard-button" data-clipboard-text="https://github.com/hammerjs/hammer.js" data-copied-hint="Copied!" type="button"><span class="octicon octicon-clippy"></span></button>
    </span>
  </div>
</div>


<p class="clone-options">You can clone with
      <a href="#" class="js-clone-selector" data-protocol="http">HTTPS</a>
      or <a href="#" class="js-clone-selector" data-protocol="subversion">Subversion</a>.
  <a href="https://help.github.com/articles/which-remote-url-should-i-use" class="help tooltipped tooltipped-n" aria-label="Get help on which URL is right for you.">
    <span class="octicon octicon-question"></span>
  </a>
</p>



                <a href="/hammerjs/hammer.js/archive/master.zip"
                   class="minibutton sidebar-button"
                   aria-label="Download the contents of hammerjs/hammer.js as a zip file"
                   title="Download the contents of hammerjs/hammer.js as a zip file"
                   rel="nofollow">
                  <span class="octicon octicon-cloud-download"></span>
                  Download ZIP
                </a>
              </div>
        </div><!-- /.repository-sidebar -->

        <div id="js-repo-pjax-container" class="repository-content context-loader-container" data-pjax-container>
          

<a href="/hammerjs/hammer.js/blob/e3f9ce4d9e428ce76475973ee0fdfb7725d99da6/hammer.min.map" class="hidden js-permalink-shortcut" data-hotkey="y">Permalink</a>

<!-- blob contrib key: blob_contributors:v21:392b7a11314e82bf165138e37d47c585 -->

<div class="file-navigation">
  
<div class="select-menu js-menu-container js-select-menu left">
  <span class="minibutton select-menu-button js-menu-target css-truncate" data-hotkey="w"
    data-master-branch="master"
    data-ref="master"
    title="master"
    role="button" aria-label="Switch branches or tags" tabindex="0" aria-haspopup="true">
    <span class="octicon octicon-git-branch"></span>
    <i>branch:</i>
    <span class="js-select-button css-truncate-target">master</span>
  </span>

  <div class="select-menu-modal-holder js-menu-content js-navigation-container" data-pjax aria-hidden="true">

    <div class="select-menu-modal">
      <div class="select-menu-header">
        <span class="select-menu-title">Switch branches/tags</span>
        <span class="octicon octicon-x js-menu-close" role="button" aria-label="Close"></span>
      </div> <!-- /.select-menu-header -->

      <div class="select-menu-filters">
        <div class="select-menu-text-filter">
          <input type="text" aria-label="Filter branches/tags" id="context-commitish-filter-field" class="js-filterable-field js-navigation-enable" placeholder="Filter branches/tags">
        </div>
        <div class="select-menu-tabs">
          <ul>
            <li class="select-menu-tab">
              <a href="#" data-tab-filter="branches" class="js-select-menu-tab">Branches</a>
            </li>
            <li class="select-menu-tab">
              <a href="#" data-tab-filter="tags" class="js-select-menu-tab">Tags</a>
            </li>
          </ul>
        </div><!-- /.select-menu-tabs -->
      </div><!-- /.select-menu-filters -->

      <div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="branches">

        <div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring">


            <div class="select-menu-item js-navigation-item ">
              <span class="select-menu-item-icon octicon octicon-check"></span>
              <a href="/hammerjs/hammer.js/blob/1.1.x/hammer.min.map"
                 data-name="1.1.x"
                 data-skip-pjax="true"
                 rel="nofollow"
                 class="js-navigation-open select-menu-item-text css-truncate-target"
                 title="1.1.x">1.1.x</a>
            </div> <!-- /.select-menu-item -->
            <div class="select-menu-item js-navigation-item selected">
              <span class="select-menu-item-icon octicon octicon-check"></span>
              <a href="/hammerjs/hammer.js/blob/master/hammer.min.map"
                 data-name="master"
                 data-skip-pjax="true"
                 rel="nofollow"
                 class="js-navigation-open select-menu-item-text css-truncate-target"
                 title="master">master</a>
            </div> <!-- /.select-menu-item -->
        </div>

          <div class="select-menu-no-results">Nothing to show</div>
      </div> <!-- /.select-menu-list -->

      <div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="tags">
        <div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring">


            <div class="select-menu-item js-navigation-item ">
              <span class="select-menu-item-icon octicon octicon-check"></span>
              <a href="/hammerjs/hammer.js/tree/v1.0.5/hammer.min.map"
                 data-name="v1.0.5"
                 data-skip-pjax="true"
                 rel="nofollow"
                 class="js-navigation-open select-menu-item-text css-truncate-target"
                 title="v1.0.5">v1.0.5</a>
            </div> <!-- /.select-menu-item -->
            <div class="select-menu-item js-navigation-item ">
              <span class="select-menu-item-icon octicon octicon-check"></span>
              <a href="/hammerjs/hammer.js/tree/v1.0.4/hammer.min.map"
                 data-name="v1.0.4"
                 data-skip-pjax="true"
                 rel="nofollow"
                 class="js-navigation-open select-menu-item-text css-truncate-target"
                 title="v1.0.4">v1.0.4</a>
            </div> <!-- /.select-menu-item -->
            <div class="select-menu-item js-navigation-item ">
              <span class="select-menu-item-icon octicon octicon-check"></span>
              <a href="/hammerjs/hammer.js/tree/v1.0.3/hammer.min.map"
                 data-name="v1.0.3"
                 data-skip-pjax="true"
                 rel="nofollow"
                 class="js-navigation-open select-menu-item-text css-truncate-target"
                 title="v1.0.3">v1.0.3</a>
            </div> <!-- /.select-menu-item -->
            <div class="select-menu-item js-navigation-item ">
              <span class="select-menu-item-icon octicon octicon-check"></span>
              <a href="/hammerjs/hammer.js/tree/v1.0.2/hammer.min.map"
                 data-name="v1.0.2"
                 data-skip-pjax="true"
                 rel="nofollow"
                 class="js-navigation-open select-menu-item-text css-truncate-target"
                 title="v1.0.2">v1.0.2</a>
            </div> <!-- /.select-menu-item -->
            <div class="select-menu-item js-navigation-item ">
              <span class="select-menu-item-icon octicon octicon-check"></span>
              <a href="/hammerjs/hammer.js/tree/v1.0.1/hammer.min.map"
                 data-name="v1.0.1"
                 data-skip-pjax="true"
                 rel="nofollow"
                 class="js-navigation-open select-menu-item-text css-truncate-target"
                 title="v1.0.1">v1.0.1</a>
            </div> <!-- /.select-menu-item -->
            <div class="select-menu-item js-navigation-item ">
              <span class="select-menu-item-icon octicon octicon-check"></span>
              <a href="/hammerjs/hammer.js/tree/v1.0.0/hammer.min.map"
                 data-name="v1.0.0"
                 data-skip-pjax="true"
                 rel="nofollow"
                 class="js-navigation-open select-menu-item-text css-truncate-target"
                 title="v1.0.0">v1.0.0</a>
            </div> <!-- /.select-menu-item -->
            <div class="select-menu-item js-navigation-item ">
              <span class="select-menu-item-icon octicon octicon-check"></span>
              <a href="/hammerjs/hammer.js/tree/2.0.3/hammer.min.map"
                 data-name="2.0.3"
                 data-skip-pjax="true"
                 rel="nofollow"
                 class="js-navigation-open select-menu-item-text css-truncate-target"
                 title="2.0.3">2.0.3</a>
            </div> <!-- /.select-menu-item -->
            <div class="select-menu-item js-navigation-item ">
              <span class="select-menu-item-icon octicon octicon-check"></span>
              <a href="/hammerjs/hammer.js/tree/2.0.2/hammer.min.map"
                 data-name="2.0.2"
                 data-skip-pjax="true"
                 rel="nofollow"
                 class="js-navigation-open select-menu-item-text css-truncate-target"
                 title="2.0.2">2.0.2</a>
            </div> <!-- /.select-menu-item -->
            <div class="select-menu-item js-navigation-item ">
              <span class="select-menu-item-icon octicon octicon-check"></span>
              <a href="/hammerjs/hammer.js/tree/2.0.1/hammer.min.map"
                 data-name="2.0.1"
                 data-skip-pjax="true"
                 rel="nofollow"
                 class="js-navigation-open select-menu-item-text css-truncate-target"
                 title="2.0.1">2.0.1</a>
            </div> <!-- /.select-menu-item -->
            <div class="select-menu-item js-navigation-item ">
              <span class="select-menu-item-icon octicon octicon-check"></span>
              <a href="/hammerjs/hammer.js/tree/2.0.0/hammer.min.map"
                 data-name="2.0.0"
                 data-skip-pjax="true"
                 rel="nofollow"
                 class="js-navigation-open select-menu-item-text css-truncate-target"
                 title="2.0.0">2.0.0</a>
            </div> <!-- /.select-menu-item -->
            <div class="select-menu-item js-navigation-item ">
              <span class="select-menu-item-icon octicon octicon-check"></span>
              <a href="/hammerjs/hammer.js/tree/1.1.3/hammer.min.map"
                 data-name="1.1.3"
                 data-skip-pjax="true"
                 rel="nofollow"
                 class="js-navigation-open select-menu-item-text css-truncate-target"
                 title="1.1.3">1.1.3</a>
            </div> <!-- /.select-menu-item -->
            <div class="select-menu-item js-navigation-item ">
              <span class="select-menu-item-icon octicon octicon-check"></span>
              <a href="/hammerjs/hammer.js/tree/1.1.2/hammer.min.map"
                 data-name="1.1.2"
                 data-skip-pjax="true"
                 rel="nofollow"
                 class="js-navigation-open select-menu-item-text css-truncate-target"
                 title="1.1.2">1.1.2</a>
            </div> <!-- /.select-menu-item -->
            <div class="select-menu-item js-navigation-item ">
              <span class="select-menu-item-icon octicon octicon-check"></span>
              <a href="/hammerjs/hammer.js/tree/1.1.1/hammer.min.map"
                 data-name="1.1.1"
                 data-skip-pjax="true"
                 rel="nofollow"
                 class="js-navigation-open select-menu-item-text css-truncate-target"
                 title="1.1.1">1.1.1</a>
            </div> <!-- /.select-menu-item -->
            <div class="select-menu-item js-navigation-item ">
              <span class="select-menu-item-icon octicon octicon-check"></span>
              <a href="/hammerjs/hammer.js/tree/1.1.0/hammer.min.map"
                 data-name="1.1.0"
                 data-skip-pjax="true"
                 rel="nofollow"
                 class="js-navigation-open select-menu-item-text css-truncate-target"
                 title="1.1.0">1.1.0</a>
            </div> <!-- /.select-menu-item -->
            <div class="select-menu-item js-navigation-item ">
              <span class="select-menu-item-icon octicon octicon-check"></span>
              <a href="/hammerjs/hammer.js/tree/1.0.11/hammer.min.map"
                 data-name="1.0.11"
                 data-skip-pjax="true"
                 rel="nofollow"
                 class="js-navigation-open select-menu-item-text css-truncate-target"
                 title="1.0.11">1.0.11</a>
            </div> <!-- /.select-menu-item -->
            <div class="select-menu-item js-navigation-item ">
              <span class="select-menu-item-icon octicon octicon-check"></span>
              <a href="/hammerjs/hammer.js/tree/1.0.10/hammer.min.map"
                 data-name="1.0.10"
                 data-skip-pjax="true"
                 rel="nofollow"
                 class="js-navigation-open select-menu-item-text css-truncate-target"
                 title="1.0.10">1.0.10</a>
            </div> <!-- /.select-menu-item -->
            <div class="select-menu-item js-navigation-item ">
              <span class="select-menu-item-icon octicon octicon-check"></span>
              <a href="/hammerjs/hammer.js/tree/1.0.9/hammer.min.map"
                 data-name="1.0.9"
                 data-skip-pjax="true"
                 rel="nofollow"
                 class="js-navigation-open select-menu-item-text css-truncate-target"
                 title="1.0.9">1.0.9</a>
            </div> <!-- /.select-menu-item -->
            <div class="select-menu-item js-navigation-item ">
              <span class="select-menu-item-icon octicon octicon-check"></span>
              <a href="/hammerjs/hammer.js/tree/1.0.8/hammer.min.map"
                 data-name="1.0.8"
                 data-skip-pjax="true"
                 rel="nofollow"
                 class="js-navigation-open select-menu-item-text css-truncate-target"
                 title="1.0.8">1.0.8</a>
            </div> <!-- /.select-menu-item -->
            <div class="select-menu-item js-navigation-item ">
              <span class="select-menu-item-icon octicon octicon-check"></span>
              <a href="/hammerjs/hammer.js/tree/1.0.7/hammer.min.map"
                 data-name="1.0.7"
                 data-skip-pjax="true"
                 rel="nofollow"
                 class="js-navigation-open select-menu-item-text css-truncate-target"
                 title="1.0.7">1.0.7</a>
            </div> <!-- /.select-menu-item -->
            <div class="select-menu-item js-navigation-item ">
              <span class="select-menu-item-icon octicon octicon-check"></span>
              <a href="/hammerjs/hammer.js/tree/1.0.6/hammer.min.map"
                 data-name="1.0.6"
                 data-skip-pjax="true"
                 rel="nofollow"
                 class="js-navigation-open select-menu-item-text css-truncate-target"
                 title="1.0.6">1.0.6</a>
            </div> <!-- /.select-menu-item -->
        </div>

        <div class="select-menu-no-results">Nothing to show</div>
      </div> <!-- /.select-menu-list -->

    </div> <!-- /.select-menu-modal -->
  </div> <!-- /.select-menu-modal-holder -->
</div> <!-- /.select-menu -->

  <div class="button-group right">
    <a href="/hammerjs/hammer.js/find/master"
          class="js-show-file-finder minibutton empty-icon tooltipped tooltipped-s"
          data-pjax
          data-hotkey="t"
          aria-label="Quickly jump between files">
      <span class="octicon octicon-list-unordered"></span>
    </a>
    <button class="js-zeroclipboard minibutton zeroclipboard-button"
          data-clipboard-text="hammer.min.map"
          aria-label="Copy to clipboard"
          data-copied-hint="Copied!">
      <span class="octicon octicon-clippy"></span>
    </button>
  </div>

  <div class="breadcrumb">
    <span class='repo-root js-repo-root'><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/hammerjs/hammer.js" class="" data-branch="master" data-direction="back" data-pjax="true" itemscope="url"><span itemprop="title">hammer.js</span></a></span></span><span class="separator"> / </span><strong class="final-path">hammer.min.map</strong>
  </div>
</div>


  <div class="commit file-history-tease">
    <div class="file-history-tease-header">
        <img alt="Jorik Tangelder" class="avatar" data-user="1243901" height="24" src="https://avatars2.githubusercontent.com/u/1243901?v=2&amp;s=48" width="24" />
        <span class="author"><a href="/jtangelder" rel="contributor">jtangelder</a></span>
        <time datetime="2014-09-16T13:52:40+02:00" is="relative-time">September 16, 2014</time>
        <div class="commit-title">
            <a href="/hammerjs/hammer.js/commit/6a7a69e67fbfeb4d070fffda585fe173a2b9f374" class="message" data-pjax="true" title="single/multi user touch input">single/multi user touch input</a>
        </div>
    </div>

    <div class="participation">
      <p class="quickstat">
        <a href="#blob_contributors_box" rel="facebox">
          <strong>3</strong>
           contributors
        </a>
      </p>
          <a class="avatar-link tooltipped tooltipped-s" aria-label="jtangelder" href="/hammerjs/hammer.js/commits/master/hammer.min.map?author=jtangelder"><img alt="Jorik Tangelder" class="avatar" data-user="1243901" height="20" src="https://avatars0.githubusercontent.com/u/1243901?v=2&amp;s=40" width="20" /></a>
    <a class="avatar-link tooltipped tooltipped-s" aria-label="ppcano" href="/hammerjs/hammer.js/commits/master/hammer.min.map?author=ppcano"><img alt="Pepe Cano" class="avatar" data-user="825430" height="20" src="https://avatars2.githubusercontent.com/u/825430?v=2&amp;s=40" width="20" /></a>
    <a class="avatar-link tooltipped tooltipped-s" aria-label="sithmel" href="/hammerjs/hammer.js/commits/master/hammer.min.map?author=sithmel"><img alt="Maurizio Lupo" class="avatar" data-user="460811" height="20" src="https://avatars0.githubusercontent.com/u/460811?v=2&amp;s=40" width="20" /></a>


    </div>
    <div id="blob_contributors_box" style="display:none">
      <h2 class="facebox-header">Users who have contributed to this file</h2>
      <ul class="facebox-user-list">
          <li class="facebox-user-list-item">
            <img alt="Jorik Tangelder" data-user="1243901" height="24" src="https://avatars2.githubusercontent.com/u/1243901?v=2&amp;s=48" width="24" />
            <a href="/jtangelder">jtangelder</a>
          </li>
          <li class="facebox-user-list-item">
            <img alt="Pepe Cano" data-user="825430" height="24" src="https://avatars0.githubusercontent.com/u/825430?v=2&amp;s=48" width="24" />
            <a href="/ppcano">ppcano</a>
          </li>
          <li class="facebox-user-list-item">
            <img alt="Maurizio Lupo" data-user="460811" height="24" src="https://avatars2.githubusercontent.com/u/460811?v=2&amp;s=48" width="24" />
            <a href="/sithmel">sithmel</a>
          </li>
      </ul>
    </div>
  </div>

<div class="file-box">
  <div class="file">
    <div class="meta clearfix">
      <div class="info file-name">
          <span>1 lines (1 sloc)</span>
          <span class="meta-divider"></span>
        <span>28.458 kb</span>
      </div>
      <div class="actions">
        <div class="button-group">
          <a href="/hammerjs/hammer.js/raw/master/hammer.min.map" class="minibutton " id="raw-url">Raw</a>
            <a href="/hammerjs/hammer.js/blame/master/hammer.min.map" class="minibutton js-update-url-with-hash">Blame</a>
          <a href="/hammerjs/hammer.js/commits/master/hammer.min.map" class="minibutton " rel="nofollow">History</a>
        </div><!-- /.button-group -->


            <a class="octicon-button disabled tooltipped tooltipped-w" href="#"
               aria-label="You must be signed in to make or propose changes"><span class="octicon octicon-pencil"></span></a>

          <a class="octicon-button danger disabled tooltipped tooltipped-w" href="#"
             aria-label="You must be signed in to make or propose changes">
          <span class="octicon octicon-trashcan"></span>
        </a>
      </div><!-- /.actions -->
    </div>
    
  <div class="blob-wrapper data type-text">
      <table class="highlight tab-size-8 js-file-line-container">
      <tr>
        <td id="L1" class="blob-num js-line-number" data-line-number="1"></td>
        <td id="LC1" class="blob-code js-file-line">{&quot;version&quot;:3,&quot;file&quot;:&quot;hammer.min.js&quot;,&quot;sources&quot;:[&quot;hammer.js&quot;],&quot;names&quot;:[&quot;window&quot;,&quot;document&quot;,&quot;exportName&quot;,&quot;undefined&quot;,&quot;setTimeoutContext&quot;,&quot;fn&quot;,&quot;timeout&quot;,&quot;context&quot;,&quot;setTimeout&quot;,&quot;bindFn&quot;,&quot;invokeArrayArg&quot;,&quot;arg&quot;,&quot;Array&quot;,&quot;isArray&quot;,&quot;each&quot;,&quot;obj&quot;,&quot;iterator&quot;,&quot;i&quot;,&quot;forEach&quot;,&quot;length&quot;,&quot;call&quot;,&quot;hasOwnProperty&quot;,&quot;extend&quot;,&quot;dest&quot;,&quot;src&quot;,&quot;merge&quot;,&quot;keys&quot;,&quot;Object&quot;,&quot;inherit&quot;,&quot;child&quot;,&quot;base&quot;,&quot;properties&quot;,&quot;childP&quot;,&quot;baseP&quot;,&quot;prototype&quot;,&quot;create&quot;,&quot;constructor&quot;,&quot;_super&quot;,&quot;apply&quot;,&quot;arguments&quot;,&quot;boolOrFn&quot;,&quot;val&quot;,&quot;args&quot;,&quot;TYPE_FUNCTION&quot;,&quot;ifUndefined&quot;,&quot;val1&quot;,&quot;val2&quot;,&quot;addEventListeners&quot;,&quot;target&quot;,&quot;types&quot;,&quot;handler&quot;,&quot;splitStr&quot;,&quot;type&quot;,&quot;addEventListener&quot;,&quot;removeEventListeners&quot;,&quot;removeEventListener&quot;,&quot;hasParent&quot;,&quot;node&quot;,&quot;parent&quot;,&quot;parentNode&quot;,&quot;inStr&quot;,&quot;str&quot;,&quot;find&quot;,&quot;indexOf&quot;,&quot;trim&quot;,&quot;split&quot;,&quot;inArray&quot;,&quot;findByKey&quot;,&quot;toArray&quot;,&quot;slice&quot;,&quot;uniqueArray&quot;,&quot;key&quot;,&quot;sort&quot;,&quot;results&quot;,&quot;values&quot;,&quot;push&quot;,&quot;a&quot;,&quot;b&quot;,&quot;prefixed&quot;,&quot;property&quot;,&quot;prefix&quot;,&quot;prop&quot;,&quot;camelProp&quot;,&quot;toUpperCase&quot;,&quot;VENDOR_PREFIXES&quot;,&quot;uniqueId&quot;,&quot;_uniqueId&quot;,&quot;getWindowForElement&quot;,&quot;element&quot;,&quot;doc&quot;,&quot;ownerDocument&quot;,&quot;defaultView&quot;,&quot;parentWindow&quot;,&quot;Input&quot;,&quot;manager&quot;,&quot;callback&quot;,&quot;self&quot;,&quot;this&quot;,&quot;options&quot;,&quot;inputTarget&quot;,&quot;domHandler&quot;,&quot;ev&quot;,&quot;enable&quot;,&quot;init&quot;,&quot;createInputInstance&quot;,&quot;Type&quot;,&quot;inputClass&quot;,&quot;SUPPORT_POINTER_EVENTS&quot;,&quot;PointerEventInput&quot;,&quot;SUPPORT_ONLY_TOUCH&quot;,&quot;MultiTouchInput&quot;,&quot;SUPPORT_TOUCH&quot;,&quot;TouchMouseInput&quot;,&quot;MouseInput&quot;,&quot;inputHandler&quot;,&quot;eventType&quot;,&quot;input&quot;,&quot;pointersLen&quot;,&quot;pointers&quot;,&quot;changedPointersLen&quot;,&quot;changedPointers&quot;,&quot;isFirst&quot;,&quot;INPUT_START&quot;,&quot;isFinal&quot;,&quot;INPUT_END&quot;,&quot;INPUT_CANCEL&quot;,&quot;session&quot;,&quot;computeInputData&quot;,&quot;emit&quot;,&quot;recognize&quot;,&quot;prevInput&quot;,&quot;pointersLength&quot;,&quot;firstInput&quot;,&quot;simpleCloneInputData&quot;,&quot;firstMultiple&quot;,&quot;offsetCenter&quot;,&quot;center&quot;,&quot;getCenter&quot;,&quot;timeStamp&quot;,&quot;now&quot;,&quot;deltaTime&quot;,&quot;angle&quot;,&quot;getAngle&quot;,&quot;distance&quot;,&quot;getDistance&quot;,&quot;computeDeltaXY&quot;,&quot;offsetDirection&quot;,&quot;getDirection&quot;,&quot;deltaX&quot;,&quot;deltaY&quot;,&quot;scale&quot;,&quot;getScale&quot;,&quot;rotation&quot;,&quot;getRotation&quot;,&quot;computeIntervalInputData&quot;,&quot;srcEvent&quot;,&quot;offset&quot;,&quot;offsetDelta&quot;,&quot;prevDelta&quot;,&quot;x&quot;,&quot;y&quot;,&quot;velocity&quot;,&quot;velocityX&quot;,&quot;velocityY&quot;,&quot;direction&quot;,&quot;last&quot;,&quot;lastInterval&quot;,&quot;COMPUTE_INTERVAL&quot;,&quot;v&quot;,&quot;getVelocity&quot;,&quot;abs&quot;,&quot;clientX&quot;,&quot;round&quot;,&quot;clientY&quot;,&quot;DIRECTION_NONE&quot;,&quot;DIRECTION_LEFT&quot;,&quot;DIRECTION_RIGHT&quot;,&quot;DIRECTION_UP&quot;,&quot;DIRECTION_DOWN&quot;,&quot;p1&quot;,&quot;p2&quot;,&quot;props&quot;,&quot;PROPS_XY&quot;,&quot;Math&quot;,&quot;sqrt&quot;,&quot;atan2&quot;,&quot;PI&quot;,&quot;start&quot;,&quot;end&quot;,&quot;PROPS_CLIENT_XY&quot;,&quot;evEl&quot;,&quot;MOUSE_ELEMENT_EVENTS&quot;,&quot;evWin&quot;,&quot;MOUSE_WINDOW_EVENTS&quot;,&quot;allow&quot;,&quot;pressed&quot;,&quot;evTarget&quot;,&quot;MULTI_TOUCH_TARGET_EVENTS&quot;,&quot;targetIds&quot;,&quot;getMultiTouches&quot;,&quot;allTouches&quot;,&quot;touches&quot;,&quot;INPUT_MOVE&quot;,&quot;identifier&quot;,&quot;targetTouches&quot;,&quot;changedTouches&quot;,&quot;changedTargetTouches&quot;,&quot;filter&quot;,&quot;touch&quot;,&quot;concat&quot;,&quot;POINTER_ELEMENT_EVENTS&quot;,&quot;POINTER_WINDOW_EVENTS&quot;,&quot;store&quot;,&quot;pointerEvents&quot;,&quot;TouchInput&quot;,&quot;TOUCH_TARGET_EVENTS&quot;,&quot;getTouches&quot;,&quot;all&quot;,&quot;changed&quot;,&quot;mouse&quot;,&quot;TouchAction&quot;,&quot;value&quot;,&quot;set&quot;,&quot;cleanTouchActions&quot;,&quot;actions&quot;,&quot;TOUCH_ACTION_NONE&quot;,&quot;hasPanX&quot;,&quot;TOUCH_ACTION_PAN_X&quot;,&quot;hasPanY&quot;,&quot;TOUCH_ACTION_PAN_Y&quot;,&quot;TOUCH_ACTION_MANIPULATION&quot;,&quot;TOUCH_ACTION_AUTO&quot;,&quot;Recognizer&quot;,&quot;id&quot;,&quot;defaults&quot;,&quot;state&quot;,&quot;STATE_POSSIBLE&quot;,&quot;simultaneous&quot;,&quot;requireFail&quot;,&quot;stateStr&quot;,&quot;STATE_CANCELLED&quot;,&quot;STATE_ENDED&quot;,&quot;STATE_CHANGED&quot;,&quot;STATE_BEGAN&quot;,&quot;directionStr&quot;,&quot;getRecognizerByNameIfManager&quot;,&quot;otherRecognizer&quot;,&quot;recognizer&quot;,&quot;get&quot;,&quot;AttrRecognizer&quot;,&quot;PanRecognizer&quot;,&quot;pX&quot;,&quot;pY&quot;,&quot;PinchRecognizer&quot;,&quot;PressRecognizer&quot;,&quot;_timer&quot;,&quot;_input&quot;,&quot;RotateRecognizer&quot;,&quot;SwipeRecognizer&quot;,&quot;TapRecognizer&quot;,&quot;pTime&quot;,&quot;pCenter&quot;,&quot;count&quot;,&quot;Hammer&quot;,&quot;recognizers&quot;,&quot;preset&quot;,&quot;Manager&quot;,&quot;handlers&quot;,&quot;touchAction&quot;,&quot;toggleCssProps&quot;,&quot;item&quot;,&quot;add&quot;,&quot;recognizeWith&quot;,&quot;requireFailure&quot;,&quot;cssProps&quot;,&quot;name&quot;,&quot;style&quot;,&quot;triggerDomEvent&quot;,&quot;event&quot;,&quot;data&quot;,&quot;gestureEvent&quot;,&quot;createEvent&quot;,&quot;initEvent&quot;,&quot;gesture&quot;,&quot;dispatchEvent&quot;,&quot;TEST_ELEMENT&quot;,&quot;createElement&quot;,&quot;Date&quot;,&quot;MOBILE_REGEX&quot;,&quot;test&quot;,&quot;navigator&quot;,&quot;userAgent&quot;,&quot;INPUT_TYPE_TOUCH&quot;,&quot;INPUT_TYPE_PEN&quot;,&quot;INPUT_TYPE_MOUSE&quot;,&quot;INPUT_TYPE_KINECT&quot;,&quot;DIRECTION_HORIZONTAL&quot;,&quot;DIRECTION_VERTICAL&quot;,&quot;DIRECTION_ALL&quot;,&quot;destroy&quot;,&quot;MOUSE_INPUT_MAP&quot;,&quot;mousedown&quot;,&quot;mousemove&quot;,&quot;mouseup&quot;,&quot;button&quot;,&quot;which&quot;,&quot;pointerType&quot;,&quot;MULTI_TOUCH_INPUT_MAP&quot;,&quot;touchstart&quot;,&quot;touchmove&quot;,&quot;touchend&quot;,&quot;touchcancel&quot;,&quot;POINTER_INPUT_MAP&quot;,&quot;pointerdown&quot;,&quot;pointermove&quot;,&quot;pointerup&quot;,&quot;pointercancel&quot;,&quot;pointerout&quot;,&quot;IE10_POINTER_TYPE_ENUM&quot;,2,3,4,5,&quot;MSPointerEvent&quot;,&quot;removePointer&quot;,&quot;eventTypeNormalized&quot;,&quot;toLowerCase&quot;,&quot;replace&quot;,&quot;isTouch&quot;,&quot;storeIndex&quot;,&quot;pointerId&quot;,&quot;splice&quot;,&quot;TOUCH_INPUT_MAP&quot;,&quot;inputEvent&quot;,&quot;inputData&quot;,&quot;isMouse&quot;,&quot;PREFIXED_TOUCH_ACTION&quot;,&quot;NATIVE_TOUCH_ACTION&quot;,&quot;TOUCH_ACTION_COMPUTE&quot;,&quot;compute&quot;,&quot;update&quot;,&quot;getTouchAction&quot;,&quot;join&quot;,&quot;preventDefaults&quot;,&quot;prevented&quot;,&quot;preventDefault&quot;,&quot;hasNone&quot;,&quot;preventSrc&quot;,&quot;STATE_RECOGNIZED&quot;,&quot;STATE_FAILED&quot;,&quot;dropRecognizeWith&quot;,&quot;dropRequireFailure&quot;,&quot;index&quot;,&quot;hasRequireFailures&quot;,&quot;canRecognizeWith&quot;,&quot;withState&quot;,&quot;tryEmit&quot;,&quot;canEmit&quot;,&quot;inputDataClone&quot;,&quot;process&quot;,&quot;reset&quot;,&quot;attrTest&quot;,&quot;optionPointers&quot;,&quot;isRecognized&quot;,&quot;isValid&quot;,&quot;threshold&quot;,&quot;directionTest&quot;,&quot;hasMoved&quot;,&quot;inOut&quot;,&quot;time&quot;,&quot;validPointers&quot;,&quot;validMovement&quot;,&quot;validTime&quot;,&quot;clearTimeout&quot;,&quot;taps&quot;,&quot;interval&quot;,&quot;posThreshold&quot;,&quot;validTouchTime&quot;,&quot;failTimeout&quot;,&quot;validInterval&quot;,&quot;validMultiTap&quot;,&quot;tapCount&quot;,&quot;VERSION&quot;,&quot;domEvents&quot;,&quot;userSelect&quot;,&quot;touchSelect&quot;,&quot;touchCallout&quot;,&quot;contentZooming&quot;,&quot;userDrag&quot;,&quot;tapHighlightColor&quot;,&quot;STOP&quot;,&quot;FORCED_STOP&quot;,&quot;stop&quot;,&quot;force&quot;,&quot;stopped&quot;,&quot;curRecognizer&quot;,&quot;existing&quot;,&quot;remove&quot;,&quot;on&quot;,&quot;events&quot;,&quot;off&quot;,&quot;Tap&quot;,&quot;Pan&quot;,&quot;Swipe&quot;,&quot;Pinch&quot;,&quot;Rotate&quot;,&quot;Press&quot;,&quot;define&quot;,&quot;amd&quot;,&quot;module&quot;,&quot;exports&quot;],&quot;mappings&quot;:&quot;;;;;;;;CAAA,SAAUA,EAAQC,EAAUC,EAAYC,GACtC,YAkBF,SAASC,GAAkBC,EAAIC,EAASC,GACpC,MAAOC,YAAWC,EAAOJ,EAAIE,GAAUD,GAY3C,QAASI,GAAeC,EAAKN,EAAIE,GAC7B,MAAIK,OAAMC,QAAQF,IACdG,EAAKH,EAAKJ,EAAQF,GAAKE,IAChB,IAEJ,EASX,QAASO,GAAKC,EAAKC,EAAUT,GACzB,GAAIU,EAEJ,IAAKF,EAIL,GAAIA,EAAIG,QACJH,EAAIG,QAAQF,EAAUT,OACnB,IAAIQ,EAAII,SAAWhB,EAEtB,IADAc,EAAI,EACGA,EAAIF,EAAII,QACXH,EAASI,KAAKb,EAASQ,EAAIE,GAAIA,EAAGF,GAClCE,QAGJ,KAAKA,IAAKF,GACNA,EAAIM,eAAeJ,IAAMD,EAASI,KAAKb,EAASQ,EAAIE,GAAIA,EAAGF,GAavE,QAASO,GAAOC,EAAMC,EAAKC,GAGvB,IAFA,GAAIC,GAAOC,OAAOD,KAAKF,GACnBP,EAAI,EACDA,EAAIS,EAAKP,UACPM,GAAUA,GAASF,EAAKG,EAAKT,MAAQd,KACtCoB,EAAKG,EAAKT,IAAMO,EAAIE,EAAKT,KAE7BA,GAEJ,OAAOM,GAUX,QAASE,GAAMF,EAAMC,GACjB,MAAOF,GAAOC,EAAMC,GAAK,GAS7B,QAASI,GAAQC,EAAOC,EAAMC,GAC1B,GACIC,GADAC,EAAQH,EAAKI,SAGjBF,GAASH,EAAMK,UAAYP,OAAOQ,OAAOF,GACzCD,EAAOI,YAAcP,EACrBG,EAAOK,OAASJ,EAEZF,GACAT,EAAOU,EAAQD,GAUvB,QAAStB,GAAOJ,EAAIE,GAChB,MAAO,YACH,MAAOF,GAAGiC,MAAM/B,EAASgC,YAWjC,QAASC,GAASC,EAAKC,GACnB,aAAWD,IAAOE,GACPF,EAAIH,MAAMI,EAAOA,EAAK,IAAMvC,EAAYA,EAAWuC,GAEvDD,EASX,QAASG,GAAYC,EAAMC,GACvB,MAAQD,KAAS1C,EAAa2C,EAAOD,EASzC,QAASE,GAAkBC,EAAQC,EAAOC,GACtCpC,EAAKqC,EAASF,GAAQ,SAASG,GAC3BJ,EAAOK,iBAAiBD,EAAMF,GAAS,KAU/C,QAASI,GAAqBN,EAAQC,EAAOC,GACzCpC,EAAKqC,EAASF,GAAQ,SAASG,GAC3BJ,EAAOO,oBAAoBH,EAAMF,GAAS,KAWlD,QAASM,GAAUC,EAAMC,GACrB,KAAOD,GAAM,CACT,GAAIA,GAAQC,EACR,OAAO,CAEXD,GAAOA,EAAKE,WAEhB,OAAO,EASX,QAASC,GAAMC,EAAKC,GAChB,MAAOD,GAAIE,QAAQD,GAAQ,GAQ/B,QAASX,GAASU,GACd,MAAOA,GAAIG,OAAOC,MAAM,QAU5B,QAASC,GAAQ1C,EAAKsC,EAAMK,GACxB,GAAI3C,EAAIuC,UAAYI,EAChB,MAAO3C,GAAIuC,QAAQD,EAGnB,KADA,GAAI7C,GAAI,EACDA,EAAIO,EAAIL,QAAQ,CACnB,GAAKgD,GAAa3C,EAAIP,GAAGkD,IAAcL,IAAWK,GAAa3C,EAAIP,KAAO6C,EACtE,MAAO7C,EAEXA,KAEJ,MAAO,GASf,QAASmD,GAAQrD,GACb,MAAOH,OAAMsB,UAAUmC,MAAMjD,KAAKL,EAAK,GAU3C,QAASuD,GAAY9C,EAAK+C,EAAKC,GAK3B,IAJA,GAAIC,MACAC,KACAzD,EAAI,EAEDA,EAAIO,EAAIL,QAAQ,CACnB,GAAIsB,GAAM8B,EAAM/C,EAAIP,GAAGsD,GAAO/C,EAAIP,EAC9BiD,GAAQQ,EAAQjC,GAAO,GACvBgC,EAAQE,KAAKnD,EAAIP,IAErByD,EAAOzD,GAAKwB,EACZxB,IAaJ,MAVIuD,KAIIC,EAHCF,EAGSE,EAAQD,KAAK,SAAyBI,EAAGC,GAC/C,MAAOD,GAAEL,GAAOM,EAAEN,KAHZE,EAAQD,QAQnBC,EASX,QAASK,GAAS/D,EAAKgE,GAKnB,IAJA,GAAIC,GAAQC,EACRC,EAAYH,EAAS,GAAGI,cAAgBJ,EAASV,MAAM,GAEvDpD,EAAI,EACDA,EAAImE,GAAgBjE,QAAQ,CAI/B,GAHA6D,EAASI,GAAgBnE,GACzBgE,EAAO,EAAWD,EAASE,EAAYH,EAEnCE,IAAQlE,GACR,MAAOkE,EAEXhE,KAEJ,MAAOd,GAQX,QAASkF,KACL,MAAOC,MAQX,QAASC,GAAoBC,GACzB,GAAIC,GAAMD,EAAQE,aAClB,OAAQD,GAAIE,aAAeF,EAAIG,aAyCnC,QAASC,GAAMC,EAASC,GACpB,GAAIC,GAAOC,IACXA,MAAKH,QAAUA,EACfG,KAAKF,SAAWA,EAChBE,KAAKT,QAAUM,EAAQN,QACvBS,KAAKjD,OAAS8C,EAAQI,QAAQC,YAI9BF,KAAKG,WAAa,SAASC,GACnB7D,EAASsD,EAAQI,QAAQI,QAASR,KAClCE,EAAK9C,QAAQmD,IAIrBJ,KAAKM,OAoCT,QAASC,GAAoBV,GACzB,GAAIW,GACAC,EAAaZ,EAAQI,QAAQQ,UAajC,OAAO,KAVHD,EADAC,EACOA,EACAC,GACAC,EACAC,GACAC,EACCC,GAGDC,EAFAC,GAIOnB,EAASoB,GAS/B,QAASA,GAAapB,EAASqB,EAAWC,GACtC,GAAIC,GAAcD,EAAME,SAASnG,OAC7BoG,EAAqBH,EAAMI,gBAAgBrG,OAC3CsG,EAAWN,EAAYO,IAAgBL,EAAcE,IAAuB,EAC5EI,EAAWR,GAAaS,GAAYC,KAAkBR,EAAcE,IAAuB,CAE/FH,GAAMK,UAAYA,EAClBL,EAAMO,UAAYA,EAEdF,IACA3B,EAAQgC,YAKZV,EAAMD,UAAYA,EAGlBY,EAAiBjC,EAASsB,GAG1BtB,EAAQkC,KAAK,eAAgBZ,GAE7BtB,EAAQmC,UAAUb,GAClBtB,EAAQgC,QAAQI,UAAYd,EAQhC,QAASW,GAAiBjC,EAASsB,GAC/B,GAAIU,GAAUhC,EAAQgC,QAClBR,EAAWF,EAAME,SACjBa,EAAiBb,EAASnG,MAGzB2G,GAAQM,aACTN,EAAQM,WAAaC,EAAqBjB,IAI1Ce,EAAiB,IAAML,EAAQQ,cAC/BR,EAAQQ,cAAgBD,EAAqBjB,GACnB,IAAnBe,IACPL,EAAQQ,eAAgB,EAG5B,IAAIF,GAAaN,EAAQM,WACrBE,EAAgBR,EAAQQ,cACxBC,EAAeD,EAAgBA,EAAcE,OAASJ,EAAWI,OAEjEA,EAASpB,EAAMoB,OAASC,EAAUnB,EACtCF,GAAMsB,UAAYC,KAClBvB,EAAMwB,UAAYxB,EAAMsB,UAAYN,EAAWM,UAE/CtB,EAAMyB,MAAQC,EAASP,EAAcC,GACrCpB,EAAM2B,SAAWC,EAAYT,EAAcC,GAE3CS,EAAenB,EAASV,GACxBA,EAAM8B,gBAAkBC,EAAa/B,EAAMgC,OAAQhC,EAAMiC,QAEzDjC,EAAMkC,MAAQhB,EAAgBiB,EAASjB,EAAchB,SAAUA,GAAY,EAC3EF,EAAMoC,SAAWlB,EAAgBmB,EAAYnB,EAAchB,SAAUA,GAAY,EAEjFoC,EAAyB5B,EAASV,EAGlC,IAAIpE,GAAS8C,EAAQN,OACjBhC,GAAU4D,EAAMuC,SAAS3G,OAAQA,KACjCA,EAASoE,EAAMuC,SAAS3G,QAE5BoE,EAAMpE,OAASA,EAGnB,QAASiG,GAAenB,EAASV,GAC7B,GAAIoB,GAASpB,EAAMoB,OACfoB,EAAS9B,EAAQ+B,gBACjBC,EAAYhC,EAAQgC,cACpB5B,EAAYJ,EAAQI,eAEpBd,EAAMD,YAAcO,IAAeQ,EAAUf,YAAcS,MAC3DkC,EAAYhC,EAAQgC,WAChBC,EAAG7B,EAAUkB,QAAU,EACvBY,EAAG9B,EAAUmB,QAAU,GAG3BO,EAAS9B,EAAQ+B,aACbE,EAAGvB,EAAOuB,EACVC,EAAGxB,EAAOwB,IAIlB5C,EAAMgC,OAASU,EAAUC,GAAKvB,EAAOuB,EAAIH,EAAOG,GAChD3C,EAAMiC,OAASS,EAAUE,GAAKxB,EAAOwB,EAAIJ,EAAOI,GAQpD,QAASN,GAAyB5B,EAASV,GACvC,GAEI6C,GAAUC,EAAWC,EAAWC,EAFhCC,EAAOvC,EAAQwC,cAAgBlD,EAC/BwB,EAAYxB,EAAMsB,UAAY2B,EAAK3B,SAGvC,IAAItB,EAAMD,WAAaU,KAAiBe,EAAY2B,IAAoBF,EAAKJ,WAAa9J,GAAY,CAClG,GAAIiJ,GAASiB,EAAKjB,OAAShC,EAAMgC,OAC7BC,EAASgB,EAAKhB,OAASjC,EAAMiC,OAE7BmB,EAAIC,EAAY7B,EAAWQ,EAAQC,EACvCa,GAAYM,EAAET,EACdI,EAAYK,EAAER,EACdC,EAAYS,GAAIF,EAAET,GAAKW,GAAIF,EAAER,GAAMQ,EAAET,EAAIS,EAAER,EAC3CI,EAAYjB,EAAaC,EAAQC,GAEjCvB,EAAQwC,aAAelD,MAGvB6C,GAAWI,EAAKJ,SAChBC,EAAYG,EAAKH,UACjBC,EAAYE,EAAKF,UACjBC,EAAYC,EAAKD,SAGrBhD,GAAM6C,SAAWA,EACjB7C,EAAM8C,UAAYA,EAClB9C,EAAM+C,UAAYA,EAClB/C,EAAMgD,UAAYA,EAQtB,QAAS/B,GAAqBjB,GAK1B,IAFA,GAAIE,MACArG,EAAI,EACDA,EAAImG,EAAME,SAASnG,QACtBmG,EAASrG,IACL0J,QAASC,GAAMxD,EAAME,SAASrG,GAAG0J,SACjCE,QAASD,GAAMxD,EAAME,SAASrG,GAAG4J,UAErC5J,GAGJ,QACIyH,UAAWC,KACXrB,SAAUA,EACVkB,OAAQC,EAAUnB,GAClB8B,OAAQhC,EAAMgC,OACdC,OAAQjC,EAAMiC,QAStB,QAASZ,GAAUnB,GACf,GAAIa,GAAiBb,EAASnG,MAG9B,IAAuB,IAAnBgH,EACA,OACI4B,EAAGa,GAAMtD,EAAS,GAAGqD,SACrBX,EAAGY,GAAMtD,EAAS,GAAGuD,SAK7B,KADA,GAAId,GAAI,EAAGC,EAAI,EAAG/I,EAAI,EACXkH,EAAJlH,GACH8I,GAAKzC,EAASrG,GAAG0J,QACjBX,GAAK1C,EAASrG,GAAG4J,QACjB5J,GAGJ,QACI8I,EAAGa,GAAMb,EAAI5B,GACb6B,EAAGY,GAAMZ,EAAI7B,IAWrB,QAASsC,GAAY7B,EAAWmB,EAAGC,GAC/B,OACID,EAAGA,EAAInB,GAAa,EACpBoB,EAAGA,EAAIpB,GAAa,GAU5B,QAASO,GAAaY,EAAGC,GACrB,MAAID,KAAMC,EACCc,GAGPJ,GAAIX,IAAMW,GAAIV,GACPD,EAAI,EAAIgB,GAAiBC,GAE7BhB,EAAI,EAAIiB,GAAeC,GAUlC,QAASlC,GAAYmC,EAAIC,EAAIC,GACpBA,IACDA,EAAQC,GAEZ,IAAIvB,GAAIqB,EAAGC,EAAM,IAAMF,EAAGE,EAAM,IAC5BrB,EAAIoB,EAAGC,EAAM,IAAMF,EAAGE,EAAM,GAEhC,OAAOE,MAAKC,KAAMzB,EAAIA,EAAMC,EAAIA,GAUpC,QAASlB,GAASqC,EAAIC,EAAIC,GACjBA,IACDA,EAAQC,GAEZ,IAAIvB,GAAIqB,EAAGC,EAAM,IAAMF,EAAGE,EAAM,IAC5BrB,EAAIoB,EAAGC,EAAM,IAAMF,EAAGE,EAAM,GAChC,OAA0B,KAAnBE,KAAKE,MAAMzB,EAAGD,GAAWwB,KAAKG,GASzC,QAASjC,GAAYkC,EAAOC,GACxB,MAAO9C,GAAS8C,EAAI,GAAIA,EAAI,GAAIC,IAAmB/C,EAAS6C,EAAM,GAAIA,EAAM,GAAIE,IAUpF,QAAStC,GAASoC,EAAOC,GACrB,MAAO5C,GAAY4C,EAAI,GAAIA,EAAI,GAAIC,IAAmB7C,EAAY2C,EAAM,GAAIA,EAAM,GAAIE,IAiB1F,QAAS5E,KACLhB,KAAK6F,KAAOC,GACZ9F,KAAK+F,MAAQC,GAEbhG,KAAKiG,OAAQ,EACbjG,KAAKkG,SAAU,EAEftG,EAAMvD,MAAM2D,KAAM1D,WAoDtB,QAASuE,KACLb,KAAKmG,SAAWC,GAChBpG,KAAKqG,aAELzG,EAAMvD,MAAM2D,KAAM1D,WA0BtB,QAASgK,GAAgBlG,EAAIjD,GACzB,GAAIoJ,GAAapI,EAAQiC,EAAGoG,SACxBH,EAAYrG,KAAKqG,SAGrB,IAAIlJ,GAAQsE,GAAcgF,KAAqC,IAAtBF,EAAWrL,OAEhD,MADAmL,GAAUE,EAAW,GAAGG,aAAc,GAC9BH,EAAYA,EAGxB,IAAIvL,GACA2L,EACAC,EAAiBzI,EAAQiC,EAAGwG,gBAC5BC,KACA9J,EAASiD,KAAKjD,MAQlB,IALA4J,EAAgBJ,EAAWO,OAAO,SAASC,GACvC,MAAOxJ,GAAUwJ,EAAMhK,OAAQA,KAI/BI,IAASsE,GAET,IADAzG,EAAI,EACGA,EAAI2L,EAAczL,QACrBmL,EAAUM,EAAc3L,GAAG0L,aAAc,EACzC1L,GAMR,KADAA,EAAI,EACGA,EAAI4L,EAAe1L,QAClBmL,EAAUO,EAAe5L,GAAG0L,aAC5BG,EAAqBnI,KAAKkI,EAAe5L,IAIzCmC,GAAQwE,GAAYC,WACbyE,GAAUO,EAAe5L,GAAG0L,YAEvC1L,GAGJ,OAAK6L,GAAqB3L,QAMtBmD,EAAYsI,EAAcK,OAAOH,GAAuB,cAAc,GACtEA,GAPJ,OAyCJ,QAASlG,KACLX,KAAK6F,KAAOoB,GACZjH,KAAK+F,MAAQmB,GAEbtH,EAAMvD,MAAM2D,KAAM1D,WAElB0D,KAAKmH,MAASnH,KAAKH,QAAQgC,QAAQuF,iBAmEvC,QAASC,KACLrH,KAAKmG,SAAWmB,GAEhB1H,EAAMvD,MAAM2D,KAAM1D,WAuBtB,QAASiL,GAAWnH,EAAIjD,GACpB,GAAIqK,GAAMrJ,EAAQiC,EAAGoG,SACjBiB,EAAUtJ,EAAQiC,EAAGwG,eAMzB,OAJIzJ,KAASsJ,KACTe,EAAMnJ,EAAYmJ,EAAIR,OAAOS,GAAU,cAAc,KAGjDD,EAAKC,GAYjB,QAAS1G,KACLnB,EAAMvD,MAAM2D,KAAM1D,UAElB,IAAIW,GAAUzC,EAAOwF,KAAK/C,QAAS+C,KACnCA,MAAK+G,MAAQ,GAAIM,GAAWrH,KAAKH,QAAS5C,GAC1C+C,KAAK0H,MAAQ,GAAI1G,GAAWhB,KAAKH,QAAS5C,GAyD9C,QAAS0K,GAAY9H,EAAS+H,GAC1B5H,KAAKH,QAAUA,EACfG,KAAK6H,IAAID,GAuFb,QAASE,GAAkBC,GAEvB,GAAIpK,EAAMoK,EAASC,IACf,MAAOA,GAGX,IAAIC,GAAUtK,EAAMoK,EAASG,IACzBC,EAAUxK,EAAMoK,EAASK,GAG7B,OAAIH,IAAWE,EACJD,GAAqB,IAAME,GAIlCH,GAAWE,EACJF,EAAUC,GAAqBE,GAItCzK,EAAMoK,EAASM,IACRA,GAGJC,GA4CX,QAASC,GAAWtI,GAChBD,KAAKwI,GAAKpJ,IAEVY,KAAKH,QAAU,KACfG,KAAKC,QAAUzE,EAAMyE,MAAeD,KAAKyI,UAGzCzI,KAAKC,QAAQI,OAAS1D,EAAYqD,KAAKC,QAAQI,QAAQ,GAEvDL,KAAK0I,MAAQC,GAEb3I,KAAK4I,gBACL5I,KAAK6I,eAiOT,QAASC,GAASJ,GACd,MAAIA,GAAQK,GACD,SACAL,EAAQM,GACR,MACAN,EAAQO,GACR,OACAP,EAAQQ,GACR,QAEJ,GAQX,QAASC,GAAahF,GAClB,MAAIA,IAAac,GACN,OACAd,GAAaa,GACb,KACAb,GAAaW,GACb,OACAX,GAAaY,GACb,QAEJ,GASX,QAASqE,GAA6BC,EAAiBC,GACnD,GAAIzJ,GAAUyJ,EAAWzJ,OACzB,OAAIA,GACOA,EAAQ0J,IAAIF,GAEhBA,EAQX,QAASG,KACLjB,EAAWlM,MAAM2D,KAAM1D,WA6D3B,QAASmN,KACLD,EAAenN,MAAM2D,KAAM1D,WAE3B0D,KAAK0J,GAAK,KACV1J,KAAK2J,GAAK,KA2Ed,QAASC,KACLJ,EAAenN,MAAM2D,KAAM1D,WAsC/B,QAASuN,MACLtB,EAAWlM,MAAM2D,KAAM1D,WAEvB0D,KAAK8J,OAAS,KACd9J,KAAK+J,OAAS,KAmElB,QAASC,MACLR,EAAenN,MAAM2D,KAAM1D,WA8B/B,QAAS2N,MACLT,EAAenN,MAAM2D,KAAM1D,WA0D/B,QAAS4N,MACL3B,EAAWlM,MAAM2D,KAAM1D,WAIvB0D,KAAKmK,OAAQ,EACbnK,KAAKoK,SAAU,EAEfpK,KAAK8J,OAAS,KACd9J,KAAK+J,OAAS,KACd/J,KAAKqK,MAAQ,EAqGjB,QAASC,IAAO/K,EAASU,GAGrB,MAFAA,GAAUA,MACVA,EAAQsK,YAAc5N,EAAYsD,EAAQsK,YAAaD,GAAO7B,SAAS+B,QAChE,GAAIC,IAAQlL,EAASU,GAiIhC,QAASwK,IAAQlL,EAASU,GACtBA,EAAUA,MAEVD,KAAKC,QAAUzE,EAAMyE,EAASqK,GAAO7B,UACrCzI,KAAKC,QAAQC,YAAcF,KAAKC,QAAQC,aAAeX,EAEvDS,KAAK0K,YACL1K,KAAK6B,WACL7B,KAAKuK,eAELvK,KAAKT,QAAUA,EACfS,KAAKmB,MAAQZ,EAAoBP,MACjCA,KAAK2K,YAAc,GAAIhD,GAAY3H,KAAMA,KAAKC,QAAQ0K,aAEtDC,GAAe5K,MAAM,GAErBnF,EAAKoF,EAAQsK,YAAa,SAASM,GAC/B,GAAIvB,GAAatJ,KAAK8K,IAAI,GAAKD,GAAK,GAAIA,EAAK,IAC7CA,GAAK,IAAMvB,EAAWyB,cAAcF,EAAK,IACzCA,EAAK,IAAMvB,EAAW0B,eAAeH,EAAK,KAC3C7K,MAyOP,QAAS4K,IAAe/K,EAASiL,GAC7B,GAAIvL,GAAUM,EAAQN,OACtB1E,GAAKgF,EAAQI,QAAQgL,SAAU,SAASrD,EAAOsD,GAC3C3L,EAAQ4L,MAAMtM,EAASU,EAAQ4L,MAAOD,IAASJ,EAAMlD,EAAQ,KASrE,QAASwD,IAAgBC,EAAOC,GAC5B,GAAIC,GAAevR,EAASwR,YAAY,QACxCD,GAAaE,UAAUJ,GAAO,GAAM,GACpCE,EAAaG,QAAUJ,EACvBA,EAAKvO,OAAO4O,cAAcJ,GAn0E9B,GAAIpM,KAAmB,GAAI,SAAU,MAAO,KAAM,KAAM,KACpDyM,GAAe5R,EAAS6R,cAAc,OAEtCnP,GAAgB,WAEhBiI,GAAQW,KAAKX,MACbF,GAAMa,KAAKb,IACX/B,GAAMoJ,KAAKpJ,IAwSXrD,GAAY,EAeZ0M,GAAe,wCAEfjL,GAAiB,gBAAkB/G,GACnC2G,GAAyB7B,EAAS9E,EAAQ,kBAAoBG,EAC9D0G,GAAqBE,IAAiBiL,GAAaC,KAAKC,UAAUC,WAElEC,GAAmB,QACnBC,GAAiB,MACjBC,GAAmB,QACnBC,GAAoB,SAEpBhI,GAAmB,GAEnB7C,GAAc,EACdgF,GAAa,EACb9E,GAAY,EACZC,GAAe,EAEfiD,GAAiB,EACjBC,GAAiB,EACjBC,GAAkB,EAClBC,GAAe,EACfC,GAAiB,GAEjBsH,GAAuBzH,GAAiBC,GACxCyH,GAAqBxH,GAAeC,GACpCwH,GAAgBF,GAAuBC,GAEvCnH,IAAY,IAAK,KACjBO,IAAmB,UAAW,UA4BlChG,GAAM3D,WAKFgB,QAAS,aAKTqD,KAAM,WACFN,KAAK6F,MAAQ/I,EAAkBkD,KAAKT,QAASS,KAAK6F,KAAM7F,KAAKG,YAC7DH,KAAKmG,UAAYrJ,EAAkBkD,KAAKjD,OAAQiD,KAAKmG,SAAUnG,KAAKG,YACpEH,KAAK+F,OAASjJ,EAAkBwC,EAAoBU,KAAKT,SAAUS,KAAK+F,MAAO/F,KAAKG,aAMxFuM,QAAS,WACL1M,KAAK6F,MAAQxI,EAAqB2C,KAAKT,QAASS,KAAK6F,KAAM7F,KAAKG,YAChEH,KAAKmG,UAAY9I,EAAqB2C,KAAKjD,OAAQiD,KAAKmG,SAAUnG,KAAKG,YACvEH,KAAK+F,OAAS1I,EAAqBiC,EAAoBU,KAAKT,SAAUS,KAAK+F,MAAO/F,KAAKG,aAoT/F,IAAIwM,KACAC,UAAWnL,GACXoL,UAAWpG,GACXqG,QAASnL,IAGTmE,GAAuB,YACvBE,GAAsB,mBAiB1BrK,GAAQqF,EAAYpB,GAKhB3C,QAAS,SAAmBmD,GACxB,GAAIc,GAAYyL,GAAgBvM,EAAGjD,KAG/B+D,GAAYO,IAA6B,IAAdrB,EAAG2M,SAC9B/M,KAAKkG,SAAU,GAGfhF,EAAYuF,IAA2B,IAAbrG,EAAG4M,QAC7B9L,EAAYS,IAIX3B,KAAKkG,SAAYlG,KAAKiG,QAIvB/E,EAAYS,KACZ3B,KAAKkG,SAAU,GAGnBlG,KAAKF,SAASE,KAAKH,QAASqB,GACxBG,UAAWjB,GACXmB,iBAAkBnB,GAClB6M,YAAaZ,GACb3I,SAAUtD,OAKtB,IAAI8M,KACAC,WAAY1L,GACZ2L,UAAW3G,GACX4G,SAAU1L,GACV2L,YAAa1L,IAGbwE,GAA4B,2CAchCzK,GAAQkF,EAAiBjB,GACrB3C,QAAS,SAAoBmD,GACzB,GAAIjD,GAAO+P,GAAsB9M,EAAGjD,MAChCqJ,EAAUF,EAAgBnL,KAAK6E,KAAMI,EAAIjD,EACxCqJ,IAILxG,KAAKF,SAASE,KAAKH,QAAS1C,GACxBkE,SAAUmF,EAAQ,GAClBjF,gBAAiBiF,EAAQ,GACzByG,YAAad,GACbzI,SAAUtD,MAkEtB,IAAImN,KACAC,YAAa/L,GACbgM,YAAahH,GACbiH,UAAW/L,GACXgM,cAAe/L,GACfgM,WAAYhM,IAIZiM,IACAC,EAAG3B,GACH4B,EAAG3B,GACH4B,EAAG3B,GACH4B,EAAG3B,IAGHrF,GAAyB,cACzBC,GAAwB,qCAGxBnN,GAAOmU,iBACPjH,GAAyB,gBACzBC,GAAwB,6CAiB5BvL,EAAQgF,EAAmBf,GAKvB3C,QAAS,SAAmBmD,GACxB,GAAI+G,GAAQnH,KAAKmH,MACbgH,GAAgB,EAEhBC,EAAsBhO,EAAGjD,KAAKkR,cAAcC,QAAQ,KAAM,IAC1DpN,EAAYqM,GAAkBa,GAC9BnB,EAAcY,GAAuBzN,EAAG6M,cAAgB7M,EAAG6M,YAE3DsB,EAAWtB,GAAed,GAG1BqC,EAAavQ,EAAQkJ,EAAO/G,EAAGqO,UAAW,YAG1CvN,GAAYO,KAA8B,IAAdrB,EAAG2M,QAAgBwB,GAC9B,EAAbC,IACArH,EAAMzI,KAAK0B,GACXoO,EAAarH,EAAMjM,OAAS,GAEzBgG,GAAaS,GAAYC,MAChCuM,GAAgB,GAIH,EAAbK,IAKJrH,EAAMqH,GAAcpO,EAEpBJ,KAAKF,SAASE,KAAKH,QAASqB,GACxBG,SAAU8F,EACV5F,iBAAkBnB,GAClB6M,YAAaA,EACbvJ,SAAUtD,IAGV+N,GAEAhH,EAAMuH,OAAOF,EAAY,MAKrC,IAAIG,KACAxB,WAAY1L,GACZ2L,UAAW3G,GACX4G,SAAU1L,GACV2L,YAAa1L,IAGb0F,GAAsB,2CAa1B3L,GAAQ0L,EAAYzH,GAChB3C,QAAS,SAAmBmD,GACxB,GAAIjD,GAAOwR,GAAgBvO,EAAGjD,MAC1BqJ,EAAUe,EAAWpM,KAAK6E,KAAMI,EAAIjD,EAExC6C,MAAKF,SAASE,KAAKH,QAAS1C,GACxBkE,SAAUmF,EAAQ,GAClBjF,gBAAiBiF,EAAQ,GACzByG,YAAad,GACbzI,SAAUtD,OAuCtBzE,EAAQoF,EAAiBnB,GAOrB3C,QAAS,SAAoB4C,EAAS+O,EAAYC,GAC9C,GAAIN,GAAWM,EAAU5B,aAAed,GACpC2C,EAAWD,EAAU5B,aAAeZ,EAIxC,IAAIkC,EACAvO,KAAK0H,MAAMzB,OAAQ,MAChB,IAAI6I,IAAY9O,KAAK0H,MAAMzB,MAC9B,MAIA2I,IAAcjN,GAAYC,MAC1B5B,KAAK0H,MAAMzB,OAAQ,GAGvBjG,KAAKF,SAASD,EAAS+O,EAAYC,IAMvCnC,QAAS,WACL1M,KAAK+G,MAAM2F,UACX1M,KAAK0H,MAAMgF,YAInB,IAAIqC,IAAwBlQ,EAAS+M,GAAaT,MAAO,eACrD6D,GAAsBD,KAA0B7U,EAGhD+U,GAAuB,UACvB3G,GAAoB,OACpBD,GAA4B,eAC5BL,GAAoB,OACpBE,GAAqB,QACrBE,GAAqB,OAczBT,GAAY1L,WAKR4L,IAAK,SAASD,GAENA,GAASqH,KACTrH,EAAQ5H,KAAKkP,WAGbF,KACAhP,KAAKH,QAAQN,QAAQ4L,MAAM4D,IAAyBnH,GAExD5H,KAAK+H,QAAUH,EAAMyG,cAActQ,QAMvCoR,OAAQ,WACJnP,KAAK6H,IAAI7H,KAAKH,QAAQI,QAAQ0K,cAOlCuE,QAAS,WACL,GAAInH,KAMJ,OALAlN,GAAKmF,KAAKH,QAAQ0K,YAAa,SAASjB,GAChC/M,EAAS+M,EAAWrJ,QAAQI,QAASiJ,MACrCvB,EAAUA,EAAQf,OAAOsC,EAAW8F,qBAGrCtH,EAAkBC,EAAQsH,KAAK,OAO1CC,gBAAiB,SAASnO,GAEtB,IAAI6N,GAAJ,CAIA,GAAItL,GAAWvC,EAAMuC,SACjBS,EAAYhD,EAAM8B,eAGtB,IAAIjD,KAAKH,QAAQgC,QAAQ0N,UAErB,WADA7L,GAAS8L,gBAIb,IAAIzH,GAAU/H,KAAK+H,QACf0H,EAAU9R,EAAMoK,EAASC,IACzBG,EAAUxK,EAAMoK,EAASK,IACzBH,EAAUtK,EAAMoK,EAASG,GAE7B,OAAIuH,IACCtH,GAAWhE,EAAYoI,IACvBtE,GAAW9D,EAAYqI,GACjBxM,KAAK0P,WAAWhM,GAH3B,SAWJgM,WAAY,SAAShM,GACjB1D,KAAKH,QAAQgC,QAAQ0N,WAAY,EACjC7L,EAAS8L,kBA+DjB,IAAI7G,IAAiB,EACjBO,GAAc,EACdD,GAAgB,EAChBD,GAAc,EACd2G,GAAmB3G,GACnBD,GAAkB,GAClB6G,GAAe,EAuBnBrH,GAAWtM,WAKPwM,YAOAZ,IAAK,SAAS5H,GAKV,MAJA5E,GAAO2E,KAAKC,QAASA,GAGrBD,KAAKH,SAAWG,KAAKH,QAAQ8K,YAAYwE,SAClCnP,MAQX+K,cAAe,SAAS1B,GACpB,GAAI5O,EAAe4O,EAAiB,gBAAiBrJ,MACjD,MAAOA,KAGX,IAAI4I,GAAe5I,KAAK4I,YAMxB,OALAS,GAAkBD,EAA6BC,EAAiBrJ,MAC3D4I,EAAaS,EAAgBb,MAC9BI,EAAaS,EAAgBb,IAAMa,EACnCA,EAAgB0B,cAAc/K,OAE3BA,MAQX6P,kBAAmB,SAASxG,GACxB,MAAI5O,GAAe4O,EAAiB,oBAAqBrJ,MAC9CA,MAGXqJ,EAAkBD,EAA6BC,EAAiBrJ,YACzDA,MAAK4I,aAAaS,EAAgBb,IAClCxI,OAQXgL,eAAgB,SAAS3B,GACrB,GAAI5O,EAAe4O,EAAiB,iBAAkBrJ,MAClD,MAAOA,KAGX,IAAI6I,GAAc7I,KAAK6I,WAMvB,OALAQ,GAAkBD,EAA6BC,EAAiBrJ,MAClB,KAA1C/B,EAAQ4K,EAAaQ,KACrBR,EAAYnK,KAAK2K,GACjBA,EAAgB2B,eAAehL,OAE5BA,MAQX8P,mBAAoB,SAASzG,GACzB,GAAI5O,EAAe4O,EAAiB,qBAAsBrJ,MACtD,MAAOA,KAGXqJ,GAAkBD,EAA6BC,EAAiBrJ,KAChE,IAAI+P,GAAQ9R,EAAQ+B,KAAK6I,YAAaQ,EAItC,OAHI0G,GAAQ,IACR/P,KAAK6I,YAAY6F,OAAOqB,EAAO,GAE5B/P,MAOXgQ,mBAAoB,WAChB,MAAOhQ,MAAK6I,YAAY3N,OAAS,GAQrC+U,iBAAkB,SAAS5G,GACvB,QAASrJ,KAAK4I,aAAaS,EAAgBb,KAQ/CzG,KAAM,SAASZ,GAIX,QAASY,GAAKmO,GACVnQ,EAAKF,QAAQkC,KAAKhC,EAAKE,QAAQoL,OAAS6E,EAAYpH,EAASJ,GAAS,IAAKvH,GAJ/E,GAAIpB,GAAOC,KACP0I,EAAQ1I,KAAK0I,KAOLM,IAARN,GACA3G,GAAK,GAGTA,IAGI2G,GAASM,IACTjH,GAAK,IAUboO,QAAS,SAAShP,GACd,MAAInB,MAAKoQ,UACEpQ,KAAK+B,KAAKZ,QAGrBnB,KAAK0I,MAAQkH,KAOjBQ,QAAS,WAEL,IADA,GAAIpV,GAAI,EACDA,EAAIgF,KAAK6I,YAAY3N,QAAQ,CAChC,KAAM8E,KAAK6I,YAAY7N,GAAG0N,OAASkH,GAAejH,KAC9C,OAAO,CAEX3N,KAEJ,OAAO,GAOXgH,UAAW,SAAS6M,GAGhB,GAAIwB,GAAiBhV,KAAWwT,EAGhC,OAAKtS,GAASyD,KAAKC,QAAQI,QAASL,KAAMqQ,KAOtCrQ,KAAK0I,OAASiH,GAAmB5G,GAAkB6G,MACnD5P,KAAK0I,MAAQC,IAGjB3I,KAAK0I,MAAQ1I,KAAKsQ,QAAQD,QAItBrQ,KAAK0I,OAASQ,GAAcD,GAAgBD,GAAcD,KAC1D/I,KAAKmQ,QAAQE,MAfbrQ,KAAKuQ,aACLvQ,KAAK0I,MAAQkH,MAyBrBU,QAAS,aAOTlB,eAAgB,aAOhBmB,MAAO,cA8DX5U,EAAQ6N,EAAgBjB,GAKpBE,UAKIpH,SAAU,GASdmP,SAAU,SAASrP,GACf,GAAIsP,GAAiBzQ,KAAKC,QAAQoB,QAClC,OAA0B,KAAnBoP,GAAwBtP,EAAME,SAASnG,SAAWuV,GAS7DH,QAAS,SAASnP,GACd,GAAIuH,GAAQ1I,KAAK0I,MACbxH,EAAYC,EAAMD,UAElBwP,EAAehI,GAASQ,GAAcD,IACtC0H,EAAU3Q,KAAKwQ,SAASrP,EAG5B,OAAIuP,KAAiBxP,EAAYU,KAAiB+O,GACvCjI,EAAQK,GACR2H,GAAgBC,EACnBzP,EAAYS,GACL+G,EAAQM,GACNN,EAAQQ,GAGdR,EAAQO,GAFJC,GAIR0G,MAiBfjU,EAAQ8N,EAAeD,GAKnBf,UACI4C,MAAO,MACPuF,UAAW,GACXvP,SAAU,EACV8C,UAAWsI,IAGf2C,eAAgB,WACZ,GAAIjL,GAAYnE,KAAKC,QAAQkE,UACzB4D,IAOJ,OANI5D,GAAYoI,IACZxE,EAAQrJ,KAAK0J,IAEbjE,EAAYqI,IACZzE,EAAQrJ,KAAKwJ,IAEVH,GAGX8I,cAAe,SAAS1P,GACpB,GAAIlB,GAAUD,KAAKC,QACf6Q,GAAW,EACXhO,EAAW3B,EAAM2B,SACjBqB,EAAYhD,EAAMgD,UAClBL,EAAI3C,EAAMgC,OACVY,EAAI5C,EAAMiC,MAed,OAZMe,GAAYlE,EAAQkE,YAClBlE,EAAQkE,UAAYoI,IACpBpI,EAAmB,IAANL,EAAWe,GAAsB,EAAJf,EAASgB,GAAiBC,GACpE+L,EAAWhN,GAAK9D,KAAK0J,GACrB5G,EAAWwC,KAAKb,IAAItD,EAAMgC,UAE1BgB,EAAmB,IAANJ,EAAWc,GAAsB,EAAJd,EAASiB,GAAeC,GAClE6L,EAAW/M,GAAK/D,KAAK2J,GACrB7G,EAAWwC,KAAKb,IAAItD,EAAMiC,UAGlCjC,EAAMgD,UAAYA,EACX2M,GAAYhO,EAAW7C,EAAQ2Q,WAAazM,EAAYlE,EAAQkE,WAG3EqM,SAAU,SAASrP,GACf,MAAOqI,GAAevN,UAAUuU,SAASrV,KAAK6E,KAAMmB,KAC/CnB,KAAK0I,MAAQQ,MAAkBlJ,KAAK0I,MAAQQ,KAAgBlJ,KAAK6Q,cAAc1P,KAGxFY,KAAM,SAASZ,GACXnB,KAAK0J,GAAKvI,EAAMgC,OAChBnD,KAAK2J,GAAKxI,EAAMiC,MAEhB,IAAIe,GAAYgF,EAAahI,EAAMgD,UAC/BA,IACAnE,KAAKH,QAAQkC,KAAK/B,KAAKC,QAAQoL,MAAQlH,EAAWhD,GAGtDnB,KAAK5D,OAAO2F,KAAK5G,KAAK6E,KAAMmB,MAcpCxF,EAAQiO,EAAiBJ,GAKrBf,UACI4C,MAAO,QACPuF,UAAW,EACXvP,SAAU,GAGd+N,eAAgB,WACZ,OAAQpH,KAGZwI,SAAU,SAASrP,GACf,MAAOnB,MAAK5D,OAAOoU,SAASrV,KAAK6E,KAAMmB,KAClCmE,KAAKb,IAAItD,EAAMkC,MAAQ,GAAKrD,KAAKC,QAAQ2Q,WAAa5Q,KAAK0I,MAAQQ,KAG5EnH,KAAM,SAASZ,GAEX,GADAnB,KAAK5D,OAAO2F,KAAK5G,KAAK6E,KAAMmB,GACR,IAAhBA,EAAMkC,MAAa,CACnB,GAAI0N,GAAQ5P,EAAMkC,MAAQ,EAAI,KAAO,KACrCrD,MAAKH,QAAQkC,KAAK/B,KAAKC,QAAQoL,MAAQ0F,EAAO5P,OAkB1DxF,EAAQkO,GAAiBtB,GAKrBE,UACI4C,MAAO,QACPhK,SAAU,EACV2P,KAAM,IACNJ,UAAW,GAGfxB,eAAgB,WACZ,OAAQ9G,KAGZgI,QAAS,SAASnP,GACd,GAAIlB,GAAUD,KAAKC,QACfgR,EAAgB9P,EAAME,SAASnG,SAAW+E,EAAQoB,SAClD6P,EAAgB/P,EAAM2B,SAAW7C,EAAQ2Q,UACzCO,EAAYhQ,EAAMwB,UAAY1C,EAAQ+Q,IAM1C,IAJAhR,KAAK+J,OAAS5I,GAIT+P,IAAkBD,GAAkB9P,EAAMD,WAAaS,GAAYC,MAAkBuP,EACtFnR,KAAKuQ,YACF,IAAIpP,EAAMD,UAAYO,GACzBzB,KAAKuQ,QACLvQ,KAAK8J,OAAS3P,EAAkB,WAC5B6F,KAAK0I,MAAQiH,GACb3P,KAAKmQ,WACNlQ,EAAQ+Q,KAAMhR,UACd,IAAImB,EAAMD,UAAYS,GACzB,MAAOgO,GAEX,OAAOC,KAGXW,MAAO,WACHa,aAAapR,KAAK8J,SAGtB/H,KAAM,SAASZ,GACPnB,KAAK0I,QAAUiH,KAIfxO,GAAUA,EAAMD,UAAYS,GAC5B3B,KAAKH,QAAQkC,KAAK/B,KAAKC,QAAQoL,MAAQ,KAAMlK,IAE7CnB,KAAK+J,OAAOtH,UAAYC,KACxB1C,KAAKH,QAAQkC,KAAK/B,KAAKC,QAAQoL,MAAOrL,KAAK+J,aAevDpO,EAAQqO,GAAkBR,GAKtBf,UACI4C,MAAO,SACPuF,UAAW,EACXvP,SAAU,GAGd+N,eAAgB,WACZ,OAAQpH,KAGZwI,SAAU,SAASrP,GACf,MAAOnB,MAAK5D,OAAOoU,SAASrV,KAAK6E,KAAMmB,KAClCmE,KAAKb,IAAItD,EAAMoC,UAAYvD,KAAKC,QAAQ2Q,WAAa5Q,KAAK0I,MAAQQ,OAc/EvN,EAAQsO,GAAiBT,GAKrBf,UACI4C,MAAO,QACPuF,UAAW,GACX5M,SAAU,IACVG,UAAWoI,GAAuBC,GAClCnL,SAAU,GAGd+N,eAAgB,WACZ,MAAO3F,GAAcxN,UAAUmT,eAAejU,KAAK6E,OAGvDwQ,SAAU,SAASrP,GACf,GACI6C,GADAG,EAAYnE,KAAKC,QAAQkE,SAW7B,OARIA,IAAaoI,GAAuBC,IACpCxI,EAAW7C,EAAM6C,SACVG,EAAYoI,GACnBvI,EAAW7C,EAAM8C,UACVE,EAAYqI,KACnBxI,EAAW7C,EAAM+C,WAGdlE,KAAK5D,OAAOoU,SAASrV,KAAK6E,KAAMmB,IACnCgD,EAAYhD,EAAMgD,WAClBhD,EAAM2B,SAAW9C,KAAKC,QAAQ2Q,WAC9BnM,GAAIT,GAAYhE,KAAKC,QAAQ+D,UAAY7C,EAAMD,UAAYS,IAGnEI,KAAM,SAASZ,GACX,GAAIgD,GAAYgF,EAAahI,EAAMgD,UAC/BA,IACAnE,KAAKH,QAAQkC,KAAK/B,KAAKC,QAAQoL,MAAQlH,EAAWhD,GAGtDnB,KAAKH,QAAQkC,KAAK/B,KAAKC,QAAQoL,MAAOlK,MA2B9CxF,EAAQuO,GAAe3B,GAKnBE,UACI4C,MAAO,MACPhK,SAAU,EACVgQ,KAAM,EACNC,SAAU,IACVN,KAAM,IACNJ,UAAW,EACXW,aAAc,IAGlBnC,eAAgB,WACZ,OAAQ/G,KAGZiI,QAAS,SAASnP,GACd,GAAIlB,GAAUD,KAAKC,QAEfgR,EAAgB9P,EAAME,SAASnG,SAAW+E,EAAQoB,SAClD6P,EAAgB/P,EAAM2B,SAAW7C,EAAQ2Q,UACzCY,EAAiBrQ,EAAMwB,UAAY1C,EAAQ+Q,IAI/C,IAFAhR,KAAKuQ,QAEApP,EAAMD,UAAYO,IAAgC,IAAfzB,KAAKqK,MACzC,MAAOrK,MAAKyR,aAKhB,IAAIP,GAAiBM,GAAkBP,EAAe,CAClD,GAAI9P,EAAMD,WAAaS,GACnB,MAAO3B,MAAKyR,aAGhB,IAAIC,GAAgB1R,KAAKmK,MAAShJ,EAAMsB,UAAYzC,KAAKmK,MAAQlK,EAAQqR,UAAY,EACjFK,GAAiB3R,KAAKoK,SAAWrH,EAAY/C,KAAKoK,QAASjJ,EAAMoB,QAAUtC,EAAQsR,YAEvFvR,MAAKmK,MAAQhJ,EAAMsB,UACnBzC,KAAKoK,QAAUjJ,EAAMoB,OAEhBoP,GAAkBD,EAGnB1R,KAAKqK,OAAS,EAFdrK,KAAKqK,MAAQ,EAKjBrK,KAAK+J,OAAS5I,CAId,IAAIyQ,GAAW5R,KAAKqK,MAAQpK,EAAQoR,IACpC,IAAiB,IAAbO,EAGA,MAAK5R,MAAKgQ,sBAGNhQ,KAAK8J,OAAS3P,EAAkB,WAC5B6F,KAAK0I,MAAQiH,GACb3P,KAAKmQ,WACNlQ,EAAQqR,SAAUtR,MACdkJ,IANAyG,GAUnB,MAAOC,KAGX6B,YAAa,WAIT,MAHAzR,MAAK8J,OAAS3P,EAAkB,WAC5B6F,KAAK0I,MAAQkH,IACd5P,KAAKC,QAAQqR,SAAUtR,MACnB4P,IAGXW,MAAO,WACHa,aAAapR,KAAK8J,SAGtB/H,KAAM,WACE/B,KAAK0I,OAASiH,KACd3P,KAAK+J,OAAO6H,SAAW5R,KAAKqK,MAC5BrK,KAAKH,QAAQkC,KAAK/B,KAAKC,QAAQoL,MAAOrL,KAAK+J,YAoBvDO,GAAOuH,QAAU,QAMjBvH,GAAO7B,UAOHqJ,WAAW,EAQXnH,YAAasE,GAMb5O,QAAQ,EASRH,YAAa,KAObO,WAAY,KAOZ+J,SAEKR,IAAoB3J,QAAQ,KAC5BuJ,GAAmBvJ,QAAQ,IAAU,YACrC4J,IAAkB9F,UAAWoI,MAC7B9C,GAAiBtF,UAAWoI,KAAyB,WACrDrC,KACAA,IAAiBmB,MAAO,YAAagG,KAAM,IAAM,SACjDxH,KAQLoB,UAMI8G,WAAY,OAOZC,YAAa,OASbC,aAAc,OAOdC,eAAgB,OAOhBC,SAAU,OAQVC,kBAAmB,iBAI3B,IAAIC,IAAO,EACPC,GAAc,CA+BlB7H,IAAQxO,WAMJ4L,IAAK,SAAS5H,GAaV,MAZA5E,GAAO2E,KAAKC,QAASA,GAGjBA,EAAQ0K,aACR3K,KAAK2K,YAAYwE,SAEjBlP,EAAQC,cAERF,KAAKmB,MAAMuL,UACX1M,KAAKmB,MAAMpE,OAASkD,EAAQC,YAC5BF,KAAKmB,MAAMb,QAERN,MASXuS,KAAM,SAASC,GACXxS,KAAK6B,QAAQ4Q,QAAUD,EAAQF,GAAcD,IASjDrQ,UAAW,SAAS6M,GAChB,GAAIhN,GAAU7B,KAAK6B,OACnB,KAAIA,EAAQ4Q,QAAZ,CAKAzS,KAAK2K,YAAY2E,gBAAgBT,EAEjC,IAAIvF,GACAiB,EAAcvK,KAAKuK,YAKnBmI,EAAgB7Q,EAAQ6Q,gBAIvBA,GAAkBA,GAAiBA,EAAchK,MAAQiH,MAC1D+C,EAAgB7Q,EAAQ6Q,cAAgB,KAI5C,KADA,GAAI1X,GAAI,EACDA,EAAIuP,EAAYrP,QACnBoO,EAAaiB,EAAYvP,GAQrB6G,EAAQ4Q,UAAYH,IACfI,GAAiBpJ,GAAcoJ,IAChCpJ,EAAW2G,iBAAiByC,GAGhCpJ,EAAWiH,QAFXjH,EAAWtH,UAAU6M,IAOpB6D,GAAiBpJ,EAAWZ,OAASQ,GAAcD,GAAgBD,MACpE0J,EAAgB7Q,EAAQ6Q,cAAgBpJ,GAE5CtO,MASRuO,IAAK,SAASD,GACV,GAAIA,YAAsBf,GACtB,MAAOe,EAIX,KAAK,GADDiB,GAAcvK,KAAKuK,YACdvP,EAAI,EAAGA,EAAIuP,EAAYrP,OAAQF,IACpC,GAAIuP,EAAYvP,GAAGiF,QAAQoL,OAAS/B,EAChC,MAAOiB,GAAYvP,EAG3B,OAAO,OASX8P,IAAK,SAASxB,GACV,GAAI7O,EAAe6O,EAAY,MAAOtJ,MAClC,MAAOA,KAIX,IAAI2S,GAAW3S,KAAKuJ,IAAID,EAAWrJ,QAAQoL,MAS3C,OARIsH,IACA3S,KAAK4S,OAAOD,GAGhB3S,KAAKuK,YAAY7L,KAAK4K,GACtBA,EAAWzJ,QAAUG,KAErBA,KAAK2K,YAAYwE,SACV7F,GAQXsJ,OAAQ,SAAStJ,GACb,GAAI7O,EAAe6O,EAAY,SAAUtJ,MACrC,MAAOA,KAGX,IAAIuK,GAAcvK,KAAKuK,WAKvB,OAJAjB,GAAatJ,KAAKuJ,IAAID,GACtBiB,EAAYmE,OAAOzQ,EAAQsM,EAAajB,GAAa,GAErDtJ,KAAK2K,YAAYwE,SACVnP,MASX6S,GAAI,SAASC,EAAQ7V,GACjB,GAAIyN,GAAW1K,KAAK0K,QAKpB,OAJA7P,GAAKqC,EAAS4V,GAAS,SAASzH,GAC5BX,EAASW,GAASX,EAASW,OAC3BX,EAASW,GAAO3M,KAAKzB,KAElB+C,MASX+S,IAAK,SAASD,EAAQ7V,GAClB,GAAIyN,GAAW1K,KAAK0K,QAQpB,OAPA7P,GAAKqC,EAAS4V,GAAS,SAASzH,GACvBpO,EAGDyN,EAASW,GAAOqD,OAAOzQ,EAAQyM,EAASW,GAAQpO,GAAU,SAFnDyN,GAASW,KAKjBrL,MAQX+B,KAAM,SAASsJ,EAAOC,GAEdtL,KAAKC,QAAQ6R,WACb1G,GAAgBC,EAAOC,EAI3B,IAAIZ,GAAW1K,KAAK0K,SAASW,IAAUrL,KAAK0K,SAASW,GAAOjN,OAC5D,IAAKsM,GAAaA,EAASxP,OAA3B,CAIAoQ,EAAKnO,KAAOkO,EACZC,EAAKkE,eAAiB,WAClBlE,EAAK5H,SAAS8L,iBAIlB,KADA,GAAIxU,GAAI,EACDA,EAAI0P,EAASxP,QAChBwP,EAAS1P,GAAGsQ,GACZtQ,MAQR0R,QAAS,WACL1M,KAAKT,SAAWqL,GAAe5K,MAAM,GAErCA,KAAK0K,YACL1K,KAAK6B,WACL7B,KAAKmB,MAAMuL,UACX1M,KAAKT,QAAU,OA4BvBlE,EAAOiP,IACH7I,YAAaA,GACbgF,WAAYA,GACZ9E,UAAWA,GACXC,aAAcA,GAEd+G,eAAgBA,GAChBO,YAAaA,GACbD,cAAeA,GACfD,YAAaA,GACb2G,iBAAkBA,GAClB5G,gBAAiBA,GACjB6G,aAAcA,GAEd/K,eAAgBA,GAChBC,eAAgBA,GAChBC,gBAAiBA,GACjBC,aAAcA,GACdC,eAAgBA,GAChBsH,qBAAsBA,GACtBC,mBAAoBA,GACpBC,cAAeA,GAEfhC,QAASA,GACT7K,MAAOA,EACP+H,YAAaA,EAEbN,WAAYA,EACZxG,gBAAiBA,EACjBG,WAAYA,EACZL,kBAAmBA,EACnBI,gBAAiBA,EAEjBwH,WAAYA,EACZiB,eAAgBA,EAChBwJ,IAAK9I,GACL+I,IAAKxJ,EACLyJ,MAAOjJ,GACPkJ,MAAOvJ,EACPwJ,OAAQpJ,GACRqJ,MAAOxJ,GAEPgJ,GAAI/V,EACJiW,IAAK1V,EACLxC,KAAMA,EACNW,MAAOA,EACPH,OAAQA,EACRM,QAASA,EACTnB,OAAQA,EACRqE,SAAUA,UAGHyU,SAAU5W,IAAiB4W,OAAOC,IACzCD,OAAO,WACH,MAAOhJ,MAEa,mBAAVkJ,SAAyBA,OAAOC,QAC9CD,OAAOC,QAAUnJ,GAEjBvQ,EAAOE,GAAcqQ,IAGtBvQ,OAAQC,SAAU&quot;}</td>
      </tr>
</table>

  </div>

  </div>
</div>

<a href="#jump-to-line" rel="facebox[.linejump]" data-hotkey="l" style="display:none">Jump to Line</a>
<div id="jump-to-line" style="display:none">
  <form accept-charset="UTF-8" class="js-jump-to-line-form">
    <input class="linejump-input js-jump-to-line-field" type="text" placeholder="Jump to line&hellip;" autofocus>
    <button type="submit" class="button">Go</button>
  </form>
</div>

        </div>

      </div><!-- /.repo-container -->
      <div class="modal-backdrop"></div>
    </div><!-- /.container -->
  </div><!-- /.site -->


    </div><!-- /.wrapper -->

      <div class="container">
  <div class="site-footer">
    <ul class="site-footer-links right">
      <li><a href="https://status.github.com/">Status</a></li>
      <li><a href="http://developer.github.com">API</a></li>
      <li><a href="http://training.github.com">Training</a></li>
      <li><a href="http://shop.github.com">Shop</a></li>
      <li><a href="/blog">Blog</a></li>
      <li><a href="/about">About</a></li>

    </ul>

    <a href="/" aria-label="Homepage">
      <span class="mega-octicon octicon-mark-github" title="GitHub"></span>
    </a>

    <ul class="site-footer-links">
      <li>&copy; 2014 <span title="0.02716s from github-fe132-cp1-prd.iad.github.net">GitHub</span>, Inc.</li>
        <li><a href="/site/terms">Terms</a></li>
        <li><a href="/site/privacy">Privacy</a></li>
        <li><a href="/security">Security</a></li>
        <li><a href="/contact">Contact</a></li>
    </ul>
  </div><!-- /.site-footer -->
</div><!-- /.container -->


    <div class="fullscreen-overlay js-fullscreen-overlay" id="fullscreen_overlay">
  <div class="fullscreen-container js-suggester-container">
    <div class="textarea-wrap">
      <textarea name="fullscreen-contents" id="fullscreen-contents" class="fullscreen-contents js-fullscreen-contents js-suggester-field" placeholder=""></textarea>
    </div>
  </div>
  <div class="fullscreen-sidebar">
    <a href="#" class="exit-fullscreen js-exit-fullscreen tooltipped tooltipped-w" aria-label="Exit Zen Mode">
      <span class="mega-octicon octicon-screen-normal"></span>
    </a>
    <a href="#" class="theme-switcher js-theme-switcher tooltipped tooltipped-w"
      aria-label="Switch themes">
      <span class="octicon octicon-color-mode"></span>
    </a>
  </div>
</div>



    <div id="ajax-error-message" class="flash flash-error">
      <span class="octicon octicon-alert"></span>
      <a href="#" class="octicon octicon-x flash-close js-ajax-error-dismiss" aria-label="Dismiss error"></a>
      Something went wrong with that request. Please try again.
    </div>


      <script crossorigin="anonymous" src="https://assets-cdn.github.com/assets/frameworks-aa525778734e809f86b506a9e578025218e40c30.js" type="text/javascript"></script>
      <script async="async" crossorigin="anonymous" src="https://assets-cdn.github.com/assets/github-dfba32bb4a9d2a598ece07efb426aeb31b565f3f.js" type="text/javascript"></script>
      
      
        <script async src="https://www.google-analytics.com/analytics.js"></script>
  </body>
</html>

