"""\
Self installs IronPkg into the current IronPython environment.
egg: ironpkg-1.0.0-1.egg
md5: 41787f5a12384e482e8e9f1d90f8bcdc
Options:
-h, --help show this help message and exit
--install self install
"""
import os
import sys
import base64
import hashlib
import tempfile
import zipfile
from os.path import dirname, isdir, join
b64eggdata = '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