├── .gitignore ├── BLOX ├── Common │ ├── Cntr.py │ ├── Compiler.py │ ├── Counter.py │ ├── Dialects.py │ ├── Functions.py │ ├── Globals.py │ ├── RandData.py │ ├── SKL.py │ ├── SanityCheck.py │ ├── Strings.py │ ├── __init__.py │ └── utils.py ├── Core │ ├── Metrics.py │ ├── PipeLine.py │ ├── Preprocessor.py │ ├── Recordable.py │ ├── Tester.py │ ├── Trainer.py │ └── __init__.py ├── DataSet │ ├── DataSet.py │ ├── DataTools.py │ ├── GMM.py │ ├── Imgs2DataSet.py │ ├── MultiStreamingDataSet.py │ ├── TestSet.py │ └── __init__.py ├── Environments │ └── TradingEnvironment.py ├── Examples │ ├── ChatBot │ │ ├── Attn.py │ │ ├── AttnDecoder.py │ │ ├── ChatBot.py │ │ ├── EncoderRNN.py │ │ ├── Evaluator.py │ │ ├── GreedyDecoder.py │ │ ├── Int2Text.py │ │ ├── NormailizeString.py │ │ ├── Seq2Seq.py │ │ ├── Voc.py │ │ ├── chatbot.cfg.json │ │ ├── config.json │ │ ├── cornell movie-dialogs corpus │ │ │ ├── .DS_Store │ │ │ ├── README.txt │ │ │ ├── chameleons.pdf │ │ │ ├── formatted_movie_lines.txt │ │ │ ├── movie_characters_metadata.txt │ │ │ ├── movie_conversations.txt │ │ │ ├── movie_lines.txt │ │ │ ├── movie_titles_metadata.txt │ │ │ └── raw_script_urls.txt │ │ └── net.json │ ├── DayTrader │ │ ├── MSFT_data.csv │ │ ├── config.json │ │ ├── data_downloader.py │ │ ├── day_trader_app.py │ │ ├── msft.ds-copy │ │ ├── net.json │ │ ├── q.cfg.json │ │ ├── q.net.json │ │ └── server.py │ └── NotHotdog │ │ ├── config.json │ │ ├── net.json │ │ ├── server.py │ │ ├── static │ │ ├── css │ │ │ ├── data.css │ │ │ ├── main.css │ │ │ ├── material-dashboard.css │ │ │ ├── material-dashboard.min.css │ │ │ └── util.css │ │ ├── fonts │ │ │ ├── font-awesome-4.7.0 │ │ │ │ ├── HELP-US-OUT.txt │ │ │ │ ├── css │ │ │ │ │ ├── font-awesome.css │ │ │ │ │ └── font-awesome.min.css │ │ │ │ ├── fonts │ │ │ │ │ ├── FontAwesome.otf │ │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ │ ├── fontawesome-webfont.svg │ │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ │ └── fontawesome-webfont.woff2 │ │ │ │ ├── less │ │ │ │ │ ├── animated.less │ │ │ │ │ ├── bordered-pulled.less │ │ │ │ │ ├── core.less │ │ │ │ │ ├── fixed-width.less │ │ │ │ │ ├── font-awesome.less │ │ │ │ │ ├── icons.less │ │ │ │ │ ├── larger.less │ │ │ │ │ ├── list.less │ │ │ │ │ ├── mixins.less │ │ │ │ │ ├── path.less │ │ │ │ │ ├── rotated-flipped.less │ │ │ │ │ ├── screen-reader.less │ │ │ │ │ ├── stacked.less │ │ │ │ │ └── variables.less │ │ │ │ └── scss │ │ │ │ │ ├── _animated.scss │ │ │ │ │ ├── _bordered-pulled.scss │ │ │ │ │ ├── _core.scss │ │ │ │ │ ├── _fixed-width.scss │ │ │ │ │ ├── _icons.scss │ │ │ │ │ ├── _larger.scss │ │ │ │ │ ├── _list.scss │ │ │ │ │ ├── _mixins.scss │ │ │ │ │ ├── _path.scss │ │ │ │ │ ├── _rotated-flipped.scss │ │ │ │ │ ├── _screen-reader.scss │ │ │ │ │ ├── _stacked.scss │ │ │ │ │ ├── _variables.scss │ │ │ │ │ └── font-awesome.scss │ │ │ └── poppins │ │ │ │ ├── Poppins-Black.ttf │ │ │ │ ├── Poppins-BlackItalic.ttf │ │ │ │ ├── Poppins-Bold.ttf │ │ │ │ ├── Poppins-BoldItalic.ttf │ │ │ │ ├── Poppins-ExtraBold.ttf │ │ │ │ ├── Poppins-ExtraBoldItalic.ttf │ │ │ │ ├── Poppins-ExtraLight.ttf │ │ │ │ ├── Poppins-ExtraLightItalic.ttf │ │ │ │ ├── Poppins-Italic.ttf │ │ │ │ ├── Poppins-Light.ttf │ │ │ │ ├── Poppins-LightItalic.ttf │ │ │ │ ├── Poppins-Medium.ttf │ │ │ │ ├── Poppins-MediumItalic.ttf │ │ │ │ ├── Poppins-Regular.ttf │ │ │ │ ├── Poppins-SemiBold.ttf │ │ │ │ ├── Poppins-SemiBoldItalic.ttf │ │ │ │ ├── Poppins-Thin.ttf │ │ │ │ └── Poppins-ThinItalic.ttf │ │ ├── images │ │ │ ├── apple-icon.png │ │ │ ├── cover.jpg │ │ │ ├── faces │ │ │ │ ├── avatar.jpg │ │ │ │ ├── card-profile1-square.jpg │ │ │ │ ├── card-profile2-square.jpg │ │ │ │ └── marc.jpg │ │ │ ├── favicon.png │ │ │ ├── icons │ │ │ │ ├── circled-left-2.png │ │ │ │ ├── favicon.ico │ │ │ │ ├── fb-icon.png │ │ │ │ ├── gram-Icon.png │ │ │ │ ├── person-icon.png │ │ │ │ ├── pinterest-logo.png │ │ │ │ ├── reddit.png │ │ │ │ ├── speech-icon.png │ │ │ │ ├── star-icon.png │ │ │ │ ├── tumblr-icon.png │ │ │ │ ├── twt-icon.png │ │ │ │ └── youtube-icon.png │ │ │ ├── mask.png │ │ │ ├── new_logo.png │ │ │ ├── sidebar-1.jpg │ │ │ ├── sidebar-2.jpg │ │ │ ├── sidebar-3.jpg │ │ │ └── sidebar-4.jpg │ │ ├── js │ │ │ ├── autotable.js │ │ │ ├── core │ │ │ │ ├── bootstrap-material-design.min.js │ │ │ │ ├── jquery.min.js │ │ │ │ └── popper.min.js │ │ │ ├── filedl.js │ │ │ ├── jquery.csv.min.js │ │ │ ├── material-dashboard.js │ │ │ ├── material-dashboard.js.map │ │ │ ├── material-dashboard.min.js │ │ │ ├── plugins │ │ │ │ ├── bootstrap-notify.js │ │ │ │ ├── chartist.min.js │ │ │ │ └── perfect-scrollbar.jquery.min.js │ │ │ └── viz.js │ │ ├── scss │ │ │ ├── material-dashboard.scss │ │ │ └── material-dashboard │ │ │ │ ├── _alerts.scss │ │ │ │ ├── _buttons.scss │ │ │ │ ├── _cards.scss │ │ │ │ ├── _checkboxes.scss │ │ │ │ ├── _core-bootstrap.scss │ │ │ │ ├── _dark-edition.scss │ │ │ │ ├── _dropdown.scss │ │ │ │ ├── _example-pages.scss │ │ │ │ ├── _fixed-plugin.scss │ │ │ │ ├── _footers.scss │ │ │ │ ├── _forms.scss │ │ │ │ ├── _headers.scss │ │ │ │ ├── _images.scss │ │ │ │ ├── _info-areas.scss │ │ │ │ ├── _input-group.scss │ │ │ │ ├── _misc.scss │ │ │ │ ├── _mixins.scss │ │ │ │ ├── _navbar.scss │ │ │ │ ├── _popover.scss │ │ │ │ ├── _popups.scss │ │ │ │ ├── _radios.scss │ │ │ │ ├── _responsive.scss │ │ │ │ ├── _ripples.scss │ │ │ │ ├── _sidebar-and-main-panel.scss │ │ │ │ ├── _social-buttons.scss │ │ │ │ ├── _tables.scss │ │ │ │ ├── _tabs.scss │ │ │ │ ├── _togglebutton.scss │ │ │ │ ├── _tooltip.scss │ │ │ │ ├── _type.scss │ │ │ │ ├── _variables.scss │ │ │ │ ├── bootstrap │ │ │ │ └── scss │ │ │ │ │ ├── _alert.scss │ │ │ │ │ ├── _badge.scss │ │ │ │ │ ├── _breadcrumb.scss │ │ │ │ │ ├── _button-group.scss │ │ │ │ │ ├── _buttons.scss │ │ │ │ │ ├── _card.scss │ │ │ │ │ ├── _carousel.scss │ │ │ │ │ ├── _close.scss │ │ │ │ │ ├── _code.scss │ │ │ │ │ ├── _custom-forms.scss │ │ │ │ │ ├── _dropdown.scss │ │ │ │ │ ├── _forms.scss │ │ │ │ │ ├── _functions.scss │ │ │ │ │ ├── _grid.scss │ │ │ │ │ ├── _images.scss │ │ │ │ │ ├── _input-group.scss │ │ │ │ │ ├── _jumbotron.scss │ │ │ │ │ ├── _list-group.scss │ │ │ │ │ ├── _media.scss │ │ │ │ │ ├── _mixins.scss │ │ │ │ │ ├── _modal.scss │ │ │ │ │ ├── _nav.scss │ │ │ │ │ ├── _navbar.scss │ │ │ │ │ ├── _pagination.scss │ │ │ │ │ ├── _popover.scss │ │ │ │ │ ├── _print.scss │ │ │ │ │ ├── _progress.scss │ │ │ │ │ ├── _reboot.scss │ │ │ │ │ ├── _root.scss │ │ │ │ │ ├── _tables.scss │ │ │ │ │ ├── _tooltip.scss │ │ │ │ │ ├── _transitions.scss │ │ │ │ │ ├── _type.scss │ │ │ │ │ ├── _utilities.scss │ │ │ │ │ ├── _variables.scss │ │ │ │ │ ├── bootstrap-grid.scss │ │ │ │ │ ├── bootstrap-reboot.scss │ │ │ │ │ ├── bootstrap.scss │ │ │ │ │ ├── mixins │ │ │ │ │ ├── _alert.scss │ │ │ │ │ ├── _background-variant.scss │ │ │ │ │ ├── _badge.scss │ │ │ │ │ ├── _border-radius.scss │ │ │ │ │ ├── _box-shadow.scss │ │ │ │ │ ├── _breakpoints.scss │ │ │ │ │ ├── _buttons.scss │ │ │ │ │ ├── _caret.scss │ │ │ │ │ ├── _clearfix.scss │ │ │ │ │ ├── _float.scss │ │ │ │ │ ├── _forms.scss │ │ │ │ │ ├── _gradients.scss │ │ │ │ │ ├── _grid-framework.scss │ │ │ │ │ ├── _grid.scss │ │ │ │ │ ├── _hover.scss │ │ │ │ │ ├── _image.scss │ │ │ │ │ ├── _list-group.scss │ │ │ │ │ ├── _lists.scss │ │ │ │ │ ├── _nav-divider.scss │ │ │ │ │ ├── _navbar-align.scss │ │ │ │ │ ├── _pagination.scss │ │ │ │ │ ├── _reset-text.scss │ │ │ │ │ ├── _resize.scss │ │ │ │ │ ├── _screen-reader.scss │ │ │ │ │ ├── _size.scss │ │ │ │ │ ├── _table-row.scss │ │ │ │ │ ├── _text-emphasis.scss │ │ │ │ │ ├── _text-hide.scss │ │ │ │ │ ├── _text-truncate.scss │ │ │ │ │ ├── _transition.scss │ │ │ │ │ └── _visibility.scss │ │ │ │ │ └── utilities │ │ │ │ │ ├── _align.scss │ │ │ │ │ ├── _background.scss │ │ │ │ │ ├── _borders.scss │ │ │ │ │ ├── _clearfix.scss │ │ │ │ │ ├── _display.scss │ │ │ │ │ ├── _embed.scss │ │ │ │ │ ├── _flex.scss │ │ │ │ │ ├── _float.scss │ │ │ │ │ ├── _position.scss │ │ │ │ │ ├── _screenreaders.scss │ │ │ │ │ ├── _sizing.scss │ │ │ │ │ ├── _spacing.scss │ │ │ │ │ ├── _text.scss │ │ │ │ │ └── _visibility.scss │ │ │ │ ├── cards │ │ │ │ ├── _card-plain.scss │ │ │ │ ├── _card-profile.scss │ │ │ │ └── _card-stats.scss │ │ │ │ ├── dark-edition │ │ │ │ ├── _dark-alert.scss │ │ │ │ ├── _dark-buttons.scss │ │ │ │ ├── _dark-card-chart.scss │ │ │ │ ├── _dark-card-plain.scss │ │ │ │ ├── _dark-card-stats.scss │ │ │ │ ├── _dark-card.scss │ │ │ │ ├── _dark-checkboxes.scss │ │ │ │ ├── _dark-colors.scss │ │ │ │ ├── _dark-dropdown.scss │ │ │ │ ├── _dark-fixed-plugin.scss │ │ │ │ ├── _dark-footer.scss │ │ │ │ ├── _dark-forms.scss │ │ │ │ ├── _dark-heartbeat-animation.scss │ │ │ │ ├── _dark-mixins.scss │ │ │ │ ├── _dark-navbar.scss │ │ │ │ ├── _dark-popover-tooltip.scss │ │ │ │ ├── _dark-radios.scss │ │ │ │ ├── _dark-sidebar.scss │ │ │ │ ├── _dark-tables.scss │ │ │ │ ├── _dark-tabs.scss │ │ │ │ └── _dark-variables.scss │ │ │ │ ├── mixins │ │ │ │ ├── _alert.scss │ │ │ │ ├── _animations.scss │ │ │ │ ├── _breakpoints.scss │ │ │ │ ├── _buttons.scss │ │ │ │ ├── _chartist.scss │ │ │ │ ├── _colored-shadows.scss │ │ │ │ ├── _drawer.scss │ │ │ │ ├── _forms.scss │ │ │ │ ├── _hover.scss │ │ │ │ ├── _layout.scss │ │ │ │ ├── _navbar-colors.scss │ │ │ │ ├── _navs.scss │ │ │ │ ├── _sidebar-color.scss │ │ │ │ ├── _transparency.scss │ │ │ │ ├── _type.scss │ │ │ │ ├── _utilities.scss │ │ │ │ ├── _variables.scss │ │ │ │ └── _vendor-prefixes.scss │ │ │ │ ├── plugins │ │ │ │ ├── _animate.scss │ │ │ │ ├── _chartist.scss │ │ │ │ └── _perfect-scrollbar.scss │ │ │ │ └── variables │ │ │ │ ├── _body.scss │ │ │ │ ├── _bootstrap-material-design-base.scss │ │ │ │ ├── _bootstrap-material-design.scss │ │ │ │ ├── _brand.scss │ │ │ │ ├── _buttons.scss │ │ │ │ ├── _card.scss │ │ │ │ ├── _code.scss │ │ │ │ ├── _colors-map.scss │ │ │ │ ├── _colors.scss │ │ │ │ ├── _custom-forms.scss │ │ │ │ ├── _drawer.scss │ │ │ │ ├── _dropdown.scss │ │ │ │ ├── _forms.scss │ │ │ │ ├── _layout.scss │ │ │ │ ├── _list-group.scss │ │ │ │ ├── _menu.scss │ │ │ │ ├── _modals.scss │ │ │ │ ├── _nav.scss │ │ │ │ ├── _pagination.scss │ │ │ │ ├── _shadow.scss │ │ │ │ ├── _snackbar.scss │ │ │ │ ├── _spacing.scss │ │ │ │ ├── _state.scss │ │ │ │ ├── _tables.scss │ │ │ │ ├── _tooltip.scss │ │ │ │ └── _type.scss │ │ └── vendor │ │ │ ├── animate │ │ │ └── animate.css │ │ │ ├── animsition │ │ │ ├── css │ │ │ │ ├── animsition.css │ │ │ │ └── animsition.min.css │ │ │ └── js │ │ │ │ ├── animsition.js │ │ │ │ └── animsition.min.js │ │ │ ├── bootstrap │ │ │ ├── css │ │ │ │ ├── bootstrap-grid.css │ │ │ │ ├── bootstrap-grid.css.map │ │ │ │ ├── bootstrap-grid.min.css │ │ │ │ ├── bootstrap-grid.min.css.map │ │ │ │ ├── bootstrap-reboot.css │ │ │ │ ├── bootstrap-reboot.css.map │ │ │ │ ├── bootstrap-reboot.min.css │ │ │ │ ├── bootstrap-reboot.min.css.map │ │ │ │ ├── bootstrap.css │ │ │ │ ├── bootstrap.css.map │ │ │ │ ├── bootstrap.min.css │ │ │ │ └── bootstrap.min.css.map │ │ │ └── js │ │ │ │ ├── bootstrap.js │ │ │ │ ├── bootstrap.min.js │ │ │ │ ├── popper.js │ │ │ │ ├── popper.min.js │ │ │ │ └── tooltip.js │ │ │ ├── countdowntime │ │ │ └── countdowntime.js │ │ │ ├── css-hamburgers │ │ │ ├── hamburgers.css │ │ │ └── hamburgers.min.css │ │ │ ├── daterangepicker │ │ │ ├── daterangepicker.css │ │ │ ├── daterangepicker.js │ │ │ ├── moment.js │ │ │ └── moment.min.js │ │ │ ├── jquery │ │ │ └── jquery-3.2.1.min.js │ │ │ ├── perfect-scrollbar │ │ │ ├── perfect-scrollbar.css │ │ │ └── perfect-scrollbar.min.js │ │ │ └── select2 │ │ │ ├── select2.css │ │ │ ├── select2.js │ │ │ ├── select2.min.css │ │ │ └── select2.min.js │ │ └── templates │ │ ├── 2.html │ │ └── index.html ├── Loss │ ├── LR_Finder.py │ ├── MaskedLoss.py │ ├── SmoothedCrossEntropy.py │ ├── SmoothedCrossEntropyLoss.py │ └── __init__.py ├── Modules │ ├── BayesBlock.py │ ├── BayesianLinear.py │ ├── Concat.py │ ├── EfficientNet.py │ ├── EfficientNetBody.py │ ├── EncoderCNN.py │ ├── Flatten.py │ ├── GAIL.py │ ├── GMM.py │ ├── GPClf.py │ ├── Gaussian.py │ ├── Jsonify.py │ ├── NeuralODE.py │ ├── ODEBlock.py │ ├── PlaceHolder.py │ ├── Recurrence.py │ ├── ReplayMemory.py │ ├── ResBlock.py │ ├── Reshape.py │ ├── Sparsemax.py │ ├── TCN.py │ ├── WordTCN.py │ └── __init__.py ├── RabbitMQ │ ├── Client.py │ ├── Host.py │ └── __init__.py ├── Server │ ├── __init__.py │ ├── app.py │ ├── settings.py │ └── tasks.py └── __init__.py ├── LICENSE ├── README.md ├── __init__.py ├── add2blx ├── blox ├── img ├── BLOX.png └── construction.png ├── install.sh ├── requirements.txt ├── setup.cfg └── setup.py /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | *.egg-info/ 24 | .installed.cfg 25 | *.egg 26 | MANIFEST 27 | 28 | # PyInstaller 29 | # Usually these files are written by a python script from a template 30 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 31 | *.manifest 32 | *.spec 33 | 34 | # Installer logs 35 | pip-log.txt 36 | pip-delete-this-directory.txt 37 | 38 | # Unit test / coverage reports 39 | htmlcov/ 40 | .tox/ 41 | .coverage 42 | .coverage.* 43 | .cache 44 | nosetests.xml 45 | coverage.xml 46 | *.cover 47 | .hypothesis/ 48 | .pytest_cache/ 49 | 50 | # Translations 51 | *.mo 52 | *.pot 53 | 54 | # Django stuff: 55 | *.log 56 | local_settings.py 57 | db.sqlite3 58 | 59 | # Flask stuff: 60 | instance/ 61 | .webassets-cache 62 | 63 | # Scrapy stuff: 64 | .scrapy 65 | 66 | # Sphinx documentation 67 | docs/_build/ 68 | 69 | # PyBuilder 70 | target/ 71 | 72 | # Jupyter Notebook 73 | .ipynb_checkpoints 74 | 75 | # pyenv 76 | .python-version 77 | 78 | # celery beat schedule file 79 | celerybeat-schedule 80 | 81 | # SageMath parsed files 82 | *.sage.py 83 | 84 | # Environments 85 | .env 86 | .venv 87 | env/ 88 | venv/ 89 | ENV/ 90 | env.bak/ 91 | venv.bak/ 92 | 93 | # Spyder project settings 94 | .spyderproject 95 | .spyproject 96 | 97 | # Rope project settings 98 | .ropeproject 99 | 100 | # mkdocs documentation 101 | /site 102 | 103 | # mypy 104 | .mypy_cache/ 105 | -------------------------------------------------------------------------------- /BLOX/Common/Cntr.py: -------------------------------------------------------------------------------- 1 | 2 | 3 | class Cntr: 4 | 5 | def __init__(self,init_value=0.): 6 | self.cnt = init_value 7 | 8 | def __iadd__(self,i): 9 | if isinstance(i,type(self.cnt) ):self.cnt+=i 10 | if isinstance(i,Cntr):self.cnt+=i 11 | return self 12 | 13 | def __add__(self,i): 14 | if isinstance(i,type(self.cnt) ):self.cnt+=i 15 | if isinstance(i,Cntr):self+=i 16 | return self 17 | 18 | def __truediv__(self,v): 19 | if isinstance(i,type(self.cnt) ):self.cnt/=v 20 | if isinstance(i,Cntr):self/=v 21 | return self 22 | 23 | def __int__(self): 24 | return int(self.cnt) 25 | def __float__(self): 26 | return float(self.cnt) 27 | -------------------------------------------------------------------------------- /BLOX/Common/Counter.py: -------------------------------------------------------------------------------- 1 | 2 | 3 | class Cntr: 4 | 5 | def __init__(self,init_value=0.): 6 | self.cnt = init_value 7 | 8 | def __iadd__(self,i): 9 | if isinstance(i,type(self.cnt) ):self.cnt+=i 10 | if isinstance(i,Cntr):self.cnt+=i 11 | return self 12 | 13 | def __add__(self,i): 14 | if isinstance(i,type(self.cnt) ):self.cnt+=i 15 | if isinstance(i,Cntr):self+=i 16 | return self 17 | 18 | def __truediv__(self,v): 19 | if isinstance(i,type(self.cnt) ):self.cnt/=v 20 | if isinstance(i,Cntr):self/=v 21 | return self 22 | 23 | def __int__(self): 24 | return int(self.cnt) 25 | def __float__(self): 26 | return float(self.cnt) 27 | -------------------------------------------------------------------------------- /BLOX/Common/Dialects.py: -------------------------------------------------------------------------------- 1 | 2 | ''' 3 | Eventually we're going to support TF as well 4 | ''' 5 | 6 | # import torch 7 | 8 | 9 | # PT = { 10 | # 'MODULE':nn.Module 11 | # } 12 | 13 | # TF = { 14 | 15 | # } -------------------------------------------------------------------------------- /BLOX/Common/Functions.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | """ 4 | Copyright (c) 2019, Linear Labs Technologies 5 | 6 | Licensed under the Apache License, Version 2.0 (the "License"); 7 | you may not use this file except in compliance with the License. 8 | You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, software 13 | distributed under the License is distributed on an "AS IS" BASIS, 14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | See the License for the specific language governing permissions and 16 | limitations under the License. 17 | 18 | """ 19 | import torch 20 | from torch import nn 21 | import math 22 | 23 | 24 | class Swish(nn.Module): 25 | """ Swish activation function """ 26 | def __init__(self): 27 | super(Swish,self).__init__() 28 | 29 | def forward(self,x):return x * 0.5 * (1.0 + torch.erf(x / math.sqrt(2.0))) 30 | 31 | class GELU(nn.Module): 32 | """ 33 | Implimentaiton od GAUSSIAN ERROR LINEAR UNITS 34 | see: https://arxiv.org/pdf/1606.08415.pdf for details 35 | 36 | I mean, in the paper they state they want a bernoulli distribution on droping connections, 37 | but we can just use the below formulation to approximate. 38 | """ 39 | def __init__(self):super(GELU,self).__init__() 40 | 41 | def forward(self,x): return x * torch.sigmoid( 1.702*x ) -------------------------------------------------------------------------------- /BLOX/Common/Globals.py: -------------------------------------------------------------------------------- 1 | 2 | import importlib,inspect 3 | def load_dynamic_modules(module): 4 | try: 5 | imported = import_module(module) 6 | except: 7 | imported = __import__(module) 8 | table = {} 9 | for c in inspect.getmembers(imported, inspect.ismodule): 10 | try: 11 | table[c[0]] = getattr(c[1],c[0]) 12 | except Exception as e:pass 13 | return table 14 | USER_DEFINED = {} 15 | PREDEFINED = load_dynamic_modules('BLOX.Modules') 16 | 17 | # PATH 18 | 19 | # def get_global(key): 20 | -------------------------------------------------------------------------------- /BLOX/Common/RandData.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | """ 4 | Copyright (c) 2019, Linear Labs Technologies 5 | 6 | Licensed under the Apache License, Version 2.0 (the "License"); 7 | you may not use this file except in compliance with the License. 8 | You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, software 13 | distributed under the License is distributed on an "AS IS" BASIS, 14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | See the License for the specific language governing permissions and 16 | limitations under the License. 17 | 18 | """ 19 | import random,torch 20 | 21 | def GenRandDatSet(input_size=128,output_size=128,size=500,categorical=False): 22 | return { 23 | 'inputs' :torch.randn(size,1, input_size) , 24 | 'targets':torch.randn(size,1,output_size) 25 | } if not categorical else { 26 | 'inputs' :torch.randn(size,1, input_size), 27 | 'targets':torch.LongTensor((size,1)).random_(0, output_size) 28 | } -------------------------------------------------------------------------------- /BLOX/Common/SKL.py: -------------------------------------------------------------------------------- 1 | import torch 2 | from torch import nn 3 | import sklearn 4 | 5 | class SKL(nn.Module): 6 | 7 | ''' 8 | A simple wrapper around the sklearn library to use in downstream tasks 9 | ''' 10 | 11 | def __init__(self,mtype,**kwargs): 12 | model = sklearn 13 | for m in mtype.split('.'):model = getattr(model,m) 14 | self.model = model(**kwargs) 15 | 16 | def forward(self,x): 17 | if isinstance(x,torch.Tensor): 18 | if torch.cuda.is_available():x = x.cpu() 19 | return torch.from_numpy(self.model.predict(x.data.numpy())) 20 | return torch.from_numpy(self.model.predict(x)) 21 | 22 | def load_state_dict(self,fname):pass -------------------------------------------------------------------------------- /BLOX/Common/SanityCheck.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | """ 4 | Copyright (c) 2019, Linear Labs Technologies 5 | 6 | Licensed under the Apache License, Version 2.0 (the "License"); 7 | you may not use this file except in compliance with the License. 8 | You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, software 13 | distributed under the License is distributed on an "AS IS" BASIS, 14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | See the License for the specific language governing permissions and 16 | limitations under the License. 17 | 18 | """ 19 | REQS = { 20 | "Epochs":1, 21 | "SaveEvery":-1, 22 | "BatchSize":32, 23 | "DataSet":"test.ds", 24 | "FileExt":"test.pt", 25 | "Verbose":False, 26 | "TensorboardX":{ 27 | 28 | } 29 | } 30 | 31 | def CheckConfig(self,config): 32 | for k in REQS.keys(): 33 | if k not in config:config[k] = REQS[k] 34 | return config -------------------------------------------------------------------------------- /BLOX/Common/Strings.py: -------------------------------------------------------------------------------- 1 | 2 | #!/usr/bin/env python3 3 | # -*- coding: utf-8 -*- 4 | """ 5 | Copyright (c) 2019, Linear Labs Technologies 6 | 7 | Licensed under the Apache License, Version 2.0 (the "License"); 8 | you may not use this file except in compliance with the License. 9 | You may obtain a copy of the License at 10 | 11 | http://www.apache.org/licenses/LICENSE-2.0 12 | 13 | Unless required by applicable law or agreed to in writing, software 14 | distributed under the License is distributed on an "AS IS" BASIS, 15 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | See the License for the specific language governing permissions and 17 | limitations under the License. 18 | 19 | """ 20 | 21 | TITLE = \ 22 | """ 23 | 24 | .----------------. .----------------. .----------------. .----------------. 25 | | .--------------. | .--------------. | .--------------. | .--------------. | 26 | | | ______ | | | _____ | | | ____ | | | ____ ____ | | 27 | | | |_ _ \ | | | |_ _| | | | .' `. | | | |_ _||_ _| | | 28 | | | | |_) | | | | | | | | | / .--. \ | | | \ \ / / | | 29 | | | | __'. | | | | | _ | | | | | | | | | | > `' < | | 30 | | | _| |__) | | | | _| |__/ | | | | \ `--' / | | | _/ /'`\ \_ | | 31 | | | |_______/ | | | |________| | | | `.____.' | | | |____||____| | | 32 | | | | | | | | | | | | | | 33 | | '--------------' | '--------------' | '--------------' | '--------------' | 34 | '----------------' '----------------' '----------------' '----------------' 35 | 36 | """ -------------------------------------------------------------------------------- /BLOX/Common/__init__.py: -------------------------------------------------------------------------------- 1 | from os import listdir 2 | from os.path import dirname, basename 3 | 4 | __all__ = [basename(f)[:-3] for f in listdir(dirname(__file__)) if f[-3:] == ".py" and not f.endswith("__init__.py")] -------------------------------------------------------------------------------- /BLOX/Core/Metrics.py: -------------------------------------------------------------------------------- 1 | import inspect 2 | import ignite.metrics as metrics 3 | 4 | METRICS = dict(inspect.getmembers(metrics)) -------------------------------------------------------------------------------- /BLOX/Core/Preprocessor.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | """ 4 | Copyright (c) 2019, Linear Labs Technology 5 | 6 | Licensed under the Apache License, Version 2.0 (the "License"); 7 | you may not use this file except in compliance with the License. 8 | You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, software 13 | distributed under the License is distributed on an "AS IS" BASIS, 14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | See the License for the specific language governing permissions and 16 | limitations under the License. 17 | 18 | """ 19 | from ..Common.utils import StrOrDict as sod,load 20 | from ..DataSet.DataTools import img2tensor 21 | from torch import nn 22 | class ImgPreProcessor(nn.Module): 23 | processors = [] 24 | def __init__(self,cfg): 25 | super(PreProcessor,self).__init__() 26 | cfg = sod(cfg) 27 | self.steps = load(cfg['IMPORTS']) 28 | self.order = cfg['BLOX'] 29 | 30 | def forward(self,x): 31 | return img2tensor(x) 32 | 33 | 34 | -------------------------------------------------------------------------------- /BLOX/Core/__init__.py: -------------------------------------------------------------------------------- 1 | from os import listdir 2 | from os.path import dirname, basename 3 | from .PipeLine import Pipe,PipeLine 4 | __all__ = [basename(f)[:-3] for f in listdir(dirname(__file__)) if f[-3:] == ".py" and not f.endswith("__init__.py")] -------------------------------------------------------------------------------- /BLOX/DataSet/GMM.py: -------------------------------------------------------------------------------- 1 | 2 | import torch 3 | from torch import nn 4 | import math 5 | CONST = math.sqrt( 2*math.pi ) 6 | 7 | class GF(torch.autograd.Function): 8 | 9 | @staticmethod 10 | def forward(ctx, x, mu, sigma): 11 | ctx.save_for_backward(input, weight, bias) 12 | return ( 1.0/ (sigma * CONST) )*torch.exp(-.5*( torch.pow( (x-mu)/sigma,2.0 ) ) ) 13 | 14 | @staticmethod 15 | def backward(ctx, grad_output): 16 | x,mu,sigma = ctx.saved_tensors 17 | grad_x = grad_mu = grad_sigma = None 18 | 19 | # if ctx.needs_input_grad[0]: 20 | # grad_input = grad_output.mm(weight) 21 | # if ctx.needs_input_grad[1]: 22 | # grad_weight = grad_output.t().mm(input) 23 | # if bias is not None and ctx.needs_input_grad[2]: 24 | # grad_bias = grad_output.sum(0).squeeze(0) 25 | 26 | # return grad_input, grad_weight, grad_bias 27 | if ctx.needs_input_grad[1]: grad_mu = (x-mu)/float(len(mu)) 28 | if ctx.needs_input_grad[2]: 29 | invsig = torch.inverse(sigma) 30 | grad_sigma = 0.5 * (-invsig + torch.sum(invsig.dot(x - mu) * x)) 31 | 32 | return grad_x,grad_mu, grad_sigma 33 | 34 | 35 | 36 | class Guassian(nn.Module): 37 | 38 | def __init__(self,input_size,mu=None,sigma=None): 39 | 40 | if mu is None: 41 | mu = torch.zeros(input_size) 42 | if sigma is None: 43 | sigma = torch.ones(input_size) 44 | self.mu = mu 45 | self.sigma = sigma 46 | 47 | def forward(self,x): 48 | return GF.apply(x,self.mu,self.sigma) -------------------------------------------------------------------------------- /BLOX/DataSet/Imgs2DataSet.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | """ 4 | Copyright (c) 2019, Linear Labs Technology 5 | 6 | Licensed under the Apache License, Version 2.0 (the "License"); 7 | you may not use this file except in compliance with the License. 8 | You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, software 13 | distributed under the License is distributed on an "AS IS" BASIS, 14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | See the License for the specific language governing permissions and 16 | limitations under the License. 17 | 18 | """ 19 | 20 | import os,torch 21 | from .DataSet import DataSet 22 | from .DataTools import img2tensor 23 | def convert(dl_dir,type='classification'): 24 | dirs = os.listdir(dl_dir)#[d for d in os.listdir(dl_dir) if os.path.isdir(d)] 25 | classes = dict( 26 | zip( 27 | dirs, 28 | list(range(len(dirs))) 29 | ) 30 | ) 31 | data = {'inputs':[],'targets':[]} 32 | for c in dirs: 33 | for img in os.listdir( os.path.join(dl_dir, c) ): 34 | data['inputs'].append( img2tensor(os.path.join( os.path.join(dl_dir, c),img )) ) 35 | data['targets'].append( torch.tensor([classes[c]]) ) 36 | 37 | return classes,data 38 | 39 | -------------------------------------------------------------------------------- /BLOX/DataSet/MultiStreamingDataSet.py: -------------------------------------------------------------------------------- 1 | 2 | from .DataSet import DataSet 3 | from BLOX.Common.utils import StrOrDict as sod 4 | class MultiStreamingDataSet: 5 | 6 | def __init__(self,cfg=None): 7 | self.idx = 0 8 | self.size = -1 9 | self.ds_idx = -1 10 | self.n_data_sets = 0 11 | self.data_sets = [] 12 | self.curr_ds = None 13 | self.mode = 'cpu' 14 | if cfg:self.init(cfg) 15 | 16 | def __len__(self):return self.size 17 | 18 | def cpu(self): 19 | self.mode = 'cpu' 20 | self.curr_ds.cpu() 21 | return self 22 | 23 | def cuda(self): 24 | self.mode = 'cuda' 25 | self.curr_ds.cuda() 26 | return self 27 | 28 | def __getitem__(self,idx): 29 | 30 | itr = idx % int(sum( self.sizes[:self.ds_idx] ) ) 31 | return self.curr_ds[itr] 32 | 33 | def load(self,ds): 34 | self.curr_ds = getattr(DataSet(ds['file']),self.mode)() 35 | self.ds_idx += 1 36 | 37 | def reset(self): 38 | 39 | 40 | 41 | def init(self,cfg): 42 | cfg = sod(cfg) 43 | self.data_sets = cfg['DataSets'] 44 | self.n_data_sets = len(self.data_sets) 45 | self.sizes = [ d['size'] for d in self.data_sets] 46 | self.size = int(sum(self.sizes)) 47 | 48 | -------------------------------------------------------------------------------- /BLOX/DataSet/__init__.py: -------------------------------------------------------------------------------- 1 | from os import listdir 2 | from os.path import dirname, basename 3 | 4 | __all__ = [basename(f)[:-3] for f in listdir(dirname(__file__)) if f[-3:] == ".py" and not f.endswith("__init__.py")] -------------------------------------------------------------------------------- /BLOX/Examples/ChatBot/Attn.py: -------------------------------------------------------------------------------- 1 | class Attn(nn.Module): 2 | def __init__(self, method, hidden_size): 3 | super(Attn, self).__init__() 4 | self.method = method 5 | if self.method not in ['dot', 'general', 'concat']: 6 | raise ValueError(self.method, "is not an appropriate attention method.") 7 | self.hidden_size = hidden_size 8 | if self.method == 'general': 9 | self.attn = nn.Linear(self.hidden_size, hidden_size) 10 | elif self.method == 'concat': 11 | self.attn = nn.Linear(self.hidden_size * 2, hidden_size) 12 | self.v = nn.Parameter(torch.FloatTensor(hidden_size)) 13 | 14 | def dot_score(self, hidden, encoder_output): 15 | return torch.sum(hidden * encoder_output, dim=2) 16 | 17 | def general_score(self, hidden, encoder_output): 18 | energy = self.attn(encoder_output) 19 | return torch.sum(hidden * energy, dim=2) 20 | 21 | def concat_score(self, hidden, encoder_output): 22 | energy = self.attn(torch.cat((hidden.expand(encoder_output.size(0), -1, -1), encoder_output), 2)).tanh() 23 | return torch.sum(self.v * energy, dim=2) 24 | 25 | def forward(self, hidden, encoder_outputs): 26 | # Calculate the attention weights (energies) based on the given method 27 | if self.method == 'general': 28 | attn_energies = self.general_score(hidden, encoder_outputs) 29 | elif self.method == 'concat': 30 | attn_energies = self.concat_score(hidden, encoder_outputs) 31 | elif self.method == 'dot': 32 | attn_energies = self.dot_score(hidden, encoder_outputs) 33 | 34 | # Transpose max_length and batch_size dimensions 35 | attn_energies = attn_energies.t() 36 | 37 | # Return the softmax normalized probability scores (with added dimension) 38 | return F.softmax(attn_energies, dim=1).unsqueeze(1) -------------------------------------------------------------------------------- /BLOX/Examples/ChatBot/AttnDecoder.py: -------------------------------------------------------------------------------- 1 | class AttnDecoderRNN(nn.Module): 2 | def __init__(self, attn_model, embedding, hidden_size, output_size, n_layers=1, dropout=0.1): 3 | super(AttnDecoderRNN, self).__init__() 4 | 5 | # Keep for reference 6 | self.attn_model = attn_model 7 | self.hidden_size = hidden_size 8 | self.output_size = output_size 9 | self.n_layers = n_layers 10 | self.dropout = dropout 11 | 12 | # Define layers 13 | self.embedding = embedding 14 | self.embedding_dropout = nn.Dropout(dropout) 15 | self.gru = nn.GRU(hidden_size, hidden_size, n_layers, dropout=(0 if n_layers == 1 else dropout)) 16 | self.concat = nn.Linear(hidden_size * 2, hidden_size) 17 | self.out = nn.Linear(hidden_size, output_size) 18 | 19 | self.attn = Attn(attn_model, hidden_size) 20 | 21 | def forward(self, input_step, last_hidden, encoder_outputs): 22 | # Note: we run this one step (word) at a time 23 | # Get embedding of current input word 24 | embedded = self.embedding(input_step) 25 | embedded = self.embedding_dropout(embedded) 26 | # Forward through unidirectional GRU 27 | rnn_output, hidden = self.gru(embedded, last_hidden) 28 | # Calculate attention weights from the current GRU output 29 | attn_weights = self.attn(rnn_output, encoder_outputs) 30 | # Multiply attention weights to encoder outputs to get new "weighted sum" context vector 31 | context = attn_weights.bmm(encoder_outputs.transpose(0, 1)) 32 | # Concatenate weighted context vector and GRU output using Luong eq. 5 33 | rnn_output = rnn_output.squeeze(0) 34 | context = context.squeeze(1) 35 | concat_input = torch.cat((rnn_output, context), 1) 36 | concat_output = torch.tanh(self.concat(concat_input)) 37 | # Predict next word using Luong eq. 6 38 | output = self.out(concat_output) 39 | output = F.softmax(output, dim=1) 40 | # Return output and final hidden state 41 | return output, hidden -------------------------------------------------------------------------------- /BLOX/Examples/ChatBot/EncoderRNN.py: -------------------------------------------------------------------------------- 1 | class EncoderRNN(nn.Module): 2 | def __init__(self, hidden_size, embedding, n_layers=1, dropout=0): 3 | super(EncoderRNN, self).__init__() 4 | self.n_layers = n_layers 5 | self.hidden_size = hidden_size 6 | self.embedding = embedding 7 | 8 | # Initialize GRU; the input_size and hidden_size params are both set to 'hidden_size' 9 | # because our input size is a word embedding with number of features == hidden_size 10 | self.gru = nn.GRU(hidden_size, hidden_size, n_layers, 11 | dropout=(0 if n_layers == 1 else dropout), bidirectional=True) 12 | 13 | def forward(self, input_seq, input_lengths, hidden=None): 14 | # Convert word indexes to embeddings 15 | embedded = self.embedding(input_seq) 16 | # Pack padded batch of sequences for RNN module 17 | packed = nn.utils.rnn.pack_padded_sequence(embedded, input_lengths) 18 | # Forward pass through GRU 19 | outputs, hidden = self.gru(packed, hidden) 20 | # Unpack padding 21 | outputs, _ = nn.utils.rnn.pad_packed_sequence(outputs) 22 | # Sum bidirectional GRU outputs 23 | outputs = outputs[:, :, :self.hidden_size] + outputs[:, : ,self.hidden_size:] 24 | # Return output and final hidden state 25 | return outputs, hidden -------------------------------------------------------------------------------- /BLOX/Examples/ChatBot/Int2Text.py: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | from .GreedyDecoder import GreedyDecoder 5 | def indexesFromSentence(voc, sentence): 6 | return [voc.word2index[word] for word in sentence.split(' ')] + [EOS_token] 7 | class Evaluator(nn.Module): 8 | 9 | def __init__(self,efname,dfname,vfname) 10 | self.searcher = GreedyDecoder(efname,dfanme) 11 | self.voc = Voc(vfname) 12 | 13 | def forward(self,x,max_length=10): 14 | ### Format input sentence as a batch 15 | # words -> indexes 16 | indexes_batch = [indexesFromSentence(voc, x)] 17 | # Create lengths tensor 18 | lengths = torch.tensor([len(indexes) for indexes in indexes_batch]) 19 | # Transpose dimensions of batch to match models' expectations 20 | input_batch = torch.LongTensor(indexes_batch).transpose(0, 1) 21 | # Use appropriate device 22 | input_batch = input_batch.to(device) 23 | lengths = lengths.to(device) 24 | # Decode sentence with searcher 25 | tokens, scores = searcher(input_batch, lengths, max_length) 26 | # indexes -> words 27 | decoded_words = [voc.index2word[token.item()] for token in tokens] 28 | return decoded_words -------------------------------------------------------------------------------- /BLOX/Examples/ChatBot/NormailizeString.py: -------------------------------------------------------------------------------- 1 | 2 | import re 3 | import random 4 | import re 5 | import os 6 | import unicodedata 7 | import codecs 8 | class unicodeToAscii: 9 | def __call__(self,s): 10 | return ''.join( 11 | c for c in unicodedata.normalize('NFD', s) 12 | if unicodedata.category(c) != 'Mn' 13 | ) 14 | 15 | class Normalize: 16 | 17 | def __init__(self):pass 18 | 19 | def __call__(self,s): 20 | s = unicodeToAscii(s.lower().strip()) 21 | s = re.sub(r"([.!?])", r" \1", s) 22 | s = re.sub(r"[^a-zA-Z.!?]+", r" ", s) 23 | s = re.sub(r"\s+", r" ", s).strip() 24 | return s -------------------------------------------------------------------------------- /BLOX/Examples/ChatBot/Seq2Seq.py: -------------------------------------------------------------------------------- 1 | 2 | 3 | import torch 4 | from torch import nn 5 | 6 | class Seq2Seq(nn.Module): 7 | 8 | -------------------------------------------------------------------------------- /BLOX/Examples/ChatBot/chatbot.cfg.json: -------------------------------------------------------------------------------- 1 | { 2 | "Pipeline":{ 3 | "threads":1, 4 | "addr":"localhost", 5 | "queue":"default", 6 | "Pipes":[ 7 | { 8 | "Nets":{ 9 | "chatbot":"net.json" 10 | } 11 | } 12 | ] 13 | }, 14 | "Deploy":[ 15 | { 16 | "url":"/predict", 17 | "name":"predict", 18 | "client":{}, 19 | "arg":"data" 20 | } 21 | ], 22 | "Process":[ 23 | "Pipeline" 24 | ] 25 | 26 | } -------------------------------------------------------------------------------- /BLOX/Examples/ChatBot/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "Pipeline":{ 3 | "threads":1, 4 | "addr":"localhost", 5 | "queue":"default", 6 | "Pipes":[ 7 | { 8 | "Nets": "net.json" 9 | } 10 | ] 11 | }, 12 | "Deploy":[ 13 | { 14 | "url":"/predict", 15 | "name":"predict", 16 | "client":{}, 17 | "arg":"data" 18 | } 19 | ] 20 | 21 | } -------------------------------------------------------------------------------- /BLOX/Examples/ChatBot/cornell movie-dialogs corpus/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/ChatBot/cornell movie-dialogs corpus/.DS_Store -------------------------------------------------------------------------------- /BLOX/Examples/ChatBot/cornell movie-dialogs corpus/README.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/ChatBot/cornell movie-dialogs corpus/README.txt -------------------------------------------------------------------------------- /BLOX/Examples/ChatBot/cornell movie-dialogs corpus/chameleons.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/ChatBot/cornell movie-dialogs corpus/chameleons.pdf -------------------------------------------------------------------------------- /BLOX/Examples/ChatBot/cornell movie-dialogs corpus/movie_characters_metadata.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/ChatBot/cornell movie-dialogs corpus/movie_characters_metadata.txt -------------------------------------------------------------------------------- /BLOX/Examples/ChatBot/cornell movie-dialogs corpus/movie_lines.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/ChatBot/cornell movie-dialogs corpus/movie_lines.txt -------------------------------------------------------------------------------- /BLOX/Examples/ChatBot/cornell movie-dialogs corpus/movie_titles_metadata.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/ChatBot/cornell movie-dialogs corpus/movie_titles_metadata.txt -------------------------------------------------------------------------------- /BLOX/Examples/ChatBot/cornell movie-dialogs corpus/raw_script_urls.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/ChatBot/cornell movie-dialogs corpus/raw_script_urls.txt -------------------------------------------------------------------------------- /BLOX/Examples/ChatBot/net.json: -------------------------------------------------------------------------------- 1 | { 2 | "BLOX":[ 3 | {"DEF":"Evaluator"} 4 | ], 5 | "Notes":"", 6 | "Name":"chatbot", 7 | "IMPORTS":[ 8 | "Evaluator" 9 | ], 10 | "DEFS":{ 11 | "BLOX":{ 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /BLOX/Examples/DayTrader/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "Nets":{ 3 | "DayTrader":"net.json" 4 | }, 5 | "Train":{ 6 | "Optimizer":{ 7 | "Params":[ 8 | "DayTrader" 9 | ], 10 | "Kwargs":{ 11 | "lr":0.00001 12 | }, 13 | "Algo":"Adam" 14 | }, 15 | "Loss":{ 16 | "Algo":"CrossEntropyLoss", 17 | "Kwargs":{} 18 | }, 19 | "Epochs":25, 20 | "SaveEvery":500, 21 | "DataSet":"trader.ds", 22 | "FileExt":".pt", 23 | "Verbose":true, 24 | "TensorboardX":{ 25 | "LogEvery":125, 26 | "Dir":"runs/", 27 | "SaveGraphs":false, 28 | "Log":[ 29 | "Loss" 30 | ] 31 | } 32 | }, 33 | "Load":{ 34 | "DayTrader":"DayTrader-.pt" 35 | }, 36 | "Pipeline":{ 37 | "threads":1, 38 | "addr":"localhost", 39 | "queue":"default", 40 | "Pipes":[ 41 | { 42 | "Nets":{ 43 | "DayTrader":"net.json" 44 | } 45 | } 46 | ] 47 | }, 48 | "Deploy":[ 49 | { 50 | "url":"/predict", 51 | "name":"predict", 52 | "client":{}, 53 | "arg":"data" 54 | } 55 | ], 56 | "Process":[ 57 | "Train", 58 | "Pipeline" 59 | ] 60 | 61 | } -------------------------------------------------------------------------------- /BLOX/Examples/DayTrader/msft.ds-copy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/DayTrader/msft.ds-copy -------------------------------------------------------------------------------- /BLOX/Examples/DayTrader/net.json: -------------------------------------------------------------------------------- 1 | { 2 | "BLOX":[ 3 | { 4 | "DEF":"TraderBlock" 5 | }, 6 | { 7 | "DEF":"Recurrence" 8 | }, 9 | { 10 | "DEF":"PredictBlock" 11 | }, 12 | { 13 | "DEF":"Sparsemax" 14 | } 15 | ], 16 | "Notes":"", 17 | "Name":"DayTrader", 18 | "DEFS":{ 19 | "BLOX":{ 20 | "TraderBlock":[ 21 | { 22 | "Other":[ 23 | { 24 | "LSTM": { 25 | "input_size":5, 26 | "hidden_size":256, 27 | "num_layers":2, 28 | "bidirectional":false, 29 | "dropout":0.9 30 | } 31 | } 32 | ] 33 | } 34 | ], 35 | "PredictBlock":[ 36 | { 37 | "Linear":{ 38 | "in_features":256, 39 | "out_features":64 40 | } 41 | }, 42 | { 43 | "Act":"Tanh" 44 | }, 45 | { 46 | "Linear":{ 47 | "in_features":64, 48 | "out_features":3 49 | } 50 | } 51 | ] 52 | } 53 | } 54 | } -------------------------------------------------------------------------------- /BLOX/Examples/DayTrader/q.cfg.json: -------------------------------------------------------------------------------- 1 | { 2 | "Nets":{ 3 | "DayTrader":"q.net.json" 4 | }, 5 | "Load":{ 6 | "DayTrader":"DayTrader.pt" 7 | }, 8 | "Train":{ 9 | "Optimizer":{ 10 | "Params":[ 11 | "DayTrader" 12 | ], 13 | "Kwargs":{ 14 | "lr":0.00001,"weight_decay":0.995 15 | }, 16 | "Algo":"DQNAdam" 17 | }, 18 | "Loss":{ 19 | "Algo":"SmoothL1Loss", 20 | "Kwargs":{} 21 | }, 22 | 23 | "Epochs":15, 24 | "SaveEvery":5000, 25 | "Environment":{ 26 | "Class":"TradingEnvironment", 27 | "Kwargs":{ 28 | "fname":"trader.ds" 29 | } 30 | }, 31 | "FileExt":".pt", 32 | "Verbose":false, 33 | "TensorboardX":{ 34 | "LogEvery":25, 35 | "Dir":"runs/", 36 | "SaveGraphs":false, 37 | "Log":[ 38 | "gainz","value","n_shares","wallet","loss" 39 | ] 40 | } 41 | }, 42 | "Pipeline":{ 43 | "threads":1, 44 | "addr":"localhost", 45 | "queue":"default", 46 | "Pipes":[ 47 | { 48 | "Nets":{ 49 | "DayTrader":"net.json" 50 | } 51 | } 52 | ] 53 | }, 54 | "Deploy":[ 55 | { 56 | "url":"/predict", 57 | "name":"predict", 58 | "client":{}, 59 | "arg":"data" 60 | } 61 | ], 62 | "Process":[ 63 | "Train", 64 | "Pipeline" 65 | ] 66 | 67 | } -------------------------------------------------------------------------------- /BLOX/Examples/DayTrader/q.net.json: -------------------------------------------------------------------------------- 1 | { 2 | "BLOX":[ 3 | { 4 | "DEF":"TraderBlock" 5 | }, 6 | { 7 | "REPEAT":{ 8 | "BLOCK":"Interior", 9 | "REPS":512 10 | } 11 | }, 12 | { 13 | "DEF":"PredictBlock" 14 | }, 15 | { 16 | "DEF":"Sparsemax" 17 | } 18 | ], 19 | "Notes":"", 20 | "Name":"DayTrader", 21 | "DEFS":{ 22 | "BLOX":{ 23 | "TraderBlock":[ 24 | { 25 | "Linear":{ 26 | "in_features":5, 27 | "out_features":128 28 | } 29 | }, 30 | { 31 | "Act":"Tanh" 32 | } 33 | ], 34 | "Interior":[ 35 | { 36 | "Act":"Dropout" 37 | }, 38 | { 39 | "Linear":{ 40 | "in_features":128, 41 | "out_features":128 42 | } 43 | }, 44 | { 45 | "Act":"Tanh" 46 | } 47 | ], 48 | "PredictBlock":[ 49 | { 50 | "Linear":{ 51 | "in_features":128, 52 | "out_features":121 53 | } 54 | } 55 | ] 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "Nets":{ 3 | "NotHotdog":"net.json" 4 | }, 5 | "Train":{ 6 | "Optimizer":{ 7 | "Params":[ 8 | "NotHotdog" 9 | ], 10 | "Kwargs":{ 11 | "lr":0.001 12 | }, 13 | "Algo":"SGD" 14 | }, 15 | "Loss":{ 16 | "Algo":"L1Loss", 17 | "Kwargs":{} 18 | }, 19 | "Epochs":50, 20 | "SaveEvery":50, 21 | "DataSet":"imgs.ds", 22 | "FileExt":".pt", 23 | "Verbose":true, 24 | "TensorboardX":{ 25 | "LogEvery":10, 26 | "Dir":"runs/", 27 | "SaveGraphs":false, 28 | "Log":[ 29 | "Loss" 30 | ] 31 | } 32 | }, 33 | "Load":{ 34 | "NotHotdog":"NotHotdog-.pt" 35 | }, 36 | "Pipeline":{ 37 | "threads":1, 38 | "addr":"localhost", 39 | "queue":"default", 40 | "Pipes":[ 41 | { 42 | "Nets":{ 43 | "NotHotdog":"net.json" 44 | } 45 | } 46 | ] 47 | }, 48 | "Data":{ 49 | "Convert":{ 50 | "Img":{ 51 | "LoadDir":"downloads", 52 | "SaveTo":"imgs.ds" 53 | } 54 | } 55 | }, 56 | "Deploy":[ 57 | { 58 | "url":"/predict", 59 | "name":"predict", 60 | "client":{}, 61 | "arg":"data" 62 | } 63 | ], 64 | "Process":[ 65 | "Data", 66 | "Train", 67 | "Pipeline" 68 | ] 69 | 70 | } -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/server.py: -------------------------------------------------------------------------------- 1 | from flask import Flask, render_template, request,Response 2 | import requests 3 | from werkzeug import secure_filename 4 | app = Flask(__name__,template_folder='templates/') 5 | DIST = ["Hotdog", "Not hotdog"] 6 | from torchvision import transforms 7 | import io,base64 8 | from PIL import Image 9 | import torch,json 10 | 11 | transform = transforms.Compose([ 12 | transforms.ToTensor(), 13 | transforms.Normalize((0.485, 0.456, 0.406), 14 | (0.229, 0.224, 0.225))]) 15 | def img2tensor(image, transform_img=True): 16 | if isinstance(image,torch.Tensor):return image 17 | image = Image.open(image if isinstance(image,str) else io.BytesIO(image) ) 18 | image = image.resize([224, 224], Image.LANCZOS) 19 | 20 | if transform_img: 21 | image = transform(image).unsqueeze(0) 22 | image = image[:,:3,:,:] 23 | return image 24 | @app.route('/', methods = ['GET', 'POST']) 25 | def upload_file(): 26 | r = '' 27 | f = None 28 | if request.method == 'POST': 29 | try: 30 | f = request.files['file'] 31 | i = img2tensor(f.read() ).data.numpy().tolist() 32 | _r = requests.post('http://127.0.0.1:8000/predict',{'data': i }) 33 | _r = json.loads(_r.content.decode()) 34 | a = json.loads(_r['resp']) 35 | r = DIST[0] if a[0] > a[1] else DIST[1] 36 | except Exception as e: 37 | r = "Trouble processing image" 38 | return Response(render_template('index.html', t=r,image=base64.b64encode(f.read() ) if f else '')) 39 | 40 | if __name__ == '__main__': 41 | app.run(debug=True) -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/HELP-US-OUT.txt: -------------------------------------------------------------------------------- 1 | I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project, 2 | Fort Awesome (https://fortawesome.com). It makes it easy to put the perfect icons on your website. Choose from our awesome, 3 | comprehensive icon sets or copy and paste your own. 4 | 5 | Please. Check it out. 6 | 7 | -Dave Gandy 8 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/less/animated.less: -------------------------------------------------------------------------------- 1 | // Animated Icons 2 | // -------------------------- 3 | 4 | .@{fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .@{fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/less/bordered-pulled.less: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em @fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .@{fa-css-prefix}-pull-left { float: left; } 11 | .@{fa-css-prefix}-pull-right { float: right; } 12 | 13 | .@{fa-css-prefix} { 14 | &.@{fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.@{fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .@{fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/less/core.less: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/less/fixed-width.less: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .@{fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/less/font-awesome.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables.less"; 7 | @import "mixins.less"; 8 | @import "path.less"; 9 | @import "core.less"; 10 | @import "larger.less"; 11 | @import "fixed-width.less"; 12 | @import "list.less"; 13 | @import "bordered-pulled.less"; 14 | @import "animated.less"; 15 | @import "rotated-flipped.less"; 16 | @import "stacked.less"; 17 | @import "icons.less"; 18 | @import "screen-reader.less"; 19 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/less/larger.less: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .@{fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .@{fa-css-prefix}-2x { font-size: 2em; } 11 | .@{fa-css-prefix}-3x { font-size: 3em; } 12 | .@{fa-css-prefix}-4x { font-size: 4em; } 13 | .@{fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/less/list.less: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: @fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .@{fa-css-prefix}-li { 11 | position: absolute; 12 | left: -@fa-li-width; 13 | width: @fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.@{fa-css-prefix}-lg { 17 | left: (-@fa-li-width + (4em / 14)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/less/mixins.less: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | .fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | 14 | .fa-icon-rotate(@degrees, @rotation) { 15 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})"; 16 | -webkit-transform: rotate(@degrees); 17 | -ms-transform: rotate(@degrees); 18 | transform: rotate(@degrees); 19 | } 20 | 21 | .fa-icon-flip(@horiz, @vert, @rotation) { 22 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation}, mirror=1)"; 23 | -webkit-transform: scale(@horiz, @vert); 24 | -ms-transform: scale(@horiz, @vert); 25 | transform: scale(@horiz, @vert); 26 | } 27 | 28 | 29 | // Only display content to screen readers. A la Bootstrap 4. 30 | // 31 | // See: http://a11yproject.com/posts/how-to-hide-content/ 32 | 33 | .sr-only() { 34 | position: absolute; 35 | width: 1px; 36 | height: 1px; 37 | padding: 0; 38 | margin: -1px; 39 | overflow: hidden; 40 | clip: rect(0,0,0,0); 41 | border: 0; 42 | } 43 | 44 | // Use in conjunction with .sr-only to only display content when it's focused. 45 | // 46 | // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 47 | // 48 | // Credit: HTML5 Boilerplate 49 | 50 | .sr-only-focusable() { 51 | &:active, 52 | &:focus { 53 | position: static; 54 | width: auto; 55 | height: auto; 56 | margin: 0; 57 | overflow: visible; 58 | clip: auto; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/less/path.less: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); 7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), 8 | url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'), 9 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), 10 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), 11 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/less/rotated-flipped.less: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } 5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } 6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } 7 | 8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } 9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .@{fa-css-prefix}-rotate-90, 15 | :root .@{fa-css-prefix}-rotate-180, 16 | :root .@{fa-css-prefix}-rotate-270, 17 | :root .@{fa-css-prefix}-flip-horizontal, 18 | :root .@{fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/less/screen-reader.less: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { .sr-only(); } 5 | .sr-only-focusable { .sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/less/stacked.less: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; } 21 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/scss/_animated.scss: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .#{$fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/scss/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em $fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .#{$fa-css-prefix}-pull-left { float: left; } 11 | .#{$fa-css-prefix}-pull-right { float: right; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .#{$fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/scss/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | @mixin fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | 14 | @mixin fa-icon-rotate($degrees, $rotation) { 15 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})"; 16 | -webkit-transform: rotate($degrees); 17 | -ms-transform: rotate($degrees); 18 | transform: rotate($degrees); 19 | } 20 | 21 | @mixin fa-icon-flip($horiz, $vert, $rotation) { 22 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)"; 23 | -webkit-transform: scale($horiz, $vert); 24 | -ms-transform: scale($horiz, $vert); 25 | transform: scale($horiz, $vert); 26 | } 27 | 28 | 29 | // Only display content to screen readers. A la Bootstrap 4. 30 | // 31 | // See: http://a11yproject.com/posts/how-to-hide-content/ 32 | 33 | @mixin sr-only { 34 | position: absolute; 35 | width: 1px; 36 | height: 1px; 37 | padding: 0; 38 | margin: -1px; 39 | overflow: hidden; 40 | clip: rect(0,0,0,0); 41 | border: 0; 42 | } 43 | 44 | // Use in conjunction with .sr-only to only display content when it's focused. 45 | // 46 | // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 47 | // 48 | // Credit: HTML5 Boilerplate 49 | 50 | @mixin sr-only-focusable { 51 | &:active, 52 | &:focus { 53 | position: static; 54 | width: auto; 55 | height: auto; 56 | margin: 0; 57 | overflow: visible; 58 | clip: auto; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/scss/_path.scss: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); 7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), 8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), 9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), 10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), 11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/scss/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .#{$fa-css-prefix}-rotate-90, 15 | :root .#{$fa-css-prefix}-rotate-180, 16 | :root .#{$fa-css-prefix}-rotate-270, 17 | :root .#{$fa-css-prefix}-flip-horizontal, 18 | :root .#{$fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/scss/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { @include sr-only(); } 5 | .sr-only-focusable { @include sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/scss/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/scss/font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "animated"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | @import "screen-reader"; 19 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-Black.ttf -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-BlackItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-BlackItalic.ttf -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-Bold.ttf -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-BoldItalic.ttf -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-ExtraBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-ExtraBold.ttf -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-ExtraBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-ExtraBoldItalic.ttf -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-ExtraLight.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-ExtraLight.ttf -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-ExtraLightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-ExtraLightItalic.ttf -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-Italic.ttf -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-Light.ttf -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-LightItalic.ttf -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-Medium.ttf -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-MediumItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-MediumItalic.ttf -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-Regular.ttf -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-SemiBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-SemiBold.ttf -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-SemiBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-SemiBoldItalic.ttf -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-Thin.ttf -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-ThinItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-ThinItalic.ttf -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/images/apple-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/apple-icon.png -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/images/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/cover.jpg -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/images/faces/avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/faces/avatar.jpg -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/images/faces/card-profile1-square.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/faces/card-profile1-square.jpg -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/images/faces/card-profile2-square.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/faces/card-profile2-square.jpg -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/images/faces/marc.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/faces/marc.jpg -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/images/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/favicon.png -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/images/icons/circled-left-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/icons/circled-left-2.png -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/images/icons/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/icons/favicon.ico -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/images/icons/fb-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/icons/fb-icon.png -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/images/icons/gram-Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/icons/gram-Icon.png -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/images/icons/person-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/icons/person-icon.png -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/images/icons/pinterest-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/icons/pinterest-logo.png -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/images/icons/reddit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/icons/reddit.png -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/images/icons/speech-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/icons/speech-icon.png -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/images/icons/star-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/icons/star-icon.png -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/images/icons/tumblr-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/icons/tumblr-icon.png -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/images/icons/twt-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/icons/twt-icon.png -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/images/icons/youtube-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/icons/youtube-icon.png -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/images/mask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/mask.png -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/images/new_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/new_logo.png -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/images/sidebar-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/sidebar-1.jpg -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/images/sidebar-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/sidebar-2.jpg -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/images/sidebar-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/sidebar-3.jpg -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/images/sidebar-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/sidebar-4.jpg -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/js/viz.js: -------------------------------------------------------------------------------- 1 | let _emotions = ["happiness", "anger", "fun", "neutral", "hate", "worry", "love", "relief", "sadness", "boredom", "surprise", "enthusiasm", "empty"]; 2 | let _genders = ['female','male','unknown']; 3 | let _ages = ['18-24','25-34','35-49','50-64','65-xx']; 4 | let _sentiment = ['pos','neg']; 5 | let _topics = ["Relationships", "Food and Cooking", "Health", "Shopping", "Science", "Law and Legal Issues", "Cars and Vehicles", "Humor and Amusement", "History, Politics and Society", "Entertainment and Arts", "Hobbies and Collectibles", "Business and Finance", "Sports", "Travel and Places", "Technology", "Miscellaneous", "Jobs and Education", "Home and Garden", "Religion and Spirituality", "Literature and Language", "Animal Life"]; 6 | let table = {emotion:_emotions,gender:_genders,age:_ages,sentiment:_sentiments,topic:_topics} 7 | function pie(data) { 8 | let obj = {emotions:[],genders:[],ages:[],sentiments:[],topics:[]}; 9 | let pies = {emotion:{},gender:{},age:{},sentiment:{},topic:{}}; 10 | for (pie in pies){ 11 | for (key in table[pie]){ 12 | pies[pie][key] = 0; 13 | } 14 | } 15 | for (d in data){ 16 | for (key in d){ 17 | pies[key][key]++; 18 | } 19 | } 20 | return pies; 21 | } 22 | 23 | function pie2data(obj){ 24 | let array = []; 25 | for (key in obj) { 26 | array.push({ 27 | value:obj[key], 28 | name:key 29 | }); 30 | } 31 | return array; 32 | } 33 | 34 | function chartPie(obj,elms){ 35 | for (elm in elms){ 36 | var chart = echarts.init(document.getElementById(elm)); 37 | 38 | var option = { 39 | tooltip: {}, 40 | title:{text:elm}, 41 | series: [{ 42 | type: 'pie', 43 | roseType:'angle', 44 | data: pie2data(obj[elm]), 45 | }] 46 | }; 47 | 48 | // use configuration item and data specified to show chart 49 | chart.setOption(option); 50 | } 51 | } -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/scss/material-dashboard/_dark-edition.scss: -------------------------------------------------------------------------------- 1 | .dark-edition { 2 | // Variables 3 | @import 'dark-edition/dark-variables'; 4 | 5 | background-color: $dark-background; 6 | 7 | // Mixins 8 | @import 'dark-edition/dark-mixins'; 9 | 10 | // Buttons 11 | @import 'dark-edition/dark-buttons'; 12 | 13 | // Sidebar 14 | @import 'dark-edition/dark-sidebar'; 15 | 16 | // Navbar 17 | @import 'dark-edition/dark-navbar'; 18 | 19 | // Footer 20 | @import 'dark-edition/dark-footer'; 21 | 22 | // Card 23 | @import 'dark-edition/dark-card'; 24 | 25 | // Tables 26 | @import 'dark-edition/dark-tables'; 27 | 28 | // Checkboxes 29 | @import 'dark-edition/dark-checkboxes'; 30 | 31 | // Radios 32 | @import 'dark-edition/dark-radios'; 33 | 34 | // Tabs 35 | @import 'dark-edition/dark-tabs'; 36 | 37 | // Tabs 38 | @import 'dark-edition/dark-popover-tooltip'; 39 | 40 | // Forms 41 | @import 'dark-edition/dark-forms'; 42 | 43 | // Fixed Plugin 44 | @import 'dark-edition/dark-fixed-plugin'; 45 | 46 | // Dropdown 47 | @import 'dark-edition/dark-dropdown'; 48 | 49 | // Colors 50 | @import 'dark-edition/dark-colors'; 51 | 52 | // Alerts 53 | @import 'dark-edition/dark-alert'; 54 | 55 | // Animation Keyframe 56 | @import 'dark-edition/dark-heartbeat-animation'; 57 | } 58 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/scss/material-dashboard/_example-pages.scss: -------------------------------------------------------------------------------- 1 | .card-signup { 2 | .card-header { 3 | .social-line { 4 | .btn { 5 | color: $white-color; 6 | } 7 | } 8 | } 9 | .text-divider { 10 | margin-top: 30px; 11 | margin-bottom: 0px; 12 | text-align: center; 13 | } 14 | } 15 | 16 | .signup-page { 17 | .page-header { 18 | min-height: 100vh; 19 | height: auto; 20 | display: inherit; 21 | 22 | .container{ 23 | padding-top: 20vh; 24 | } 25 | } 26 | 27 | .card-signup { 28 | border-radius: $border-radius-base * 2; 29 | @include shadow-16dp(); 30 | margin-bottom: 100px; 31 | padding: 40px 0px; 32 | 33 | } 34 | .info-horizontal { 35 | padding: 0px 0px 20px; 36 | } 37 | 38 | .social { 39 | .btn { 40 | margin: 5px; 41 | } 42 | h4 { 43 | margin-top: 20px; 44 | } 45 | } 46 | .footer { 47 | .container { 48 | padding: 0; 49 | } 50 | .copyright, 51 | a{ 52 | color: $white-color; 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/scss/material-dashboard/_headers.scss: -------------------------------------------------------------------------------- 1 | .page-header{ 2 | min-height: 100vh; 3 | max-height: 1000px; 4 | display: flex !important; 5 | height: 100%; 6 | padding: 0; 7 | color: $white-color; 8 | position: relative; 9 | 10 | .page-header-image{ 11 | position: absolute; 12 | background-size: cover; 13 | background-position: center center; 14 | width: 100%; 15 | height: 100%; 16 | z-index: -1; 17 | } 18 | 19 | .content-center{ 20 | position: absolute; 21 | top: 50%; 22 | left: 50%; 23 | z-index: 2; 24 | -ms-transform: translate(-50%, -50%); 25 | -webkit-transform: translate(-50%, -50%); 26 | transform: translate(-50%, -50%); 27 | text-align: center; 28 | color: #FFFFFF; 29 | padding: 0 15px; 30 | width: 100%; 31 | max-width: 880px; 32 | 33 | } 34 | 35 | footer{ 36 | position: absolute; 37 | bottom: 0; 38 | width: 100%; 39 | } 40 | 41 | .container{ 42 | height: 100%; 43 | z-index: 1; 44 | } 45 | 46 | .category, 47 | .description{ 48 | color: $opacity-8; 49 | } 50 | 51 | &.page-header-small{ 52 | min-height: 60vh; 53 | max-height: 440px; 54 | } 55 | 56 | &.page-header-mini{ 57 | min-height: 40vh; 58 | max-height: 340px; 59 | } 60 | 61 | .title{ 62 | margin-bottom: 15px; 63 | } 64 | .title + h4{ 65 | margin-top: 10px; 66 | } 67 | 68 | &:after, 69 | &:before{ 70 | position: absolute; 71 | z-index: 0; 72 | width: 100%; 73 | height: 100%; 74 | display: block; 75 | left: 0; 76 | top: 0; 77 | content: ""; 78 | } 79 | 80 | &:before{ 81 | background-color: rgba(0,0,0,.3); 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/scss/material-dashboard/_images.scss: -------------------------------------------------------------------------------- 1 | .img-thumbnail{ 2 | border-radius: 16px; 3 | } 4 | .img-raised{ 5 | @include shadow-big-image(); 6 | } 7 | 8 | .rounded{ 9 | border-radius: $border-radius-large !important; 10 | } 11 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/scss/material-dashboard/_info-areas.scss: -------------------------------------------------------------------------------- 1 | .info{ 2 | max-width: 360px; 3 | margin: 0 auto; 4 | padding: 70px 0 30px; 5 | 6 | .icon{ 7 | color: $gray-color; 8 | 9 | > i{ 10 | font-size: 3.85rem; 11 | } 12 | } 13 | .info-title{ 14 | color: $black-color; 15 | margin: 0.875rem * 2 0 0.875rem; 16 | } 17 | p{ 18 | color: $gray-color; 19 | } 20 | } 21 | 22 | .info-horizontal{ 23 | .icon{ 24 | float: left; 25 | margin-top: 24px; 26 | margin-right: 10px; 27 | 28 | >i{ 29 | font-size: $font-size-h2; 30 | } 31 | } 32 | .description{ 33 | overflow: hidden; 34 | } 35 | 36 | } 37 | 38 | .icon { 39 | &.icon-primary { 40 | color: $brand-primary; 41 | } 42 | &.icon-info { 43 | color: $brand-info; 44 | } 45 | &.icon-success { 46 | color: $brand-success; 47 | } 48 | &.icon-warning { 49 | color: $brand-warning; 50 | } 51 | &.icon-danger { 52 | color: $brand-danger; 53 | } 54 | &.icon-rose { 55 | color: $brand-rose; 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/scss/material-dashboard/_input-group.scss: -------------------------------------------------------------------------------- 1 | // ----------------------------------------- 2 | // input-group and input-group-addon styles 3 | // note: form-groups are not required 4 | // 5 | @mixin input-group-button-variation($vertical-padding) { 6 | .input-group-btn { 7 | .btn { 8 | //margin: 0 0 $vertical-padding 0; 9 | } 10 | } 11 | } 12 | 13 | // default margin - no form-group required 14 | @include input-group-button-variation(input-padding-y); 15 | 16 | .bmd-form-group-sm { 17 | @include input-group-button-variation($input-padding-y-sm); 18 | } 19 | 20 | .bmd-form-group-lg { 21 | @include input-group-button-variation($input-padding-y-lg); 22 | } 23 | 24 | .input-group { 25 | // may be in or outside of form-group 26 | 27 | .input-group-text { 28 | display: flex; 29 | justify-content: center; 30 | align-items: center; 31 | padding: 0 15px 0 15px; 32 | background-color: transparent; 33 | border-color: transparent; 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/scss/material-dashboard/_misc.scss: -------------------------------------------------------------------------------- 1 | body{ 2 | background-color: #eee; 3 | color: $black-color; 4 | font-weight: 300; 5 | } 6 | 7 | legend { 8 | border-bottom: 0; 9 | } 10 | 11 | .serif-font{ 12 | font-family: $font-family-serif; 13 | } 14 | 15 | // Prevent highlight on mobile 16 | * { 17 | -webkit-tap-highlight-color: rgba(255, 255, 255, 0); 18 | -webkit-tap-highlight-color: transparent; 19 | &:focus { 20 | outline: 0; 21 | } 22 | } 23 | 24 | a{ 25 | color: $link-color; 26 | &:hover, 27 | &:focus{ 28 | color: darken($link-color, 5%); 29 | text-decoration: none; 30 | } 31 | 32 | &.text-info{ 33 | &:hover, &:focus{ 34 | color: darken($brand-info, 5%); 35 | } 36 | } 37 | 38 | & .material-icons { 39 | vertical-align: middle; 40 | } 41 | } 42 | 43 | .form-check, 44 | label{ 45 | font-size: 14px; 46 | line-height: 1.42857; 47 | color: $checkboxes-text-color; 48 | font-weight: 400; 49 | } 50 | 51 | /* Animations */ 52 | .animation-transition-general{ 53 | @include transition-all($general-transition-time, $transition-linear); 54 | } 55 | 56 | .animation-transition-slow{ 57 | @include transition-all($slow-transition-time, $transition-linear); 58 | } 59 | 60 | .animation-transition-fast{ 61 | @include transition-all($fast-transition-time, $transition-ease); 62 | } 63 | 64 | .caret, 65 | .sidebar a, 66 | .animation-transition-fast-in{ 67 | @include transition-all($fast-transition-time, $transition-ease-in); 68 | } 69 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/scss/material-dashboard/_mixins.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/utilities"; 2 | @import "mixins/breakpoints"; 3 | @import "mixins/animations"; 4 | @import "mixins/type"; 5 | @import "mixins/layout"; 6 | @import "mixins/drawer"; 7 | @import "mixins/forms"; 8 | @import "mixins/buttons"; 9 | @import "mixins/hover"; 10 | @import "mixins/navs"; 11 | @import "mixins/colored-shadows"; 12 | @import "mixins/navbar-colors"; 13 | @import "mixins/alert"; 14 | @import "mixins/sidebar-color"; 15 | @import "mixins/variables"; 16 | @import "mixins/vendor-prefixes"; 17 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/scss/material-dashboard/_popover.scss: -------------------------------------------------------------------------------- 1 | .popover, .tooltip-inner { 2 | line-height: 1.5em; 3 | background: $white-color; 4 | border: none; 5 | border-radius: $border-radius-base; 6 | @include shadow-8dp(); 7 | color: $popover-color; 8 | } 9 | 10 | 11 | .popover{ 12 | padding: 0; 13 | @include shadow-16dp(); 14 | 15 | &.left, 16 | &.right, 17 | &.top, 18 | &.bottom{ 19 | > .arrow{ 20 | border: none; 21 | } 22 | } 23 | 24 | 25 | &.bs-popover-top, 26 | &.bs-popover-auto[x-placement^="top"], 27 | &.bs-popover-bottom, 28 | &.bs-popover-auto[x-placement^="bottom"], 29 | &.bs-popover-right, 30 | &.bs-popover-auto[x-placement^="right"], 31 | &.bs-popover-left, 32 | &.bs-popover-auto[x-placement^="left"]{ 33 | & .arrow::before{ 34 | border: 0; 35 | } 36 | } 37 | 38 | } 39 | 40 | .popover-header{ 41 | background-color: $white-color; 42 | border: none; 43 | padding: 15px 15px 5px; 44 | font-size: $font-size-h4; 45 | margin: 0; 46 | color: $popover-color; 47 | } 48 | 49 | .popover-body{ 50 | padding: 10px 15px 15px; 51 | line-height: 1.4; 52 | color: $popover-color; 53 | } 54 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/scss/material-dashboard/_ripples.scss: -------------------------------------------------------------------------------- 1 | // marker class (used as a selector for one-off elements to decorate) 2 | .ripple { 3 | position: relative; 4 | } 5 | 6 | .ripple-container { 7 | position: absolute; 8 | top: 0; 9 | left: 0; 10 | z-index: 1; 11 | width: 100%; 12 | height: 100%; 13 | overflow: hidden; 14 | pointer-events: none; 15 | border-radius: inherit; 16 | 17 | .ripple-decorator { 18 | position: absolute; 19 | width: 20px; 20 | height: 20px; 21 | margin-top: -10px; 22 | margin-left: -10px; 23 | pointer-events: none; 24 | background-color: rgba($black, 0.05); 25 | border-radius: 100%; 26 | opacity: 0; 27 | transform: scale(1); 28 | transform-origin: 50%; 29 | 30 | &.ripple-on { 31 | opacity: 0.1; 32 | transition: opacity 0.15s ease-in 0s, 33 | transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s; 34 | } 35 | 36 | &.ripple-out { 37 | opacity: 0; 38 | transition: opacity 0.1s linear 0s !important; 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/scss/material-dashboard/_social-buttons.scss: -------------------------------------------------------------------------------- 1 | // style for the social buttons from fixed product_plugins (Twitter and Facebook) 2 | 3 | .btn{ 4 | // Social colors 5 | @include bmd-social-buttons(); 6 | } 7 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/scss/material-dashboard/_tooltip.scss: -------------------------------------------------------------------------------- 1 | // specs https://material.google.com/components/tooltips.html#tooltips-tooltips-desktop- 2 | 3 | .tooltip-arrow { 4 | display: none; 5 | } 6 | 7 | .tooltip.show{ 8 | opacity: 1; 9 | @include transform-translate-y(0px); 10 | 11 | 12 | } 13 | .tooltip{ 14 | opacity: 0; 15 | transition: opacity, transform .2s ease; 16 | @include transform-translate-y(5px); 17 | font-size: $tooltip-font-size; 18 | 19 | &.bs-tooltip-top, 20 | &.bs-tooltip-auto[x-placement^="top"]{ 21 | & .arrow::before{ 22 | border-top-color: $white-color; 23 | } 24 | } 25 | 26 | &.bs-tooltip-right, 27 | &.bs-tooltip-auto[x-placement^="right"]{ 28 | & .arrow::before{ 29 | border-right-color: $white-color; 30 | } 31 | } 32 | &.bs-tooltip-left, 33 | &.bs-tooltip-auto[x-placement^="left"]{ 34 | & .arrow::before{ 35 | border-left-color: $white-color; 36 | } 37 | } 38 | &.bs-tooltip-bottom, 39 | &.bs-tooltip-auto[x-placement^="bottom"]{ 40 | & .arrow::before{ 41 | border-bottom-color: $white-color; 42 | } 43 | } 44 | } 45 | 46 | .tooltip-inner{ 47 | padding: 10px 15px; 48 | min-width: 130px; 49 | } 50 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/scss/material-dashboard/_type.scss: -------------------------------------------------------------------------------- 1 | html * { 2 | -webkit-font-smoothing: antialiased; 3 | -moz-osx-font-smoothing: grayscale; 4 | } 5 | 6 | body, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4 { 7 | font-family: $font-family-sans-serif; 8 | font-weight: 300; 9 | line-height: 1.5em; 10 | } 11 | 12 | 13 | h1, .h1 { 14 | font-size: $font-size-h1; 15 | line-height: 1.15em; 16 | } 17 | h2, .h2{ 18 | font-size: $font-size-h2; 19 | } 20 | h3, .h3{ 21 | font-size: $font-size-h3; 22 | line-height: 1.4em; 23 | margin: 20px 0 10px; 24 | } 25 | h4, .h4{ 26 | font-size: $font-size-h4; 27 | line-height: 1.4em; 28 | font-weight: 300; 29 | } 30 | h5, .h5 { 31 | font-size: $font-size-h5; 32 | line-height: 1.4em; 33 | margin-bottom: 15px; 34 | } 35 | h6, .h6{ 36 | font-size: $font-size-h6; 37 | text-transform: uppercase; 38 | font-weight: $font-weight-bold; 39 | } 40 | 41 | .title, 42 | .card-title, 43 | .info-title, 44 | .footer-brand, 45 | .footer-big h5, 46 | .footer-big h4, 47 | .media .media-heading{ 48 | //font-weight: $font-weight-extra-bold; 49 | // font-family: $font-family-serif; 50 | 51 | &, 52 | a{ 53 | color: $black-color; 54 | text-decoration: none; 55 | } 56 | } 57 | 58 | .card-blog .card-title{ 59 | font-weight: $font-weight-extra-bold; 60 | } 61 | 62 | h2.title{ 63 | margin-bottom: $margin-base * 2; 64 | } 65 | 66 | .description, 67 | .card-description, 68 | .footer-big p{ 69 | color: $gray-light; 70 | } 71 | 72 | .text-warning { 73 | color: $brand-warning !important; 74 | } 75 | .text-primary { 76 | color: $brand-primary !important; 77 | } 78 | .text-danger { 79 | color: $brand-danger !important; 80 | } 81 | .text-success { 82 | color: $brand-success !important; 83 | } 84 | .text-info { 85 | color: $brand-info !important; 86 | } 87 | .text-rose{ 88 | color: $brand-rose !important; 89 | } 90 | .text-gray{ 91 | color: $gray-color !important; 92 | } 93 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/scss/material-dashboard/_variables.scss: -------------------------------------------------------------------------------- 1 | @import "variables/colors"; 2 | @import "variables/shadow"; 3 | 4 | @import "variables/bootstrap-material-design-base"; 5 | 6 | // Customized BS variables 7 | @import "variables/custom-forms"; 8 | @import "variables/spacing"; 9 | @import "variables/body"; 10 | @import "variables/brand"; 11 | @import "variables/buttons"; 12 | @import "variables/card"; 13 | @import "variables/code"; 14 | @import "variables/dropdown"; 15 | @import "variables/forms"; 16 | @import "variables/list-group"; 17 | @import "variables/nav"; 18 | @import "variables/pagination"; 19 | @import "variables/state"; 20 | @import "variables/tables"; 21 | @import "variables/tooltip"; 22 | @import "variables/type"; 23 | @import "variables/modals"; 24 | 25 | // import their vars after customization for use below 26 | $enable-flex: true; // fully adopt flexbox layouts 27 | $enable-shadows: true; // enable shadows, set to false to turn off shadows 28 | 29 | // Core Bootstrap Variables 30 | @import "./bootstrap/scss/functions"; 31 | @import "./bootstrap/scss/variables"; 32 | 33 | @import "variables/layout"; 34 | @import "variables/menu"; 35 | @import "variables/drawer"; 36 | @import "variables/snackbar"; 37 | 38 | @import "variables/bootstrap-material-design"; 39 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/_alert.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Base styles 3 | // 4 | 5 | .alert { 6 | position: relative; 7 | padding: $alert-padding-y $alert-padding-x; 8 | margin-bottom: $alert-margin-bottom; 9 | border: $alert-border-width solid transparent; 10 | @include border-radius($alert-border-radius); 11 | } 12 | 13 | // Headings for larger alerts 14 | .alert-heading { 15 | // Specified to prevent conflicts of changing $headings-color 16 | color: inherit; 17 | } 18 | 19 | // Provide class for links that match alerts 20 | .alert-link { 21 | font-weight: $alert-link-font-weight; 22 | } 23 | 24 | 25 | // Dismissible alerts 26 | // 27 | // Expand the right padding and account for the close button's positioning. 28 | 29 | .alert-dismissible { 30 | padding-right: ($close-font-size + $alert-padding-x * 2); 31 | 32 | // Adjust close link position 33 | .close { 34 | position: absolute; 35 | top: 0; 36 | right: 0; 37 | padding: $alert-padding-y $alert-padding-x; 38 | color: inherit; 39 | } 40 | } 41 | 42 | 43 | // Alternate styles 44 | // 45 | // Generate contextual modifier classes for colorizing the alert. 46 | 47 | @each $color, $value in $theme-colors { 48 | .alert-#{$color} { 49 | @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level)); 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/_badge.scss: -------------------------------------------------------------------------------- 1 | // Base class 2 | // 3 | // Requires one of the contextual, color modifier classes for `color` and 4 | // `background-color`. 5 | 6 | .badge { 7 | display: inline-block; 8 | padding: $badge-padding-y $badge-padding-x; 9 | font-size: $badge-font-size; 10 | font-weight: $badge-font-weight; 11 | line-height: 1; 12 | text-align: center; 13 | white-space: nowrap; 14 | vertical-align: baseline; 15 | @include border-radius($badge-border-radius); 16 | 17 | // Empty badges collapse automatically 18 | &:empty { 19 | display: none; 20 | } 21 | } 22 | 23 | // Quick fix for badges in buttons 24 | .btn .badge { 25 | position: relative; 26 | top: -1px; 27 | } 28 | 29 | // Pill badges 30 | // 31 | // Make them extra rounded with a modifier to replace v3's badges. 32 | 33 | .badge-pill { 34 | padding-right: $badge-pill-padding-x; 35 | padding-left: $badge-pill-padding-x; 36 | @include border-radius($badge-pill-border-radius); 37 | } 38 | 39 | // Colors 40 | // 41 | // Contextual variations (linked badges get darker on :hover). 42 | 43 | @each $color, $value in $theme-colors { 44 | .badge-#{$color} { 45 | @include badge-variant($value); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/_breadcrumb.scss: -------------------------------------------------------------------------------- 1 | .breadcrumb { 2 | display: flex; 3 | flex-wrap: wrap; 4 | padding: $breadcrumb-padding-y $breadcrumb-padding-x; 5 | margin-bottom: $breadcrumb-margin-bottom; 6 | list-style: none; 7 | background-color: $breadcrumb-bg; 8 | @include border-radius($border-radius); 9 | } 10 | 11 | .breadcrumb-item { 12 | // The separator between breadcrumbs (by default, a forward-slash: "/") 13 | + .breadcrumb-item::before { 14 | display: inline-block; // Suppress underlining of the separator in modern browsers 15 | padding-right: $breadcrumb-item-padding; 16 | padding-left: $breadcrumb-item-padding; 17 | color: $breadcrumb-divider-color; 18 | content: "#{$breadcrumb-divider}"; 19 | } 20 | 21 | // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built 22 | // without `