<!DOCTYPE html>
<html lang=" en"><head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link href="https://raw.githubusercontent.com/dmlc/web-data/master/mxnet/image/mxnet-icon.png" rel="icon" type="image/png"><!-- Begin Jekyll SEO tag v2.6.1 -->
<title>GitHub contribution and PR verification tips | Apache MXNet</title>
<meta name="generator" content="Jekyll v3.8.6" />
<meta property="og:title" content="GitHub contribution and PR verification tips" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="A flexible and efficient library for deep learning." />
<meta property="og:description" content="A flexible and efficient library for deep learning." />
<link rel="canonical" href="https://mxnet.apache.org/versions/1.7/api/dev-guide/github_contribution_and_PR_verification_tips" />
<meta property="og:url" content="https://mxnet.apache.org/versions/1.7/api/dev-guide/github_contribution_and_PR_verification_tips" />
<meta property="og:site_name" content="Apache MXNet" />
<script type="application/ld+json">
{"description":"A flexible and efficient library for deep learning.","headline":"GitHub contribution and PR verification tips","@type":"WebPage","url":"https://mxnet.apache.org/versions/1.7/api/dev-guide/github_contribution_and_PR_verification_tips","@context":"https://schema.org"}</script>
<!-- End Jekyll SEO tag -->
<script src="https://medium-widget.pixelpoint.io/widget.js"></script>
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css" />
  <link rel="stylesheet" href="/versions/1.7/assets/main.css"><link type="application/atom+xml" rel="alternate" href="https://mxnet.apache.org/versions/1.7/feed.xml" title="Apache MXNet" /><script>
if(!(window.doNotTrack === "1" || navigator.doNotTrack === "1" || navigator.doNotTrack === "yes" || navigator.msDoNotTrack === "1")) {
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-96378503-1', 'auto');
  ga('send', 'pageview');
}
</script>
  
<script src="/versions/1.7/assets/js/jquery-3.3.1.min.js"></script><script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js" defer></script>
  <script src="/versions/1.7/assets/js/globalSearch.js" defer></script>
  <script src="/versions/1.7/assets/js/clipboard.js" defer></script>
  <script src="/versions/1.7/assets/js/copycode.js" defer></script></head>
<body><header class="site-header" role="banner">

  <script>
    $(document).ready(function () {

      // HEADER OPACITY LOGIC

      function opacity_header() {
        var value = "rgba(4,140,204," + ($(window).scrollTop() / 300 + 0.4) + ")"
        $('.site-header').css("background-color", value)
      }

      $(window).scroll(function () {
        opacity_header()
      })
      opacity_header();

      // MENU SELECTOR LOGIC
      $('.page-link').each( function () {
        if (window.location.href.includes(this.href)) {
          $(this).addClass("page-current");
        }
      });
    })
  </script>
  <div class="wrapper">
    <a class="site-title" rel="author" href="/versions/1.7/"><img
            src="/versions/1.7/assets/img/mxnet_logo.png" class="site-header-logo"></a>
    <nav class="site-nav">
      <input type="checkbox" id="nav-trigger" class="nav-trigger"/>
      <label for="nav-trigger">
          <span class="menu-icon">
            <svg viewBox="0 0 18 15" width="18px" height="15px">
              <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"/>
            </svg>
          </span>
      </label>
      <div class="gs-search-border">
        <div id="gs-search-icon"></div>
        <form id="global-search-form">
          <input id="global-search" type="text" title="Search" placeholder="Search" />
          <div id="global-search-dropdown-container">
            <button class="gs-current-version btn" type="button" data-toggle="dropdown">
                <span id="gs-current-version-label">1.7</span>
                <svg class="gs-dropdown-caret" viewBox="0 0 32 32" class="icon icon-caret-bottom" aria-hidden="true">
                    <path class="dropdown-caret-path" d="M24 11.305l-7.997 11.39L8 11.305z"></path>
                </svg>
            </button>
            <ul class="gs-opt-group gs-version-dropdown">
              
                
                  <li class="gs-opt gs-versions">master</li>
                
              
                
                  <li class="gs-opt gs-versions active">1.7</li>
                
              
                
                  <li class="gs-opt gs-versions">1.6</li>
                
              
                
                  <li class="gs-opt gs-versions">1.5.0</li>
                
              
                
                  <li class="gs-opt gs-versions">1.4.1</li>
                
              
                
                  <li class="gs-opt gs-versions">1.3.1</li>
                
              
                
                  <li class="gs-opt gs-versions">1.2.1</li>
                
              
                
                  <li class="gs-opt gs-versions">1.1.0</li>
                
              
                
                  <li class="gs-opt gs-versions">1.0.0</li>
                
              
                
                  <li class="gs-opt gs-versions">0.12.1</li>
                
              
                
                  <li class="gs-opt gs-versions">0.11.0</li>
                
              
            </ul>
        </div>
          <span id="global-search-close">x</span>
        </form>
      </div>
      <div class="trigger">
        <div id="global-search-mobile-border">
          <div id="gs-search-icon-mobile"></div>
          <input id="global-search-mobile" placeholder="Search..." type="text"/>
          <div id="global-search-dropdown-container-mobile">
            <button class="gs-current-version-mobile btn" type="button" data-toggle="dropdown">
                <svg class="gs-dropdown-caret" viewBox="0 0 32 32" class="icon icon-caret-bottom" aria-hidden="true">
                    <path class="dropdown-caret-path" d="M24 11.305l-7.997 11.39L8 11.305z"></path>
                </svg>
            </button>
            <ul class="gs-opt-group gs-version-dropdown-mobile">
              
                
                  <li class="gs-opt gs-versions">master</li>
                
              
                
                  <li class="gs-opt gs-versions active">1.7</li>
                
              
                
                  <li class="gs-opt gs-versions">1.6</li>
                
              
                
                  <li class="gs-opt gs-versions">1.5.0</li>
                
              
                
                  <li class="gs-opt gs-versions">1.4.1</li>
                
              
                
                  <li class="gs-opt gs-versions">1.3.1</li>
                
              
                
                  <li class="gs-opt gs-versions">1.2.1</li>
                
              
                
                  <li class="gs-opt gs-versions">1.1.0</li>
                
              
                
                  <li class="gs-opt gs-versions">1.0.0</li>
                
              
                
                  <li class="gs-opt gs-versions">0.12.1</li>
                
              
                
                  <li class="gs-opt gs-versions">0.11.0</li>
                
              
            </ul>
        </div>
        </div>
        <a class="page-link" href="/versions/1.7/get_started">Get Started</a>
        <a class="page-link" href="/versions/1.7/blog">Blog</a>
        <a class="page-link" href="/versions/1.7/features">Features</a>
        <a class="page-link" href="/versions/1.7/ecosystem">Ecosystem</a>
        <a class="page-link" href="/versions/1.7/api">Docs & Tutorials</a>
        <a class="page-link" href="https://github.com/apache/incubator-mxnet">GitHub</a>
        <div class="dropdown">
          <span class="dropdown-header">1.7
            <svg class="dropdown-caret" viewBox="0 0 32 32" class="icon icon-caret-bottom" aria-hidden="true"><path class="dropdown-caret-path" d="M24 11.305l-7.997 11.39L8 11.305z"></path></svg>
          </span>
          <div class="dropdown-content">
            <a href="/">master</a>
            <a class="dropdown-option-active" href="/versions/1.7/">1.7</a>
            <a href="/versions/1.6/">1.6</a>
            <a href="/versions/1.5.0/">1.5.0</a>
            <a href="/versions/1.4.1/">1.4.1</a>
            <a href="/versions/1.3.1/">1.3.1</a>
            <a href="/versions/1.2.1/">1.2.1</a>
            <a href="/versions/1.1.0/">1.1.0</a>
            <a href="/versions/1.0.0/">1.0.0</a>
            <a href="/versions/0.12.1/">0.12.1</a>
            <a href="/versions/0.11.0/">0.11.0</a>
          </div>
        </div>
      </div>
    </nav>
  </div>
</header>
<main class="page-content" aria-label="Content">
    <script>

</script>
<article class="post">

    <header class="post-header wrapper">
        <h1 class="post-title">GitHub contribution and PR verification tips</h1>
        <h3></h3></header>

    <div class="post-content">
        <div class="wrapper">
            <div class="row">
    <div class="col-3 docs-side-bar">
        <h3 style="text-transform: capitalize; padding-left:10px">Developer Guide</h3>
        <ul>
            
            
            <li><a href="/versions/1.7/api/dev-guide/github_contribution_and_PR_verification_tips">GitHub contribution and PR verification tips</a></li>
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
            
            <li><a href="/versions/1.7/api/dev-guide/debugging_and_performance_optimization_tips">Debugging and performance optimization tips</a></li>
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
            
            <li><a href="/versions/1.7/api/dev-guide/examine_forward_results_with_hooks">Examine forward results with hooks</a></li>
              <!-- page-category -->
            
            
            <li><a href="/versions/1.7/api/dev-guide/exception_handing_and_custom_error_types">Exception handing and custom error types</a></li>
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
            
            <li><a href="/versions/1.7/api/dev-guide/profiling">Profiling</a></li>
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
            
              <!-- page-category -->
               <!-- resource-p -->
        </ul>
    </div>
    <div class="col-9">
        <!--- 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. -->

<h1 id="github-contribution-and-pr-verification-tips">GitHub contribution and PR verification tips</h1>

<p>Use this page for general git workflow tips. </p>

<h2 id="setup-and-configure">Setup and configure</h2>

<p>It is recommended that you fork the MXNet repo, and then set the original repo as an upstream remote repo. </p>

<p>Fork <a href="https://github.com/apache/incubator-mxnet">https://github.com/apache/incubator-mxnet</a> then:</p>
<div class="highlight"><pre><code class="language-" data-lang="">git clone --recursive https://github.com/your_username/incubator-mxnet
cd mxnet
git remote add upstream https://github.com/apache/incubator-mxnet
</code></pre></div>
<p>Once <code>upstream</code> was added, then create a branch for your contribution.</p>
<div class="highlight"><pre><code class="language-" data-lang="">git branch your-contribution-branch
</code></pre></div>
<p>Note that you can incorporate the changes from <code>upstream</code> to any of your local branches during or after development via: </p>
<div class="highlight"><pre><code class="language-" data-lang="">git fetch upstream
git rebase upstream/master
</code></pre></div>
<p>See <a href="https://stackoverflow.com/questions/3357122/git-pull-vs-git-fetch-vs-git-rebase">this stackoverflow discussion</a> for more details about difference between <code>git pull</code>, <code>git rebase</code> and <code>git merge</code>.</p>

<p>Since Apache MXNet 3rd party git submodules, to update their changes on your branch after rebase, you can run:</p>
<div class="highlight"><pre><code class="language-" data-lang="">git submodule update --recursive
</code></pre></div>
<h2 id="save-your-local-changes-for-future">Save your local changes for future</h2>

<p>During development, you can save your current changes in your branch before committing anything. For example to go to another branch to do something else via:</p>
<div class="highlight"><pre><code class="language-" data-lang="">git stash save
</code></pre></div>
<p>To restore the changes so that they can be added to a commit use:</p>
<div class="highlight"><pre><code class="language-" data-lang="">git stash pop
</code></pre></div>
<p>To drop the changes, use:</p>
<div class="highlight"><pre><code class="language-" data-lang="">git stash drop
</code></pre></div>
<h2 id="reset">Reset</h2>

<p>Sometimes, if you want to wipe out the changes you have made you can use:</p>
<div class="highlight"><pre><code class="language-" data-lang="">git reset --hard
</code></pre></div>
<p>Be very careful since hard-reset removes any of the changes and you’ll be back to the HEAD commit. To remove all the changed before a commit given its commit-SHA you can use <code>git reset --hard commit-SHA</code> or <code>git reset --hard HEAD~2</code> to remove relative to the first two commits on top of HEAD.</p>

<p>However, sometimes it’s useful to keep the files/changes staged when moving the HEAD which can be done via 
<code>git reset --soft</code>. All of the files changed between the original HEAD and the commit will be staged.</p>

<p>In <a href="https://stackoverflow.com/a/50022436">summary</a>,</p>

<ul>
<li><strong><code>--soft</code></strong>: <strong>uncommit</strong> changes, changes are left staged (<em>index</em>).</li>
<li><strong><code>--mixed</code></strong> <em>(default)</em>: <strong>uncommit + unstage</strong> changes, changes are left in <em>working tree</em>.</li>
<li><strong><code>--hard</code></strong>: <strong>uncommit + unstage + delete</strong> changes, nothing left.</li>
</ul>

<h2 id="recover-a-previous-commit-after-reset">Recover a previous commit after reset</h2>

<p>Sometimes you might mistakenly reset a branch to a wrong commit. When that happens, you can use the following command to show the list of recent commits:</p>
<div class="highlight"><pre><code class="language-" data-lang="">git reflog
</code></pre></div>
<p>Once you get the right hashtag, you can use git reset again to change the head to the right commit.</p>

<h2 id="how-to-resolve-conflict-with-master">How to resolve conflict with master</h2>

<p>Sometimes when rebasing to the most recent master as explained above, git may show you there are some conflicts which it cannot resolve. These changes will not be merged. For examples, your file <code>conflict.py</code> has some conflicts with the master branch. Here you need to:</p>

<ul>
<li>manually modify the file to resolve the conflict.</li>
<li>After you resolved the conflict, mark it as resolved by:</li>
</ul>
<div class="highlight"><pre><code class="language-" data-lang="">git add conflict.py
</code></pre></div>
<ul>
<li>Then you can continue rebase by:</li>
</ul>
<div class="highlight"><pre><code class="language-" data-lang="">git rebase --continue
</code></pre></div>
<ul>
<li>Finally push to your fork, you may need to <strong>force push</strong> here:</li>
</ul>
<div class="highlight"><pre><code class="language-" data-lang="">git push --force
</code></pre></div>
<p><strong>Note</strong> that force push is okay when it’s on your branch and you are the only one who is using that branch. Otherwise, it can have bad consequences as it’s rewritten the history.</p>

<h2 id="how-to-group-multiple-commits-into-one">How to group multiple commits into one</h2>

<p>Sometimes, you may have added a lot of related commits suitable to be grouped/combined together to create one meaningful atomic commit. For example, when later commits are only fixes to previous ones, in your PR. 
If you haven’t configured your default git editor, do the following once:</p>
<div class="highlight"><pre><code class="language-" data-lang="">git config core.editor the-editor-you-like
</code></pre></div>
<p>Assume we want to merge the last 3 commits.</p>
<div class="highlight"><pre><code class="language-" data-lang="">git rebase -i HEAD~3
</code></pre></div>
<ol>
<li>It will pop up an text editor. Set the <strong>first commit as pick,</strong> and <strong>change later ones to squash</strong>.</li>
<li>After you saved the file, it will pop up another text editor to ask you modify the combined commit message.</li>
<li>Push the changes to your fork, you need to force push.</li>
</ol>
<div class="highlight"><pre><code class="language-" data-lang="">git push --force
</code></pre></div>
<p><strong>Note</strong> that force push is okay when it’s on your branch and you are the only one who is using that branch. Otherwise, it can have bad consequences as it’s rewritten the history.</p>

<h2 id="apply-only-k-latest-commits-on-to-the-master">Apply only k-latest commits on to the master</h2>

<p>Sometimes it is useful to only apply your k-latest changes on top of the master. This usually happens when you have other m-commits that are already merged before these k-commits. Directly rebase against the master might cause merge conflicts on these first m-commits (which can be safely discarded).</p>

<p>You can instead use the following command:</p>
<div class="highlight"><pre><code class="language-" data-lang=""># k is the concrete number. Put HEAD~2 for the last 1 commit.
git rebase --onto upstream/master HEAD~k
</code></pre></div>
<p>You can then force push to the master <code>git push --force</code>. Note that the above command will discard all the commits before the last k ones.</p>

<h2 id="what-is-the-consequence-of-force-push">What is the consequence of force push</h2>

<p>The last three tips require the force push, this is because we altered the path of the commits. <strong>It is fine to force push to your own fork, as long as the commits changed are only yours.</strong> In case there are multiple collaborators who use your branch there is a safer option <code>git push --force-with-lease.</code></p>

<h2 id="pr-verification">PR verification</h2>

<p>When sending a pull request, remember to add some tests. During the development, one can set <code>MXNET_TEST_COUNT=1000/10000</code> to test on some randomly selected test cases. This makes the testing and development cycle faster. Moreover, some test results might change due to the seed in pseudo-random number generator. To fix the seed during testing, set <code>MXNET_TEST_SEED=your seed number</code>.</p>

    </div>
</div>

        </div>
    </div>

</article>

</main><footer class="site-footer h-card">
    <div class="wrapper">
        <div class="row">
            <div class="col-4">
                <h4 class="footer-category-title">Resources</h4>
                <ul class="contact-list">
                    <li><a href="/versions/1.7/community/contribute#mxnet-dev-communications">Mailing lists</a></li>
                    <li><a href="https://cwiki.apache.org/confluence/display/MXNET/Apache+MXNet+Home">Developer Wiki</a></li>
                    <li><a href="https://issues.apache.org/jira/projects/MXNET/issues">Jira Tracker</a></li>
                    <li><a href="https://github.com/apache/incubator-mxnet/labels/Roadmap">Github Roadmap</a></li>
                    <li><a href="https://discuss.mxnet.io">MXNet Discuss forum</a></li>
                    <li><a href="/versions/1.7/community/contribute">Contribute To MXNet</a></li>

                </ul>
            </div>

            <div class="col-4"><ul class="social-media-list"><li><a href="https://github.com/apache/incubator-mxnet"><svg class="svg-icon"><use xlink:href="/versions/1.7/assets/minima-social-icons.svg#github"></use></svg> <span class="username">apache/incubator-mxnet</span></a></li><li><a href="https://www.twitter.com/apachemxnet"><svg class="svg-icon"><use xlink:href="/versions/1.7/assets/minima-social-icons.svg#twitter"></use></svg> <span class="username">apachemxnet</span></a></li><li><a href="https://youtube.com/apachemxnet"><svg class="svg-icon"><use xlink:href="/versions/1.7/assets/minima-social-icons.svg#youtube"></use></svg> <span class="username">apachemxnet</span></a></li></ul>
</div>

            <div class="col-4 footer-text">
                <p>A flexible and efficient library for deep learning.</p>
            </div>
        </div>
    </div>
</footer>
<footer class="site-footer2">
    <div class="wrapper">
        <div class="row">
            <div class="col-3">
                <img src="/versions/1.7/assets/img/apache_incubator_logo.png" class="footer-logo col-2">
            </div>
            <div class="footer-bottom-warning col-9">
                <p>Apache MXNet is an effort undergoing incubation at The Apache Software Foundation (ASF), <span
                        style="font-weight:bold">sponsored by the <i>Apache Incubator</i></span>. Incubation is required
                    of all newly accepted projects until a further review indicates that the infrastructure,
                    communications, and decision making process have stabilized in a manner consistent with other
                    successful ASF projects. While incubation status is not necessarily a reflection of the completeness
                    or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
                </p><p>"Copyright © 2017-2018, The Apache Software Foundation Apache MXNet, MXNet, Apache, the Apache
                    feather, and the Apache MXNet project logo are either registered trademarks or trademarks of the
                    Apache Software Foundation."</p>
            </div>
        </div>
    </div>
</footer>




</body>

</html>
