diff --git a/MacBuild/README.txt b/MacBuild/README.txt
deleted file mode 100644
index 5953fed..0000000
--- a/MacBuild/README.txt
+++ /dev/null
@@ -1 +0,0 @@
-Prima di aprire il programma copiare la cartella conf nella home del proprio utente.
\ No newline at end of file
diff --git a/MacBuild/SPEx b/MacBuild/SPEx
deleted file mode 100644
index 65ba311..0000000
Binary files a/MacBuild/SPEx and /dev/null differ
diff --git a/MacBuild/SPEx.app/Contents/Info.plist b/MacBuild/SPEx.app/Contents/Info.plist
new file mode 100644
index 0000000..9e78563
--- /dev/null
+++ b/MacBuild/SPEx.app/Contents/Info.plist
@@ -0,0 +1,22 @@
+
+
+
+
+ CFBundleDisplayName
+ SPEx
+ CFBundleExecutable
+ MacOS/SPEx
+ CFBundleIconFile
+ logo.icns
+ CFBundleIdentifier
+ 12parsec.software.SPEx
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ SPEx
+ CFBundlePackageType
+ APPL
+ CFBundleShortVersionString
+ 0.0.0
+
+
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/iconengines/libqsvgicon.dylib b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/iconengines/libqsvgicon.dylib
new file mode 100755
index 0000000..a5aa6cd
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/iconengines/libqsvgicon.dylib differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqgif.dylib b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqgif.dylib
new file mode 100755
index 0000000..3127a17
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqgif.dylib differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqicns.dylib b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqicns.dylib
new file mode 100755
index 0000000..aa86756
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqicns.dylib differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqico.dylib b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqico.dylib
new file mode 100755
index 0000000..afbb238
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqico.dylib differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqjpeg.dylib b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqjpeg.dylib
new file mode 100755
index 0000000..1b74ea2
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqjpeg.dylib differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqmacheif.dylib b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqmacheif.dylib
new file mode 100755
index 0000000..b20647b
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqmacheif.dylib differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqmacjp2.dylib b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqmacjp2.dylib
new file mode 100755
index 0000000..85d7721
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqmacjp2.dylib differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqsvg.dylib b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqsvg.dylib
new file mode 100755
index 0000000..4a5b68a
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqsvg.dylib differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqtga.dylib b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqtga.dylib
new file mode 100755
index 0000000..b88f04d
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqtga.dylib differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqtiff.dylib b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqtiff.dylib
new file mode 100755
index 0000000..d3aabee
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqtiff.dylib differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqwbmp.dylib b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqwbmp.dylib
new file mode 100755
index 0000000..1b71e64
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqwbmp.dylib differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqwebp.dylib b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqwebp.dylib
new file mode 100755
index 0000000..66c560e
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/imageformats/libqwebp.dylib differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/platforms/libqcocoa.dylib b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/platforms/libqcocoa.dylib
new file mode 100755
index 0000000..ad28990
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/platforms/libqcocoa.dylib differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/platforms/libqminimal.dylib b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/platforms/libqminimal.dylib
new file mode 100755
index 0000000..d8188a2
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/platforms/libqminimal.dylib differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/platforms/libqoffscreen.dylib b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/platforms/libqoffscreen.dylib
new file mode 100755
index 0000000..e9819b4
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/platforms/libqoffscreen.dylib differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/platforms/libqwebgl.dylib b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/platforms/libqwebgl.dylib
new file mode 100755
index 0000000..744f86b
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/platforms/libqwebgl.dylib differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/platformthemes/libqxdgdesktopportal.dylib b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/platformthemes/libqxdgdesktopportal.dylib
new file mode 100755
index 0000000..d8c1f4e
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/platformthemes/libqxdgdesktopportal.dylib differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/styles/libqmacstyle.dylib b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/styles/libqmacstyle.dylib
new file mode 100755
index 0000000..35a3d1f
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/plugins/styles/libqmacstyle.dylib differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_ar.qm b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_ar.qm
new file mode 100644
index 0000000..32861b8
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_ar.qm differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_bg.qm b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_bg.qm
new file mode 100644
index 0000000..faeb167
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_bg.qm differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_ca.qm b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_ca.qm
new file mode 100644
index 0000000..20b751d
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_ca.qm differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_cs.qm b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_cs.qm
new file mode 100644
index 0000000..459ef26
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_cs.qm differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_da.qm b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_da.qm
new file mode 100644
index 0000000..4ede24b
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_da.qm differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_de.qm b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_de.qm
new file mode 100644
index 0000000..4a4c988
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_de.qm differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_en.qm b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_en.qm
new file mode 100644
index 0000000..be651ee
--- /dev/null
+++ b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_en.qm
@@ -0,0 +1 @@
+<¸dÊÍ!¿`¡½Ý
\ No newline at end of file
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_es.qm b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_es.qm
new file mode 100644
index 0000000..1a13157
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_es.qm differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_fi.qm b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_fi.qm
new file mode 100644
index 0000000..934aecd
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_fi.qm differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_fr.qm b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_fr.qm
new file mode 100644
index 0000000..009fb5a
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_fr.qm differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_gd.qm b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_gd.qm
new file mode 100644
index 0000000..3fe3841
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_gd.qm differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_he.qm b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_he.qm
new file mode 100644
index 0000000..95ed0c7
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_he.qm differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_hu.qm b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_hu.qm
new file mode 100644
index 0000000..e4920a6
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_hu.qm differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_it.qm b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_it.qm
new file mode 100644
index 0000000..a020578
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_it.qm differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_ja.qm b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_ja.qm
new file mode 100644
index 0000000..9cf6069
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_ja.qm differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_ko.qm b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_ko.qm
new file mode 100644
index 0000000..20e4661
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_ko.qm differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_lv.qm b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_lv.qm
new file mode 100644
index 0000000..f88a761
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_lv.qm differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_pl.qm b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_pl.qm
new file mode 100644
index 0000000..28d4d8f
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_pl.qm differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_ru.qm b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_ru.qm
new file mode 100644
index 0000000..c1a2286
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_ru.qm differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_sk.qm b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_sk.qm
new file mode 100644
index 0000000..55a377e
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_sk.qm differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_tr.qm b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_tr.qm
new file mode 100644
index 0000000..3d289bb
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_tr.qm differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_uk.qm b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_uk.qm
new file mode 100644
index 0000000..21a3038
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_uk.qm differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_zh_TW.qm b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_zh_TW.qm
new file mode 100644
index 0000000..6205298
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/Qt/translations/qtbase_zh_TW.qm differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/QtCore.abi3.so b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/QtCore.abi3.so
new file mode 100755
index 0000000..89bd0d7
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/QtCore.abi3.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/QtGui.abi3.so b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/QtGui.abi3.so
new file mode 100755
index 0000000..e3e0b6e
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/QtGui.abi3.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/QtWidgets.abi3.so b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/QtWidgets.abi3.so
new file mode 100755
index 0000000..344fed0
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/QtWidgets.abi3.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/PyQt5/sip.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/sip.cpython-37m-darwin.so
new file mode 100755
index 0000000..d341e80
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/PyQt5/sip.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/Python b/MacBuild/SPEx.app/Contents/MacOS/Python
new file mode 100755
index 0000000..143df9e
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/Python differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/QtCore b/MacBuild/SPEx.app/Contents/MacOS/QtCore
new file mode 100755
index 0000000..8747688
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/QtCore differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/QtDBus b/MacBuild/SPEx.app/Contents/MacOS/QtDBus
new file mode 100755
index 0000000..c7dee26
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/QtDBus differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/QtGui b/MacBuild/SPEx.app/Contents/MacOS/QtGui
new file mode 100755
index 0000000..bbde89e
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/QtGui differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/QtNetwork b/MacBuild/SPEx.app/Contents/MacOS/QtNetwork
new file mode 100755
index 0000000..32d85cf
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/QtNetwork differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/QtPrintSupport b/MacBuild/SPEx.app/Contents/MacOS/QtPrintSupport
new file mode 100755
index 0000000..a1bff39
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/QtPrintSupport differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/QtQml b/MacBuild/SPEx.app/Contents/MacOS/QtQml
new file mode 100755
index 0000000..aecdb29
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/QtQml differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/QtQmlModels b/MacBuild/SPEx.app/Contents/MacOS/QtQmlModels
new file mode 100755
index 0000000..f1b5701
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/QtQmlModels differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/QtQuick b/MacBuild/SPEx.app/Contents/MacOS/QtQuick
new file mode 100755
index 0000000..57d0582
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/QtQuick differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/QtSvg b/MacBuild/SPEx.app/Contents/MacOS/QtSvg
new file mode 100755
index 0000000..ef2dd2e
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/QtSvg differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/QtWebSockets b/MacBuild/SPEx.app/Contents/MacOS/QtWebSockets
new file mode 100755
index 0000000..ba84d3c
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/QtWebSockets differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/QtWidgets b/MacBuild/SPEx.app/Contents/MacOS/QtWidgets
new file mode 100755
index 0000000..5afe027
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/QtWidgets differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/SPEx b/MacBuild/SPEx.app/Contents/MacOS/SPEx
new file mode 100755
index 0000000..bdc6c1d
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/SPEx differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_bisect.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_bisect.cpython-37m-darwin.so
new file mode 100755
index 0000000..e18cfa6
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_bisect.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_blake2.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_blake2.cpython-37m-darwin.so
new file mode 100755
index 0000000..73b3d0b
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_blake2.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_bz2.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_bz2.cpython-37m-darwin.so
new file mode 100755
index 0000000..3e4cc6a
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_bz2.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_codecs_cn.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_codecs_cn.cpython-37m-darwin.so
new file mode 100755
index 0000000..458d9bb
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_codecs_cn.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_codecs_hk.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_codecs_hk.cpython-37m-darwin.so
new file mode 100755
index 0000000..dfa4ac2
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_codecs_hk.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_codecs_iso2022.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_codecs_iso2022.cpython-37m-darwin.so
new file mode 100755
index 0000000..d90b9ca
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_codecs_iso2022.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_codecs_jp.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_codecs_jp.cpython-37m-darwin.so
new file mode 100755
index 0000000..349402d
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_codecs_jp.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_codecs_kr.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_codecs_kr.cpython-37m-darwin.so
new file mode 100755
index 0000000..fb2da9f
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_codecs_kr.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_codecs_tw.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_codecs_tw.cpython-37m-darwin.so
new file mode 100755
index 0000000..75d8d3b
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_codecs_tw.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_contextvars.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_contextvars.cpython-37m-darwin.so
new file mode 100755
index 0000000..6cce778
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_contextvars.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_ctypes.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_ctypes.cpython-37m-darwin.so
new file mode 100755
index 0000000..eed871f
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_ctypes.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_datetime.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_datetime.cpython-37m-darwin.so
new file mode 100755
index 0000000..d84c8b3
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_datetime.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_decimal.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_decimal.cpython-37m-darwin.so
new file mode 100755
index 0000000..5f7c1c1
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_decimal.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_hashlib.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_hashlib.cpython-37m-darwin.so
new file mode 100755
index 0000000..b68a5a3
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_hashlib.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_heapq.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_heapq.cpython-37m-darwin.so
new file mode 100755
index 0000000..accb3e6
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_heapq.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_json.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_json.cpython-37m-darwin.so
new file mode 100755
index 0000000..f78d6e4
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_json.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_lzma.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_lzma.cpython-37m-darwin.so
new file mode 100755
index 0000000..dbd0d7e
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_lzma.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_md5.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_md5.cpython-37m-darwin.so
new file mode 100755
index 0000000..c992156
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_md5.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_multibytecodec.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_multibytecodec.cpython-37m-darwin.so
new file mode 100755
index 0000000..e5055b9
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_multibytecodec.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_opcode.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_opcode.cpython-37m-darwin.so
new file mode 100755
index 0000000..323a7e8
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_opcode.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_pickle.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_pickle.cpython-37m-darwin.so
new file mode 100755
index 0000000..62b9eea
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_pickle.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_posixsubprocess.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_posixsubprocess.cpython-37m-darwin.so
new file mode 100755
index 0000000..021b1f7
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_posixsubprocess.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_random.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_random.cpython-37m-darwin.so
new file mode 100755
index 0000000..b43e776
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_random.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_scproxy.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_scproxy.cpython-37m-darwin.so
new file mode 100755
index 0000000..2f26181
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_scproxy.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_sha1.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_sha1.cpython-37m-darwin.so
new file mode 100755
index 0000000..5a52a1b
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_sha1.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_sha256.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_sha256.cpython-37m-darwin.so
new file mode 100755
index 0000000..f32214c
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_sha256.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_sha3.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_sha3.cpython-37m-darwin.so
new file mode 100755
index 0000000..46a9133
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_sha3.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_sha512.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_sha512.cpython-37m-darwin.so
new file mode 100755
index 0000000..58a815a
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_sha512.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_socket.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_socket.cpython-37m-darwin.so
new file mode 100755
index 0000000..2f29bee
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_socket.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_ssl.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_ssl.cpython-37m-darwin.so
new file mode 100755
index 0000000..a67b818
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_ssl.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/_struct.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/_struct.cpython-37m-darwin.so
new file mode 100755
index 0000000..c9b866e
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/_struct.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/binascii.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/binascii.cpython-37m-darwin.so
new file mode 100755
index 0000000..a85db2b
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/binascii.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/grp.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/grp.cpython-37m-darwin.so
new file mode 100755
index 0000000..4faa36d
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/grp.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/include b/MacBuild/SPEx.app/Contents/MacOS/include
new file mode 120000
index 0000000..28a34a3
--- /dev/null
+++ b/MacBuild/SPEx.app/Contents/MacOS/include
@@ -0,0 +1 @@
+../Resources/include
\ No newline at end of file
diff --git a/MacBuild/SPEx.app/Contents/MacOS/lib b/MacBuild/SPEx.app/Contents/MacOS/lib
new file mode 120000
index 0000000..fd73245
--- /dev/null
+++ b/MacBuild/SPEx.app/Contents/MacOS/lib
@@ -0,0 +1 @@
+../Resources/lib
\ No newline at end of file
diff --git a/MacBuild/SPEx.app/Contents/MacOS/libcrypto.1.1.dylib b/MacBuild/SPEx.app/Contents/MacOS/libcrypto.1.1.dylib
new file mode 100755
index 0000000..a4a810d
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/libcrypto.1.1.dylib differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/liblzma.5.dylib b/MacBuild/SPEx.app/Contents/MacOS/liblzma.5.dylib
new file mode 100755
index 0000000..d3ad2db
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/liblzma.5.dylib differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/libreadline.8.dylib b/MacBuild/SPEx.app/Contents/MacOS/libreadline.8.dylib
new file mode 100755
index 0000000..1e2cbd8
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/libreadline.8.dylib differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/libssl.1.1.dylib b/MacBuild/SPEx.app/Contents/MacOS/libssl.1.1.dylib
new file mode 100755
index 0000000..b388a16
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/libssl.1.1.dylib differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/math.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/math.cpython-37m-darwin.so
new file mode 100755
index 0000000..67165a1
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/math.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/pyexpat.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/pyexpat.cpython-37m-darwin.so
new file mode 100755
index 0000000..84108f9
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/pyexpat.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/readline.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/readline.cpython-37m-darwin.so
new file mode 100755
index 0000000..bbd81fa
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/readline.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/resource.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/resource.cpython-37m-darwin.so
new file mode 100755
index 0000000..4ae4cff
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/resource.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/select.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/select.cpython-37m-darwin.so
new file mode 100755
index 0000000..4eaf422
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/select.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/termios.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/termios.cpython-37m-darwin.so
new file mode 100755
index 0000000..f74fd14
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/termios.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/text_unidecode b/MacBuild/SPEx.app/Contents/MacOS/text_unidecode
new file mode 120000
index 0000000..dcafde3
--- /dev/null
+++ b/MacBuild/SPEx.app/Contents/MacOS/text_unidecode
@@ -0,0 +1 @@
+../Resources/text_unidecode
\ No newline at end of file
diff --git a/MacBuild/SPEx.app/Contents/MacOS/unicodedata.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/unicodedata.cpython-37m-darwin.so
new file mode 100755
index 0000000..5c074f9
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/unicodedata.cpython-37m-darwin.so differ
diff --git a/MacBuild/SPEx.app/Contents/MacOS/zlib.cpython-37m-darwin.so b/MacBuild/SPEx.app/Contents/MacOS/zlib.cpython-37m-darwin.so
new file mode 100755
index 0000000..392f220
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/MacOS/zlib.cpython-37m-darwin.so differ
diff --git a/MacBuild/conf/defaults.json b/MacBuild/SPEx.app/Contents/Resources/conf/defaults.json
similarity index 100%
rename from MacBuild/conf/defaults.json
rename to MacBuild/SPEx.app/Contents/Resources/conf/defaults.json
diff --git a/MacBuild/conf/languageconf.json b/MacBuild/SPEx.app/Contents/Resources/conf/languageconf.json
similarity index 100%
rename from MacBuild/conf/languageconf.json
rename to MacBuild/SPEx.app/Contents/Resources/conf/languageconf.json
diff --git a/MacBuild/conf/linux.json b/MacBuild/SPEx.app/Contents/Resources/conf/linux.json
similarity index 100%
rename from MacBuild/conf/linux.json
rename to MacBuild/SPEx.app/Contents/Resources/conf/linux.json
diff --git a/MacBuild/conf/loggerconf.json b/MacBuild/SPEx.app/Contents/Resources/conf/loggerconf.json
similarity index 100%
rename from MacBuild/conf/loggerconf.json
rename to MacBuild/SPEx.app/Contents/Resources/conf/loggerconf.json
diff --git a/MacBuild/SPEx.app/Contents/Resources/include/python3.7m/pyconfig.h b/MacBuild/SPEx.app/Contents/Resources/include/python3.7m/pyconfig.h
new file mode 100644
index 0000000..91eab99
--- /dev/null
+++ b/MacBuild/SPEx.app/Contents/Resources/include/python3.7m/pyconfig.h
@@ -0,0 +1,1591 @@
+/* pyconfig.h. Generated from pyconfig.h.in by configure. */
+/* pyconfig.h.in. Generated from configure.ac by autoheader. */
+
+
+#ifndef Py_PYCONFIG_H
+#define Py_PYCONFIG_H
+
+
+/* Define if building universal (internal helper macro) */
+/* #undef AC_APPLE_UNIVERSAL_BUILD */
+
+/* Define for AIX if your compiler is a genuine IBM xlC/xlC_r and you want
+ support for AIX C++ shared extension modules. */
+/* #undef AIX_GENUINE_CPLUSPLUS */
+
+/* The Android API level. */
+/* #undef ANDROID_API_LEVEL */
+
+/* Define if C doubles are 64-bit IEEE 754 binary format, stored in ARM
+ mixed-endian order (byte order 45670123) */
+/* #undef DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754 */
+
+/* Define if C doubles are 64-bit IEEE 754 binary format, stored with the most
+ significant byte first */
+/* #undef DOUBLE_IS_BIG_ENDIAN_IEEE754 */
+
+/* Define if C doubles are 64-bit IEEE 754 binary format, stored with the
+ least significant byte first */
+#define DOUBLE_IS_LITTLE_ENDIAN_IEEE754 1
+
+/* Define if --enable-ipv6 is specified */
+#define ENABLE_IPV6 1
+
+/* Define if flock needs to be linked with bsd library. */
+/* #undef FLOCK_NEEDS_LIBBSD */
+
+/* Define if getpgrp() must be called as getpgrp(0). */
+/* #undef GETPGRP_HAVE_ARG */
+
+/* Define if gettimeofday() does not have second (timezone) argument This is
+ the case on Motorola V4 (R40V4.2) */
+/* #undef GETTIMEOFDAY_NO_TZ */
+
+/* Define to 1 if you have the `accept4' function. */
+/* #undef HAVE_ACCEPT4 */
+
+/* Define to 1 if you have the `acosh' function. */
+#define HAVE_ACOSH 1
+
+/* struct addrinfo (netdb.h) */
+#define HAVE_ADDRINFO 1
+
+/* Define to 1 if you have the `alarm' function. */
+#define HAVE_ALARM 1
+
+/* Define if aligned memory access is required */
+/* #undef HAVE_ALIGNED_REQUIRED */
+
+/* Define to 1 if you have the header file. */
+#define HAVE_ALLOCA_H 1
+
+/* Define this if your time.h defines altzone. */
+/* #undef HAVE_ALTZONE */
+
+/* Define to 1 if you have the `asinh' function. */
+#define HAVE_ASINH 1
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_ASM_TYPES_H */
+
+/* Define to 1 if you have the `atanh' function. */
+#define HAVE_ATANH 1
+
+/* Define to 1 if you have the `bind_textdomain_codeset' function. */
+/* #undef HAVE_BIND_TEXTDOMAIN_CODESET */
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_BLUETOOTH_BLUETOOTH_H */
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_BLUETOOTH_H */
+
+/* Define if mbstowcs(NULL, "text", 0) does not return the number of wide
+ chars that would be converted. */
+/* #undef HAVE_BROKEN_MBSTOWCS */
+
+/* Define if nice() returns success/failure instead of the new priority. */
+/* #undef HAVE_BROKEN_NICE */
+
+/* Define if the system reports an invalid PIPE_BUF value. */
+/* #undef HAVE_BROKEN_PIPE_BUF */
+
+/* Define if poll() sets errno on invalid file descriptors. */
+/* #undef HAVE_BROKEN_POLL */
+
+/* Define if the Posix semaphores do not work on your system */
+/* #undef HAVE_BROKEN_POSIX_SEMAPHORES */
+
+/* Define if pthread_sigmask() does not work on your system. */
+/* #undef HAVE_BROKEN_PTHREAD_SIGMASK */
+
+/* define to 1 if your sem_getvalue is broken. */
+#define HAVE_BROKEN_SEM_GETVALUE 1
+
+/* Define if `unsetenv` does not return an int. */
+/* #undef HAVE_BROKEN_UNSETENV */
+
+/* Has builtin atomics */
+#define HAVE_BUILTIN_ATOMIC 1
+
+/* Define to 1 if you have the 'chflags' function. */
+#define HAVE_CHFLAGS 1
+
+/* Define to 1 if you have the `chown' function. */
+#define HAVE_CHOWN 1
+
+/* Define if you have the 'chroot' function. */
+#define HAVE_CHROOT 1
+
+/* Define to 1 if you have the `clock' function. */
+#define HAVE_CLOCK 1
+
+/* Define to 1 if you have the `clock_getres' function. */
+#define HAVE_CLOCK_GETRES 1
+
+/* Define to 1 if you have the `clock_gettime' function. */
+#define HAVE_CLOCK_GETTIME 1
+
+/* Define to 1 if you have the `clock_settime' function. */
+#define HAVE_CLOCK_SETTIME 1
+
+/* Define if the C compiler supports computed gotos. */
+#define HAVE_COMPUTED_GOTOS 1
+
+/* Define to 1 if you have the `confstr' function. */
+#define HAVE_CONFSTR 1
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_CONIO_H */
+
+/* Define to 1 if you have the `copysign' function. */
+#define HAVE_COPYSIGN 1
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_CRYPT_H */
+
+/* Define if you have the crypt_r() function. */
+/* #undef HAVE_CRYPT_R */
+
+/* Define to 1 if you have the `ctermid' function. */
+#define HAVE_CTERMID 1
+
+/* Define if you have the 'ctermid_r' function. */
+#define HAVE_CTERMID_R 1
+
+/* Define if you have the 'filter' function. */
+#define HAVE_CURSES_FILTER 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_CURSES_H 1
+
+/* Define if you have the 'has_key' function. */
+#define HAVE_CURSES_HAS_KEY 1
+
+/* Define if you have the 'immedok' function. */
+#define HAVE_CURSES_IMMEDOK 1
+
+/* Define if you have the 'is_pad' function or macro. */
+/* #undef HAVE_CURSES_IS_PAD */
+
+/* Define if you have the 'is_term_resized' function. */
+#define HAVE_CURSES_IS_TERM_RESIZED 1
+
+/* Define if you have the 'resizeterm' function. */
+#define HAVE_CURSES_RESIZETERM 1
+
+/* Define if you have the 'resize_term' function. */
+#define HAVE_CURSES_RESIZE_TERM 1
+
+/* Define if you have the 'syncok' function. */
+#define HAVE_CURSES_SYNCOK 1
+
+/* Define if you have the 'typeahead' function. */
+#define HAVE_CURSES_TYPEAHEAD 1
+
+/* Define if you have the 'use_env' function. */
+#define HAVE_CURSES_USE_ENV 1
+
+/* Define if you have the 'wchgat' function. */
+#define HAVE_CURSES_WCHGAT 1
+
+/* Define to 1 if you have the declaration of `isfinite', and to 0 if you
+ don't. */
+#define HAVE_DECL_ISFINITE 1
+
+/* Define to 1 if you have the declaration of `isinf', and to 0 if you don't.
+ */
+#define HAVE_DECL_ISINF 1
+
+/* Define to 1 if you have the declaration of `isnan', and to 0 if you don't.
+ */
+#define HAVE_DECL_ISNAN 1
+
+/* Define to 1 if you have the declaration of `RTLD_DEEPBIND', and to 0 if you
+ don't. */
+#define HAVE_DECL_RTLD_DEEPBIND 0
+
+/* Define to 1 if you have the declaration of `RTLD_GLOBAL', and to 0 if you
+ don't. */
+#define HAVE_DECL_RTLD_GLOBAL 1
+
+/* Define to 1 if you have the declaration of `RTLD_LAZY', and to 0 if you
+ don't. */
+#define HAVE_DECL_RTLD_LAZY 1
+
+/* Define to 1 if you have the declaration of `RTLD_LOCAL', and to 0 if you
+ don't. */
+#define HAVE_DECL_RTLD_LOCAL 1
+
+/* Define to 1 if you have the declaration of `RTLD_MEMBER', and to 0 if you
+ don't. */
+#define HAVE_DECL_RTLD_MEMBER 0
+
+/* Define to 1 if you have the declaration of `RTLD_NODELETE', and to 0 if you
+ don't. */
+#define HAVE_DECL_RTLD_NODELETE 1
+
+/* Define to 1 if you have the declaration of `RTLD_NOLOAD', and to 0 if you
+ don't. */
+#define HAVE_DECL_RTLD_NOLOAD 1
+
+/* Define to 1 if you have the declaration of `RTLD_NOW', and to 0 if you
+ don't. */
+#define HAVE_DECL_RTLD_NOW 1
+
+/* Define to 1 if you have the declaration of `tzname', and to 0 if you don't.
+ */
+/* #undef HAVE_DECL_TZNAME */
+
+/* Define to 1 if you have the device macros. */
+#define HAVE_DEVICE_MACROS 1
+
+/* Define to 1 if you have the /dev/ptc device file. */
+/* #undef HAVE_DEV_PTC */
+
+/* Define to 1 if you have the /dev/ptmx device file. */
+#define HAVE_DEV_PTMX 1
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_DIRECT_H */
+
+/* Define to 1 if the dirent structure has a d_type field */
+#define HAVE_DIRENT_D_TYPE 1
+
+/* Define to 1 if you have the header file, and it defines `DIR'.
+ */
+#define HAVE_DIRENT_H 1
+
+/* Define if you have the 'dirfd' function or macro. */
+#define HAVE_DIRFD 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_DLFCN_H 1
+
+/* Define to 1 if you have the `dlopen' function. */
+#define HAVE_DLOPEN 1
+
+/* Define to 1 if you have the `dup2' function. */
+#define HAVE_DUP2 1
+
+/* Define to 1 if you have the `dup3' function. */
+/* #undef HAVE_DUP3 */
+
+/* Defined when any dynamic module loading is enabled. */
+#define HAVE_DYNAMIC_LOADING 1
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_ENDIAN_H */
+
+/* Define if you have the 'epoll' functions. */
+/* #undef HAVE_EPOLL */
+
+/* Define if you have the 'epoll_create1' function. */
+/* #undef HAVE_EPOLL_CREATE1 */
+
+/* Define to 1 if you have the `erf' function. */
+#define HAVE_ERF 1
+
+/* Define to 1 if you have the `erfc' function. */
+#define HAVE_ERFC 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_ERRNO_H 1
+
+/* Define to 1 if you have the `execv' function. */
+#define HAVE_EXECV 1
+
+/* Define to 1 if you have the `expm1' function. */
+#define HAVE_EXPM1 1
+
+/* Define to 1 if you have the `faccessat' function. */
+#define HAVE_FACCESSAT 1
+
+/* Define if you have the 'fchdir' function. */
+#define HAVE_FCHDIR 1
+
+/* Define to 1 if you have the `fchmod' function. */
+#define HAVE_FCHMOD 1
+
+/* Define to 1 if you have the `fchmodat' function. */
+#define HAVE_FCHMODAT 1
+
+/* Define to 1 if you have the `fchown' function. */
+#define HAVE_FCHOWN 1
+
+/* Define to 1 if you have the `fchownat' function. */
+#define HAVE_FCHOWNAT 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_FCNTL_H 1
+
+/* Define if you have the 'fdatasync' function. */
+/* #undef HAVE_FDATASYNC */
+
+/* Define to 1 if you have the `fdopendir' function. */
+#define HAVE_FDOPENDIR 1
+
+/* Define to 1 if you have the `fexecve' function. */
+/* #undef HAVE_FEXECVE */
+
+/* Define to 1 if you have the `finite' function. */
+#define HAVE_FINITE 1
+
+/* Define to 1 if you have the `flock' function. */
+#define HAVE_FLOCK 1
+
+/* Define to 1 if you have the `fork' function. */
+#define HAVE_FORK 1
+
+/* Define to 1 if you have the `forkpty' function. */
+#define HAVE_FORKPTY 1
+
+/* Define to 1 if you have the `fpathconf' function. */
+#define HAVE_FPATHCONF 1
+
+/* Define to 1 if you have the `fseek64' function. */
+/* #undef HAVE_FSEEK64 */
+
+/* Define to 1 if you have the `fseeko' function. */
+#define HAVE_FSEEKO 1
+
+/* Define to 1 if you have the `fstatat' function. */
+#define HAVE_FSTATAT 1
+
+/* Define to 1 if you have the `fstatvfs' function. */
+#define HAVE_FSTATVFS 1
+
+/* Define if you have the 'fsync' function. */
+#define HAVE_FSYNC 1
+
+/* Define to 1 if you have the `ftell64' function. */
+/* #undef HAVE_FTELL64 */
+
+/* Define to 1 if you have the `ftello' function. */
+#define HAVE_FTELLO 1
+
+/* Define to 1 if you have the `ftime' function. */
+#define HAVE_FTIME 1
+
+/* Define to 1 if you have the `ftruncate' function. */
+#define HAVE_FTRUNCATE 1
+
+/* Define to 1 if you have the `futimens' function. */
+#define HAVE_FUTIMENS 1
+
+/* Define to 1 if you have the `futimes' function. */
+#define HAVE_FUTIMES 1
+
+/* Define to 1 if you have the `futimesat' function. */
+/* #undef HAVE_FUTIMESAT */
+
+/* Define to 1 if you have the `gai_strerror' function. */
+#define HAVE_GAI_STRERROR 1
+
+/* Define to 1 if you have the `gamma' function. */
+#define HAVE_GAMMA 1
+
+/* Define if we can use gcc inline assembler to get and set mc68881 fpcr */
+/* #undef HAVE_GCC_ASM_FOR_MC68881 */
+
+/* Define if we can use x64 gcc inline assembler */
+#define HAVE_GCC_ASM_FOR_X64 1
+
+/* Define if we can use gcc inline assembler to get and set x87 control word
+ */
+#define HAVE_GCC_ASM_FOR_X87 1
+
+/* Define if your compiler provides __uint128_t */
+#define HAVE_GCC_UINT128_T 1
+
+/* Define if you have the getaddrinfo function. */
+#define HAVE_GETADDRINFO 1
+
+/* Define this if you have flockfile(), getc_unlocked(), and funlockfile() */
+#define HAVE_GETC_UNLOCKED 1
+
+/* Define to 1 if you have the `getentropy' function. */
+#define HAVE_GETENTROPY 1
+
+/* Define to 1 if you have the `getgrouplist' function. */
+#define HAVE_GETGROUPLIST 1
+
+/* Define to 1 if you have the `getgroups' function. */
+#define HAVE_GETGROUPS 1
+
+/* Define to 1 if you have the `gethostbyname' function. */
+#define HAVE_GETHOSTBYNAME 1
+
+/* Define this if you have some version of gethostbyname_r() */
+/* #undef HAVE_GETHOSTBYNAME_R */
+
+/* Define this if you have the 3-arg version of gethostbyname_r(). */
+/* #undef HAVE_GETHOSTBYNAME_R_3_ARG */
+
+/* Define this if you have the 5-arg version of gethostbyname_r(). */
+/* #undef HAVE_GETHOSTBYNAME_R_5_ARG */
+
+/* Define this if you have the 6-arg version of gethostbyname_r(). */
+/* #undef HAVE_GETHOSTBYNAME_R_6_ARG */
+
+/* Define to 1 if you have the `getitimer' function. */
+#define HAVE_GETITIMER 1
+
+/* Define to 1 if you have the `getloadavg' function. */
+#define HAVE_GETLOADAVG 1
+
+/* Define to 1 if you have the `getlogin' function. */
+#define HAVE_GETLOGIN 1
+
+/* Define to 1 if you have the `getnameinfo' function. */
+#define HAVE_GETNAMEINFO 1
+
+/* Define if you have the 'getpagesize' function. */
+#define HAVE_GETPAGESIZE 1
+
+/* Define to 1 if you have the `getpeername' function. */
+#define HAVE_GETPEERNAME 1
+
+/* Define to 1 if you have the `getpgid' function. */
+#define HAVE_GETPGID 1
+
+/* Define to 1 if you have the `getpgrp' function. */
+#define HAVE_GETPGRP 1
+
+/* Define to 1 if you have the `getpid' function. */
+#define HAVE_GETPID 1
+
+/* Define to 1 if you have the `getpriority' function. */
+#define HAVE_GETPRIORITY 1
+
+/* Define to 1 if you have the `getpwent' function. */
+#define HAVE_GETPWENT 1
+
+/* Define to 1 if the getrandom() function is available */
+/* #undef HAVE_GETRANDOM */
+
+/* Define to 1 if the Linux getrandom() syscall is available */
+/* #undef HAVE_GETRANDOM_SYSCALL */
+
+/* Define to 1 if you have the `getresgid' function. */
+/* #undef HAVE_GETRESGID */
+
+/* Define to 1 if you have the `getresuid' function. */
+/* #undef HAVE_GETRESUID */
+
+/* Define to 1 if you have the `getsid' function. */
+#define HAVE_GETSID 1
+
+/* Define to 1 if you have the `getspent' function. */
+/* #undef HAVE_GETSPENT */
+
+/* Define to 1 if you have the `getspnam' function. */
+/* #undef HAVE_GETSPNAM */
+
+/* Define to 1 if you have the `gettimeofday' function. */
+#define HAVE_GETTIMEOFDAY 1
+
+/* Define to 1 if you have the `getwd' function. */
+#define HAVE_GETWD 1
+
+/* Define if glibc has incorrect _FORTIFY_SOURCE wrappers for memmove and
+ bcopy. */
+/* #undef HAVE_GLIBC_MEMMOVE_BUG */
+
+/* Define to 1 if you have the header file. */
+#define HAVE_GRP_H 1
+
+/* Define if you have the 'hstrerror' function. */
+#define HAVE_HSTRERROR 1
+
+/* Define this if you have le64toh() */
+/* #undef HAVE_HTOLE64 */
+
+/* Define to 1 if you have the `hypot' function. */
+#define HAVE_HYPOT 1
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_IEEEFP_H */
+
+/* Define to 1 if you have the `if_nameindex' function. */
+#define HAVE_IF_NAMEINDEX 1
+
+/* Define if you have the 'inet_aton' function. */
+#define HAVE_INET_ATON 1
+
+/* Define if you have the 'inet_pton' function. */
+#define HAVE_INET_PTON 1
+
+/* Define to 1 if you have the `initgroups' function. */
+#define HAVE_INITGROUPS 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_IO_H */
+
+/* Define if gcc has the ipa-pure-const bug. */
+/* #undef HAVE_IPA_PURE_CONST_BUG */
+
+/* Define to 1 if you have the `kill' function. */
+#define HAVE_KILL 1
+
+/* Define to 1 if you have the `killpg' function. */
+#define HAVE_KILLPG 1
+
+/* Define if you have the 'kqueue' functions. */
+#define HAVE_KQUEUE 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_LANGINFO_H 1
+
+/* Defined to enable large file support when an off_t is bigger than a long
+ and long long is at least as big as an off_t. You may need to add some
+ flags for configuration and compilation to enable this mode. (For Solaris
+ and Linux, the necessary defines are already defined.) */
+/* #undef HAVE_LARGEFILE_SUPPORT */
+
+/* Define to 1 if you have the 'lchflags' function. */
+#define HAVE_LCHFLAGS 1
+
+/* Define to 1 if you have the `lchmod' function. */
+#define HAVE_LCHMOD 1
+
+/* Define to 1 if you have the `lchown' function. */
+#define HAVE_LCHOWN 1
+
+/* Define to 1 if you have the `lgamma' function. */
+#define HAVE_LGAMMA 1
+
+/* Define to 1 if you have the `dl' library (-ldl). */
+#define HAVE_LIBDL 1
+
+/* Define to 1 if you have the `dld' library (-ldld). */
+/* #undef HAVE_LIBDLD */
+
+/* Define to 1 if you have the `ieee' library (-lieee). */
+/* #undef HAVE_LIBIEEE */
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_LIBINTL_H */
+
+/* Define if you have the readline library (-lreadline). */
+#define HAVE_LIBREADLINE 1
+
+/* Define to 1 if you have the `resolv' library (-lresolv). */
+/* #undef HAVE_LIBRESOLV */
+
+/* Define to 1 if you have the `sendfile' library (-lsendfile). */
+/* #undef HAVE_LIBSENDFILE */
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_LIBUTIL_H */
+
+/* Define if you have the 'link' function. */
+#define HAVE_LINK 1
+
+/* Define to 1 if you have the `linkat' function. */
+#define HAVE_LINKAT 1
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_LINUX_CAN_BCM_H */
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_LINUX_CAN_H */
+
+/* Define if compiling using Linux 3.6 or later. */
+/* #undef HAVE_LINUX_CAN_RAW_FD_FRAMES */
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_LINUX_CAN_RAW_H */
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_LINUX_NETLINK_H */
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_LINUX_RANDOM_H */
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_LINUX_TIPC_H */
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_LINUX_VM_SOCKETS_H */
+
+/* Define to 1 if you have the `lockf' function. */
+#define HAVE_LOCKF 1
+
+/* Define to 1 if you have the `log1p' function. */
+#define HAVE_LOG1P 1
+
+/* Define to 1 if you have the `log2' function. */
+#define HAVE_LOG2 1
+
+/* Define this if you have the type long double. */
+#define HAVE_LONG_DOUBLE 1
+
+/* Define to 1 if you have the `lstat' function. */
+#define HAVE_LSTAT 1
+
+/* Define to 1 if you have the `lutimes' function. */
+#define HAVE_LUTIMES 1
+
+/* Define this if you have the makedev macro. */
+#define HAVE_MAKEDEV 1
+
+/* Define to 1 if you have the `mbrtowc' function. */
+#define HAVE_MBRTOWC 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the `memrchr' function. */
+/* #undef HAVE_MEMRCHR */
+
+/* Define to 1 if you have the `mkdirat' function. */
+#define HAVE_MKDIRAT 1
+
+/* Define to 1 if you have the `mkfifo' function. */
+#define HAVE_MKFIFO 1
+
+/* Define to 1 if you have the `mkfifoat' function. */
+/* #undef HAVE_MKFIFOAT */
+
+/* Define to 1 if you have the `mknod' function. */
+#define HAVE_MKNOD 1
+
+/* Define to 1 if you have the `mknodat' function. */
+/* #undef HAVE_MKNODAT */
+
+/* Define to 1 if you have the `mktime' function. */
+#define HAVE_MKTIME 1
+
+/* Define to 1 if you have the `mmap' function. */
+#define HAVE_MMAP 1
+
+/* Define to 1 if you have the `mremap' function. */
+/* #undef HAVE_MREMAP */
+
+/* Define to 1 if you have the header file. */
+#define HAVE_NCURSES_H 1
+
+/* Define to 1 if you have the header file, and it defines `DIR'. */
+/* #undef HAVE_NDIR_H */
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_NETPACKET_PACKET_H */
+
+/* Define to 1 if you have the header file. */
+#define HAVE_NET_IF_H 1
+
+/* Define to 1 if you have the `nice' function. */
+#define HAVE_NICE 1
+
+/* Define to 1 if you have the `openat' function. */
+#define HAVE_OPENAT 1
+
+/* Define to 1 if you have the `openpty' function. */
+#define HAVE_OPENPTY 1
+
+/* Define to 1 if you have the `pathconf' function. */
+#define HAVE_PATHCONF 1
+
+/* Define to 1 if you have the `pause' function. */
+#define HAVE_PAUSE 1
+
+/* Define to 1 if you have the `pipe2' function. */
+/* #undef HAVE_PIPE2 */
+
+/* Define to 1 if you have the `plock' function. */
+/* #undef HAVE_PLOCK */
+
+/* Define to 1 if you have the `poll' function. */
+#define HAVE_POLL 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_POLL_H 1
+
+/* Define to 1 if you have the `posix_fadvise' function. */
+/* #undef HAVE_POSIX_FADVISE */
+
+/* Define to 1 if you have the `posix_fallocate' function. */
+/* #undef HAVE_POSIX_FALLOCATE */
+
+/* Define to 1 if you have the `posix_spawn' function. */
+#define HAVE_POSIX_SPAWN 1
+
+/* Define to 1 if you have the `pread' function. */
+#define HAVE_PREAD 1
+
+/* Define to 1 if you have the `preadv' function. */
+/* #undef HAVE_PREADV */
+
+/* Define to 1 if you have the `preadv2' function. */
+/* #undef HAVE_PREADV2 */
+
+/* Define if you have the 'prlimit' functions. */
+/* #undef HAVE_PRLIMIT */
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_PROCESS_H */
+
+/* Define if your compiler supports function prototype */
+#define HAVE_PROTOTYPES 1
+
+/* Defined for Solaris 2.6 bug in pthread header. */
+/* #undef HAVE_PTHREAD_DESTRUCTOR */
+
+/* Define to 1 if you have the `pthread_getcpuclockid' function. */
+/* #undef HAVE_PTHREAD_GETCPUCLOCKID */
+
+/* Define to 1 if you have the header file. */
+#define HAVE_PTHREAD_H 1
+
+/* Define to 1 if you have the `pthread_init' function. */
+/* #undef HAVE_PTHREAD_INIT */
+
+/* Define to 1 if you have the `pthread_kill' function. */
+#define HAVE_PTHREAD_KILL 1
+
+/* Define to 1 if you have the `pthread_sigmask' function. */
+#define HAVE_PTHREAD_SIGMASK 1
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_PTY_H */
+
+/* Define to 1 if you have the `putenv' function. */
+#define HAVE_PUTENV 1
+
+/* Define to 1 if you have the `pwrite' function. */
+#define HAVE_PWRITE 1
+
+/* Define to 1 if you have the `pwritev' function. */
+/* #undef HAVE_PWRITEV */
+
+/* Define to 1 if you have the `pwritev2' function. */
+/* #undef HAVE_PWRITEV2 */
+
+/* Define to 1 if you have the `readlink' function. */
+#define HAVE_READLINK 1
+
+/* Define to 1 if you have the `readlinkat' function. */
+#define HAVE_READLINKAT 1
+
+/* Define to 1 if you have the `readv' function. */
+#define HAVE_READV 1
+
+/* Define to 1 if you have the `realpath' function. */
+#define HAVE_REALPATH 1
+
+/* Define to 1 if you have the `renameat' function. */
+#define HAVE_RENAMEAT 1
+
+/* Define if readline supports append_history */
+#define HAVE_RL_APPEND_HISTORY 1
+
+/* Define if you can turn off readline's signal handling. */
+#define HAVE_RL_CATCH_SIGNAL 1
+
+/* Define if you have readline 2.2 */
+#define HAVE_RL_COMPLETION_APPEND_CHARACTER 1
+
+/* Define if you have readline 4.0 */
+#define HAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK 1
+
+/* Define if you have readline 4.2 */
+#define HAVE_RL_COMPLETION_MATCHES 1
+
+/* Define if you have rl_completion_suppress_append */
+#define HAVE_RL_COMPLETION_SUPPRESS_APPEND 1
+
+/* Define if you have readline 4.0 */
+#define HAVE_RL_PRE_INPUT_HOOK 1
+
+/* Define if you have readline 4.0 */
+#define HAVE_RL_RESIZE_TERMINAL 1
+
+/* Define to 1 if you have the `round' function. */
+#define HAVE_ROUND 1
+
+/* Define to 1 if you have the `sched_get_priority_max' function. */
+#define HAVE_SCHED_GET_PRIORITY_MAX 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SCHED_H 1
+
+/* Define to 1 if you have the `sched_rr_get_interval' function. */
+/* #undef HAVE_SCHED_RR_GET_INTERVAL */
+
+/* Define to 1 if you have the `sched_setaffinity' function. */
+/* #undef HAVE_SCHED_SETAFFINITY */
+
+/* Define to 1 if you have the `sched_setparam' function. */
+/* #undef HAVE_SCHED_SETPARAM */
+
+/* Define to 1 if you have the `sched_setscheduler' function. */
+/* #undef HAVE_SCHED_SETSCHEDULER */
+
+/* Define to 1 if you have the `sem_getvalue' function. */
+#define HAVE_SEM_GETVALUE 1
+
+/* Define to 1 if you have the `sem_open' function. */
+#define HAVE_SEM_OPEN 1
+
+/* Define to 1 if you have the `sem_timedwait' function. */
+/* #undef HAVE_SEM_TIMEDWAIT */
+
+/* Define to 1 if you have the `sem_unlink' function. */
+#define HAVE_SEM_UNLINK 1
+
+/* Define to 1 if you have the `sendfile' function. */
+#define HAVE_SENDFILE 1
+
+/* Define to 1 if you have the `setegid' function. */
+#define HAVE_SETEGID 1
+
+/* Define to 1 if you have the `seteuid' function. */
+#define HAVE_SETEUID 1
+
+/* Define to 1 if you have the `setgid' function. */
+#define HAVE_SETGID 1
+
+/* Define if you have the 'setgroups' function. */
+#define HAVE_SETGROUPS 1
+
+/* Define to 1 if you have the `sethostname' function. */
+#define HAVE_SETHOSTNAME 1
+
+/* Define to 1 if you have the `setitimer' function. */
+#define HAVE_SETITIMER 1
+
+/* Define to 1 if you have the `setlocale' function. */
+#define HAVE_SETLOCALE 1
+
+/* Define to 1 if you have the `setpgid' function. */
+#define HAVE_SETPGID 1
+
+/* Define to 1 if you have the `setpgrp' function. */
+#define HAVE_SETPGRP 1
+
+/* Define to 1 if you have the `setpriority' function. */
+#define HAVE_SETPRIORITY 1
+
+/* Define to 1 if you have the `setregid' function. */
+#define HAVE_SETREGID 1
+
+/* Define to 1 if you have the `setresgid' function. */
+/* #undef HAVE_SETRESGID */
+
+/* Define to 1 if you have the `setresuid' function. */
+/* #undef HAVE_SETRESUID */
+
+/* Define to 1 if you have the `setreuid' function. */
+#define HAVE_SETREUID 1
+
+/* Define to 1 if you have the `setsid' function. */
+#define HAVE_SETSID 1
+
+/* Define to 1 if you have the `setuid' function. */
+#define HAVE_SETUID 1
+
+/* Define to 1 if you have the `setvbuf' function. */
+#define HAVE_SETVBUF 1
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_SHADOW_H */
+
+/* Define to 1 if you have the `sigaction' function. */
+#define HAVE_SIGACTION 1
+
+/* Define to 1 if you have the `sigaltstack' function. */
+#define HAVE_SIGALTSTACK 1
+
+/* Define to 1 if `si_band' is a member of `siginfo_t'. */
+#define HAVE_SIGINFO_T_SI_BAND 1
+
+/* Define to 1 if you have the `siginterrupt' function. */
+#define HAVE_SIGINTERRUPT 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SIGNAL_H 1
+
+/* Define to 1 if you have the `sigpending' function. */
+#define HAVE_SIGPENDING 1
+
+/* Define to 1 if you have the `sigrelse' function. */
+#define HAVE_SIGRELSE 1
+
+/* Define to 1 if you have the `sigtimedwait' function. */
+/* #undef HAVE_SIGTIMEDWAIT */
+
+/* Define to 1 if you have the `sigwait' function. */
+#define HAVE_SIGWAIT 1
+
+/* Define to 1 if you have the `sigwaitinfo' function. */
+/* #undef HAVE_SIGWAITINFO */
+
+/* Define to 1 if you have the `snprintf' function. */
+#define HAVE_SNPRINTF 1
+
+/* struct sockaddr_alg (linux/if_alg.h) */
+/* #undef HAVE_SOCKADDR_ALG */
+
+/* Define if sockaddr has sa_len member */
+#define HAVE_SOCKADDR_SA_LEN 1
+
+/* struct sockaddr_storage (sys/socket.h) */
+#define HAVE_SOCKADDR_STORAGE 1
+
+/* Define if you have the 'socketpair' function. */
+#define HAVE_SOCKETPAIR 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SPAWN_H 1
+
+/* Define if your compiler provides ssize_t */
+#define HAVE_SSIZE_T 1
+
+/* Define to 1 if you have the `statvfs' function. */
+#define HAVE_STATVFS 1
+
+/* Define if you have struct stat.st_mtim.tv_nsec */
+/* #undef HAVE_STAT_TV_NSEC */
+
+/* Define if you have struct stat.st_mtimensec */
+#define HAVE_STAT_TV_NSEC2 1
+
+/* Define if your compiler supports variable length function prototypes (e.g.
+ void fprintf(FILE *, char *, ...);) *and* */
+#define HAVE_STDARG_PROTOTYPES 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_STDLIB_H 1
+
+/* Has stdatomic.h with atomic_int and atomic_uintptr_t */
+#define HAVE_STD_ATOMIC 1
+
+/* Define to 1 if you have the `strdup' function. */
+#define HAVE_STRDUP 1
+
+/* Define to 1 if you have the `strftime' function. */
+#define HAVE_STRFTIME 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the `strlcpy' function. */
+#define HAVE_STRLCPY 1
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_STROPTS_H */
+
+/* Define to 1 if `pw_gecos' is a member of `struct passwd'. */
+#define HAVE_STRUCT_PASSWD_PW_GECOS 1
+
+/* Define to 1 if `pw_passwd' is a member of `struct passwd'. */
+#define HAVE_STRUCT_PASSWD_PW_PASSWD 1
+
+/* Define to 1 if `st_birthtime' is a member of `struct stat'. */
+#define HAVE_STRUCT_STAT_ST_BIRTHTIME 1
+
+/* Define to 1 if `st_blksize' is a member of `struct stat'. */
+#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
+
+/* Define to 1 if `st_blocks' is a member of `struct stat'. */
+#define HAVE_STRUCT_STAT_ST_BLOCKS 1
+
+/* Define to 1 if `st_flags' is a member of `struct stat'. */
+#define HAVE_STRUCT_STAT_ST_FLAGS 1
+
+/* Define to 1 if `st_gen' is a member of `struct stat'. */
+#define HAVE_STRUCT_STAT_ST_GEN 1
+
+/* Define to 1 if `st_rdev' is a member of `struct stat'. */
+#define HAVE_STRUCT_STAT_ST_RDEV 1
+
+/* Define to 1 if `tm_zone' is a member of `struct tm'. */
+#define HAVE_STRUCT_TM_TM_ZONE 1
+
+/* Define if you have the 'symlink' function. */
+#define HAVE_SYMLINK 1
+
+/* Define to 1 if you have the `symlinkat' function. */
+#define HAVE_SYMLINKAT 1
+
+/* Define to 1 if you have the `sync' function. */
+#define HAVE_SYNC 1
+
+/* Define to 1 if you have the `sysconf' function. */
+#define HAVE_SYSCONF 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SYSEXITS_H 1
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_SYS_AUDIOIO_H */
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_SYS_BSDTTY_H */
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_SYS_DEVPOLL_H */
+
+/* Define to 1 if you have the header file, and it defines `DIR'.
+ */
+/* #undef HAVE_SYS_DIR_H */
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_SYS_ENDIAN_H */
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_SYS_EPOLL_H */
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SYS_EVENT_H 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SYS_FILE_H 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SYS_IOCTL_H 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SYS_KERN_CONTROL_H 1
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_SYS_LOADAVG_H */
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SYS_LOCK_H 1
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_SYS_MKDEV_H */
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_SYS_MODEM_H */
+
+/* Define to 1 if you have the header file, and it defines `DIR'.
+ */
+/* #undef HAVE_SYS_NDIR_H */
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SYS_PARAM_H 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SYS_POLL_H 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SYS_RANDOM_H 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SYS_RESOURCE_H 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SYS_SELECT_H 1
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_SYS_SENDFILE_H */
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SYS_SOCKET_H 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SYS_STATVFS_H 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SYS_SYSCALL_H 1
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_SYS_SYSMACROS_H */
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SYS_SYS_DOMAIN_H 1
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_SYS_TERMIO_H */
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SYS_TIMES_H 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SYS_TIME_H 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SYS_UIO_H 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SYS_UN_H 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SYS_UTSNAME_H 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SYS_WAIT_H 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_SYS_XATTR_H 1
+
+/* Define to 1 if you have the `tcgetpgrp' function. */
+#define HAVE_TCGETPGRP 1
+
+/* Define to 1 if you have the `tcsetpgrp' function. */
+#define HAVE_TCSETPGRP 1
+
+/* Define to 1 if you have the `tempnam' function. */
+#define HAVE_TEMPNAM 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_TERMIOS_H 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_TERM_H 1
+
+/* Define to 1 if you have the `tgamma' function. */
+#define HAVE_TGAMMA 1
+
+/* Define to 1 if you have the `timegm' function. */
+#define HAVE_TIMEGM 1
+
+/* Define to 1 if you have the `times' function. */
+#define HAVE_TIMES 1
+
+/* Define to 1 if you have the `tmpfile' function. */
+#define HAVE_TMPFILE 1
+
+/* Define to 1 if you have the `tmpnam' function. */
+#define HAVE_TMPNAM 1
+
+/* Define to 1 if you have the `tmpnam_r' function. */
+/* #undef HAVE_TMPNAM_R */
+
+/* Define to 1 if your `struct tm' has `tm_zone'. Deprecated, use
+ `HAVE_STRUCT_TM_TM_ZONE' instead. */
+#define HAVE_TM_ZONE 1
+
+/* Define to 1 if you have the `truncate' function. */
+#define HAVE_TRUNCATE 1
+
+/* Define to 1 if you don't have `tm_zone' but do have the external array
+ `tzname'. */
+/* #undef HAVE_TZNAME */
+
+/* Define this if you have tcl and TCL_UTF_MAX==6 */
+/* #undef HAVE_UCS4_TCL */
+
+/* Define to 1 if you have the `uname' function. */
+#define HAVE_UNAME 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if you have the `unlinkat' function. */
+#define HAVE_UNLINKAT 1
+
+/* Define to 1 if you have the `unsetenv' function. */
+#define HAVE_UNSETENV 1
+
+/* Define if you have a useable wchar_t type defined in wchar.h; useable means
+ wchar_t must be an unsigned type with at least 16 bits. (see
+ Include/unicodeobject.h). */
+/* #undef HAVE_USABLE_WCHAR_T */
+
+/* Define to 1 if you have the header file. */
+#define HAVE_UTIL_H 1
+
+/* Define to 1 if you have the `utimensat' function. */
+#define HAVE_UTIMENSAT 1
+
+/* Define to 1 if you have the `utimes' function. */
+#define HAVE_UTIMES 1
+
+/* Define to 1 if you have the header file. */
+#define HAVE_UTIME_H 1
+
+/* Define if uuid_create() exists. */
+/* #undef HAVE_UUID_CREATE */
+
+/* Define if uuid_enc_be() exists. */
+/* #undef HAVE_UUID_ENC_BE */
+
+/* Define if uuid_generate_time_safe() exists. */
+/* #undef HAVE_UUID_GENERATE_TIME_SAFE */
+
+/* Define to 1 if you have the header file. */
+/* #undef HAVE_UUID_H */
+
+/* Define to 1 if you have the header file. */
+#define HAVE_UUID_UUID_H 1
+
+/* Define to 1 if you have the `wait3' function. */
+#define HAVE_WAIT3 1
+
+/* Define to 1 if you have the `wait4' function. */
+#define HAVE_WAIT4 1
+
+/* Define to 1 if you have the `waitid' function. */
+#define HAVE_WAITID 1
+
+/* Define to 1 if you have the `waitpid' function. */
+#define HAVE_WAITPID 1
+
+/* Define if the compiler provides a wchar.h header file. */
+#define HAVE_WCHAR_H 1
+
+/* Define to 1 if you have the `wcscoll' function. */
+#define HAVE_WCSCOLL 1
+
+/* Define to 1 if you have the `wcsftime' function. */
+#define HAVE_WCSFTIME 1
+
+/* Define to 1 if you have the `wcsxfrm' function. */
+#define HAVE_WCSXFRM 1
+
+/* Define to 1 if you have the `wmemcmp' function. */
+#define HAVE_WMEMCMP 1
+
+/* Define if tzset() actually switches the local timezone in a meaningful way.
+ */
+#define HAVE_WORKING_TZSET 1
+
+/* Define to 1 if you have the `writev' function. */
+#define HAVE_WRITEV 1
+
+/* Define if libssl has X509_VERIFY_PARAM_set1_host and related function */
+#define HAVE_X509_VERIFY_PARAM_SET1_HOST 1
+
+/* Define if the zlib library has inflateCopy */
+#define HAVE_ZLIB_COPY 1
+
+/* Define to 1 if you have the `_getpty' function. */
+/* #undef HAVE__GETPTY */
+
+/* Define if log1p(-0.) is 0. rather than -0. */
+/* #undef LOG1P_DROPS_ZERO_SIGN */
+
+/* Define to 1 if `major', `minor', and `makedev' are declared in .
+ */
+/* #undef MAJOR_IN_MKDEV */
+
+/* Define to 1 if `major', `minor', and `makedev' are declared in
+ . */
+/* #undef MAJOR_IN_SYSMACROS */
+
+/* Define if mvwdelch in curses.h is an expression. */
+#define MVWDELCH_IS_EXPRESSION 1
+
+/* Define to the address where bug reports for this package should be sent. */
+/* #undef PACKAGE_BUGREPORT */
+
+/* Define to the full name of this package. */
+/* #undef PACKAGE_NAME */
+
+/* Define to the full name and version of this package. */
+/* #undef PACKAGE_STRING */
+
+/* Define to the one symbol short name of this package. */
+/* #undef PACKAGE_TARNAME */
+
+/* Define to the home page for this package. */
+/* #undef PACKAGE_URL */
+
+/* Define to the version of this package. */
+/* #undef PACKAGE_VERSION */
+
+/* Define if POSIX semaphores aren't enabled on your system */
+/* #undef POSIX_SEMAPHORES_NOT_ENABLED */
+
+/* Define if pthread_key_t is compatible with int. */
+/* #undef PTHREAD_KEY_T_IS_COMPATIBLE_WITH_INT */
+
+/* Defined if PTHREAD_SCOPE_SYSTEM supported. */
+#define PTHREAD_SYSTEM_SCHED_SUPPORTED 1
+
+/* Define as the preferred size in bits of long digits */
+/* #undef PYLONG_BITS_IN_DIGIT */
+
+/* Define if you want to coerce the C locale to a UTF-8 based locale */
+#define PY_COERCE_C_LOCALE 1
+
+/* Define to printf format modifier for Py_ssize_t */
+#define PY_FORMAT_SIZE_T "z"
+
+/* Default cipher suites list for ssl module. 1: Python's preferred selection,
+ 2: leave OpenSSL defaults untouched, 0: custom string */
+#define PY_SSL_DEFAULT_CIPHERS 1
+
+/* Cipher suite string for PY_SSL_DEFAULT_CIPHERS=0 */
+/* #undef PY_SSL_DEFAULT_CIPHER_STRING */
+
+/* Define if you want to build an interpreter with many run-time checks. */
+/* #undef Py_DEBUG */
+
+/* Defined if Python is built as a shared library. */
+/* #undef Py_ENABLE_SHARED */
+
+/* Define hash algorithm for str, bytes and memoryview. SipHash24: 1, FNV: 2,
+ externally defined: 0 */
+/* #undef Py_HASH_ALGORITHM */
+
+/* assume C89 semantics that RETSIGTYPE is always void */
+#define RETSIGTYPE void
+
+/* Define if setpgrp() must be called as setpgrp(0, 0). */
+/* #undef SETPGRP_HAVE_ARG */
+
+/* Define if i>>j for signed int i does not extend the sign bit when i < 0 */
+/* #undef SIGNED_RIGHT_SHIFT_ZERO_FILLS */
+
+/* The size of `double', as computed by sizeof. */
+#define SIZEOF_DOUBLE 8
+
+/* The size of `float', as computed by sizeof. */
+#define SIZEOF_FLOAT 4
+
+/* The size of `fpos_t', as computed by sizeof. */
+#define SIZEOF_FPOS_T 8
+
+/* The size of `int', as computed by sizeof. */
+#define SIZEOF_INT 4
+
+/* The size of `long', as computed by sizeof. */
+#define SIZEOF_LONG 8
+
+/* The size of `long double', as computed by sizeof. */
+#define SIZEOF_LONG_DOUBLE 16
+
+/* The size of `long long', as computed by sizeof. */
+#define SIZEOF_LONG_LONG 8
+
+/* The size of `off_t', as computed by sizeof. */
+#define SIZEOF_OFF_T 8
+
+/* The size of `pid_t', as computed by sizeof. */
+#define SIZEOF_PID_T 4
+
+/* The size of `pthread_key_t', as computed by sizeof. */
+#define SIZEOF_PTHREAD_KEY_T 8
+
+/* The size of `pthread_t', as computed by sizeof. */
+#define SIZEOF_PTHREAD_T 8
+
+/* The size of `short', as computed by sizeof. */
+#define SIZEOF_SHORT 2
+
+/* The size of `size_t', as computed by sizeof. */
+#define SIZEOF_SIZE_T 8
+
+/* The size of `time_t', as computed by sizeof. */
+#define SIZEOF_TIME_T 8
+
+/* The size of `uintptr_t', as computed by sizeof. */
+#define SIZEOF_UINTPTR_T 8
+
+/* The size of `void *', as computed by sizeof. */
+#define SIZEOF_VOID_P 8
+
+/* The size of `wchar_t', as computed by sizeof. */
+#define SIZEOF_WCHAR_T 4
+
+/* The size of `_Bool', as computed by sizeof. */
+#define SIZEOF__BOOL 1
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define if you can safely include both and
+ (which you can't on SCO ODT 3.0). */
+#define SYS_SELECT_WITH_SYS_TIME 1
+
+/* Define if tanh(-0.) is -0., or if platform doesn't have signed zeros */
+#define TANH_PRESERVES_ZERO_SIGN 1
+
+/* Library needed by timemodule.c: librt may be needed for clock_gettime() */
+/* #undef TIMEMODULE_LIB */
+
+/* Define to 1 if you can safely include both and . */
+#define TIME_WITH_SYS_TIME 1
+
+/* Define to 1 if your declares `struct tm'. */
+/* #undef TM_IN_SYS_TIME */
+
+/* Define if you want to use computed gotos in ceval.c. */
+/* #undef USE_COMPUTED_GOTOS */
+
+/* Enable extensions on AIX 3, Interix. */
+#ifndef _ALL_SOURCE
+# define _ALL_SOURCE 1
+#endif
+/* Enable GNU extensions on systems that have them. */
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE 1
+#endif
+/* Enable threading extensions on Solaris. */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# define _POSIX_PTHREAD_SEMANTICS 1
+#endif
+/* Enable extensions on HP NonStop. */
+#ifndef _TANDEM_SOURCE
+# define _TANDEM_SOURCE 1
+#endif
+/* Enable general extensions on Solaris. */
+#ifndef __EXTENSIONS__
+# define __EXTENSIONS__ 1
+#endif
+
+
+/* Define if WINDOW in curses.h offers a field _flags. */
+#define WINDOW_HAS_FLAGS 1
+
+/* Define if you want build the _decimal module using a coroutine-local rather
+ than a thread-local context */
+#define WITH_DECIMAL_CONTEXTVAR 1
+
+/* Define if you want documentation strings in extension modules */
+#define WITH_DOC_STRINGS 1
+
+/* Define if you want to compile in DTrace support */
+#define WITH_DTRACE 1
+
+/* Define if you want to use the new-style (Openstep, Rhapsody, MacOS) dynamic
+ linker (dyld) instead of the old-style (NextStep) dynamic linker (rld).
+ Dyld is necessary to support frameworks. */
+#define WITH_DYLD 1
+
+/* Define to 1 if libintl is needed for locale functions. */
+/* #undef WITH_LIBINTL */
+
+/* Define if you want to produce an OpenStep/Rhapsody framework (shared
+ library plus accessory files). */
+#define WITH_NEXT_FRAMEWORK 1
+
+/* Define if you want to compile in Python-specific mallocs */
+#define WITH_PYMALLOC 1
+
+/* Define if you want pymalloc to be disabled when running under valgrind */
+/* #undef WITH_VALGRIND */
+
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+ significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+# define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+/* # undef WORDS_BIGENDIAN */
+# endif
+#endif
+
+/* Define if arithmetic is subject to x87-style double rounding issue */
+/* #undef X87_DOUBLE_ROUNDING */
+
+/* Define on OpenBSD to activate all library features */
+/* #undef _BSD_SOURCE */
+
+/* Define on Darwin to activate all library features */
+#define _DARWIN_C_SOURCE 1
+
+/* This must be set to 64 on some systems to enable large file support. */
+#define _FILE_OFFSET_BITS 64
+
+/* Define on Linux to activate all library features */
+#define _GNU_SOURCE 1
+
+/* Define to include mbstate_t for mbrtowc */
+/* #undef _INCLUDE__STDC_A1_SOURCE */
+
+/* This must be defined on some systems to enable large file support. */
+#define _LARGEFILE_SOURCE 1
+
+/* This must be defined on AIX systems to enable large file support. */
+/* #undef _LARGE_FILES */
+
+/* Define to 1 if on MINIX. */
+/* #undef _MINIX */
+
+/* Define on NetBSD to activate all library features */
+#define _NETBSD_SOURCE 1
+
+/* Define to 2 if the system does not provide POSIX.1 features except with
+ this defined. */
+/* #undef _POSIX_1_SOURCE */
+
+/* Define to activate features from IEEE Stds 1003.1-2008 */
+/* #undef _POSIX_C_SOURCE */
+
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+/* #undef _POSIX_SOURCE */
+
+/* Define if you have POSIX threads, and your system does not define that. */
+/* #undef _POSIX_THREADS */
+
+/* framework name */
+#define _PYTHONFRAMEWORK "Python"
+
+/* Define to force use of thread-safe errno, h_errno, and other functions */
+#define _REENTRANT 1
+
+/* Define to the level of X/Open that your system supports */
+/* #undef _XOPEN_SOURCE */
+
+/* Define to activate Unix95-and-earlier features */
+/* #undef _XOPEN_SOURCE_EXTENDED */
+
+/* Define on FreeBSD to activate all library features */
+#define __BSD_VISIBLE 1
+
+/* Define to 1 if type `char' is unsigned and you are not using gcc. */
+#ifndef __CHAR_UNSIGNED__
+/* # undef __CHAR_UNSIGNED__ */
+#endif
+
+/* Define to 'long' if doesn't define. */
+/* #undef clock_t */
+
+/* Define to empty if `const' does not conform to ANSI C. */
+/* #undef const */
+
+/* Define to `int' if doesn't define. */
+/* #undef gid_t */
+
+/* Define to `int' if does not define. */
+/* #undef mode_t */
+
+/* Define to `long int' if does not define. */
+/* #undef off_t */
+
+/* Define to `int' if does not define. */
+/* #undef pid_t */
+
+/* Define to empty if the keyword does not work. */
+/* #undef signed */
+
+/* Define to `unsigned int' if does not define. */
+/* #undef size_t */
+
+/* Define to `int' if does not define. */
+/* #undef socklen_t */
+
+/* Define to `int' if doesn't define. */
+/* #undef uid_t */
+
+
+/* Define the macros needed if on a UnixWare 7.x system. */
+#if defined(__USLC__) && defined(__SCO_VERSION__)
+#define STRICT_SYSV_CURSES /* Don't use ncurses extensions */
+#endif
+
+#endif /*Py_PYCONFIG_H*/
+
diff --git a/MacBuild/SPEx.app/Contents/Resources/lib/python3.7/config-3.7m-darwin/Makefile b/MacBuild/SPEx.app/Contents/Resources/lib/python3.7/config-3.7m-darwin/Makefile
new file mode 100644
index 0000000..722e8ea
--- /dev/null
+++ b/MacBuild/SPEx.app/Contents/Resources/lib/python3.7/config-3.7m-darwin/Makefile
@@ -0,0 +1,1876 @@
+# Generated automatically from Makefile.pre by makesetup.
+# Top-level Makefile for Python
+#
+# As distributed, this file is called Makefile.pre.in; it is processed
+# into the real Makefile by running the script ./configure, which
+# replaces things like @spam@ with values appropriate for your system.
+# This means that if you edit Makefile, your changes get lost the next
+# time you run the configure script. Ideally, you can do:
+#
+# ./configure
+# make
+# make test
+# make install
+#
+# If you have a previous version of Python installed that you don't
+# want to overwrite, you can use "make altinstall" instead of "make
+# install". Refer to the "Installing" section in the README file for
+# additional details.
+#
+# See also the section "Build instructions" in the README file.
+
+# === Variables set by makesetup ===
+
+MODBUILT_NAMES= posix errno pwd _sre _codecs _weakref _functools _operator _collections _abc itertools atexit _signal _stat time _thread _locale _io zipimport faulthandler _tracemalloc _symtable xxsubtype
+MODDISABLED_NAMES=
+MODOBJS= Modules/posixmodule.o Modules/errnomodule.o Modules/pwdmodule.o Modules/_sre.o Modules/_codecsmodule.o Modules/_weakref.o Modules/_functoolsmodule.o Modules/_operator.o Modules/_collectionsmodule.o Modules/_abc.o Modules/itertoolsmodule.o Modules/atexitmodule.o Modules/signalmodule.o Modules/_stat.o Modules/timemodule.o Modules/_threadmodule.o Modules/_localemodule.o Modules/_iomodule.o Modules/iobase.o Modules/fileio.o Modules/bytesio.o Modules/bufferedio.o Modules/textio.o Modules/stringio.o Modules/zipimport.o Modules/faulthandler.o Modules/_tracemalloc.o Modules/hashtable.o Modules/symtablemodule.o Modules/xxsubtype.o
+MODLIBS= $(LOCALMODLIBS) $(BASEMODLIBS)
+
+# === Variables set by configure
+VERSION= 3.7
+srcdir= .
+
+abs_srcdir= /private/tmp/python@3.7-20200909-73228-n78c5j/Python-3.7.9
+abs_builddir= /private/tmp/python@3.7-20200909-73228-n78c5j/Python-3.7.9
+
+
+CC= clang
+CXX= clang++
+MAINCC= $(CC)
+LINKCC= $(PURIFY) $(MAINCC)
+AR= ar
+READELF= :
+SOABI= cpython-37m-darwin
+LDVERSION= $(VERSION)$(ABIFLAGS)
+GITVERSION=
+GITTAG=
+GITBRANCH=
+PGO_PROF_GEN_FLAG=-fprofile-instr-generate
+PGO_PROF_USE_FLAG=-fprofile-instr-use=code.profclangd
+LLVM_PROF_MERGER=/usr/bin/xcrun llvm-profdata merge -output=code.profclangd *.profclangr
+LLVM_PROF_FILE=LLVM_PROFILE_FILE="code-%p.profclangr"
+LLVM_PROF_ERR=no
+DTRACE= /usr/sbin/dtrace
+DFLAGS=
+DTRACE_HEADERS= Include/pydtrace_probes.h
+DTRACE_OBJS=
+
+GNULD= no
+
+# Shell used by make (some versions default to the login shell, which is bad)
+SHELL= /bin/sh
+
+# Use this to make a link between python$(VERSION) and python in $(BINDIR)
+LN= ln
+
+# Portable install script (configure doesn't always guess right)
+INSTALL= /usr/bin/install -c
+INSTALL_PROGRAM=${INSTALL}
+INSTALL_SCRIPT= ${INSTALL}
+INSTALL_DATA= ${INSTALL} -m 644
+# Shared libraries must be installed with executable mode on some systems;
+# rather than figuring out exactly which, we always give them executable mode.
+# Also, making them read-only seems to be a good idea...
+INSTALL_SHARED= ${INSTALL} -m 555
+
+MKDIR_P= ./install-sh -c -d
+
+MAKESETUP= $(srcdir)/Modules/makesetup
+
+# Compiler options
+OPT= -DNDEBUG -g -fwrapv -O3 -Wall
+BASECFLAGS= -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic
+BASECPPFLAGS=
+CONFIGURE_CFLAGS= -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers
+# CFLAGS_NODIST is used for building the interpreter and stdlib C extensions.
+# Use it when a compiler flag should _not_ be part of the distutils CFLAGS
+# once Python is installed (Issue #21121).
+CONFIGURE_CFLAGS_NODIST= -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration
+# LDFLAGS_NODIST is used in the same manner as CFLAGS_NODIST.
+# Use it when a linker flag should _not_ be part of the distutils LDFLAGS
+# once Python is installed (bpo-35257)
+CONFIGURE_LDFLAGS_NODIST=
+CONFIGURE_CPPFLAGS=
+CONFIGURE_LDFLAGS= -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk
+# Avoid assigning CFLAGS, LDFLAGS, etc. so users can use them on the
+# command line to append to these values without stomping the pre-set
+# values.
+PY_CFLAGS= $(BASECFLAGS) $(OPT) $(CONFIGURE_CFLAGS) $(CFLAGS) $(EXTRA_CFLAGS)
+PY_CFLAGS_NODIST=$(CONFIGURE_CFLAGS_NODIST) $(CFLAGS_NODIST)
+# Both CPPFLAGS and LDFLAGS need to contain the shell's value for setup.py to
+# be able to build extension modules using the directories specified in the
+# environment variables
+PY_CPPFLAGS= $(BASECPPFLAGS) -I. -I$(srcdir)/Include $(CONFIGURE_CPPFLAGS) $(CPPFLAGS)
+PY_LDFLAGS= $(CONFIGURE_LDFLAGS) $(LDFLAGS)
+PY_LDFLAGS_NODIST=$(CONFIGURE_LDFLAGS_NODIST) $(LDFLAGS_NODIST)
+NO_AS_NEEDED=
+LDLAST=
+SGI_ABI= @SGI_ABI@
+CCSHARED=
+# LINKFORSHARED are the flags passed to the $(CC) command that links
+# the python executable -- this is only needed for a few systems
+LINKFORSHARED= -Wl,-stack_size,1000000 -framework CoreFoundation $(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)
+ARFLAGS= rcs
+# Extra C flags added for building the interpreter object files.
+CFLAGSFORSHARED=$(CCSHARED)
+# C flags used for building the interpreter object files
+PY_STDMODULE_CFLAGS= $(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) $(CFLAGSFORSHARED)
+PY_BUILTIN_MODULE_CFLAGS= $(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE_BUILTIN
+PY_CORE_CFLAGS= $(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE
+# Linker flags used for building the interpreter object files
+PY_CORE_LDFLAGS=$(PY_LDFLAGS) $(PY_LDFLAGS_NODIST)
+# Strict or non-strict aliasing flags used to compile dtoa.c, see above
+CFLAGS_ALIASING=-fno-strict-aliasing
+
+
+# Machine-dependent subdirectories
+MACHDEP= darwin
+
+# Multiarch directory (may be empty)
+MULTIARCH= darwin
+MULTIARCH_CPPFLAGS = -DMULTIARCH=\"darwin\"
+
+# Install prefix for architecture-independent files
+prefix= /usr/local/opt/python@3.7/Frameworks/Python.framework/Versions/3.7
+
+# Install prefix for architecture-dependent files
+exec_prefix= ${prefix}
+
+# Install prefix for data files
+datarootdir= /usr/local/opt/python@3.7/share
+
+# Expanded directories
+BINDIR= ${exec_prefix}/bin
+LIBDIR= ${exec_prefix}/lib
+MANDIR= ${datarootdir}/man
+INCLUDEDIR= ${prefix}/include
+CONFINCLUDEDIR= $(exec_prefix)/include
+SCRIPTDIR= $(prefix)/lib
+ABIFLAGS= m
+
+# Detailed destination directories
+BINLIBDEST= $(LIBDIR)/python$(VERSION)
+LIBDEST= $(SCRIPTDIR)/python$(VERSION)
+INCLUDEPY= $(INCLUDEDIR)/python$(LDVERSION)
+CONFINCLUDEPY= $(CONFINCLUDEDIR)/python$(LDVERSION)
+
+# Symbols used for using shared libraries
+SHLIB_SUFFIX= .so
+EXT_SUFFIX= .cpython-37m-darwin.so
+LDSHARED= $(CC) -bundle -undefined dynamic_lookup $(PY_LDFLAGS)
+BLDSHARED= $(CC) -bundle -undefined dynamic_lookup $(PY_CORE_LDFLAGS)
+LDCXXSHARED= $(CXX) -bundle -undefined dynamic_lookup
+DESTSHARED= $(BINLIBDEST)/lib-dynload
+
+# Executable suffix (.exe on Windows and Mac OS X)
+EXE=
+BUILDEXE= .exe
+
+# Short name and location for Mac OS X Python framework
+UNIVERSALSDK=
+PYTHONFRAMEWORK= Python
+PYTHONFRAMEWORKDIR= Python.framework
+PYTHONFRAMEWORKPREFIX= /usr/local/opt/python@3.7/Frameworks
+PYTHONFRAMEWORKINSTALLDIR= /usr/local/opt/python@3.7/Frameworks/Python.framework
+# Deployment target selected during configure, to be checked
+# by distutils. The export statement is needed to ensure that the
+# deployment target is active during build.
+MACOSX_DEPLOYMENT_TARGET=10.15
+export MACOSX_DEPLOYMENT_TARGET
+
+# Option to install to strip binaries
+STRIPFLAG=-s
+
+# Flags to lipo to produce a 32-bit-only universal executable
+LIPO_32BIT_FLAGS=
+
+# Options to enable prebinding (for fast startup prior to Mac OS X 10.3)
+OTHER_LIBTOOL_OPT=
+
+# Environment to run shared python without installed libraries
+RUNSHARED= DYLD_FRAMEWORK_PATH=/private/tmp/python@3.7-20200909-73228-n78c5j/Python-3.7.9
+
+# ensurepip options
+ENSUREPIP= no
+
+# OpenSSL options for setup.py so sysconfig can pick up AC_SUBST() vars.
+OPENSSL_INCLUDES=-I/usr/local/opt/openssl@1.1/include
+OPENSSL_LIBS=-lssl -lcrypto
+OPENSSL_LDFLAGS=-L/usr/local/opt/openssl@1.1/lib
+
+# Modes for directories, executables and data files created by the
+# install process. Default to user-only-writable for all file types.
+DIRMODE= 755
+EXEMODE= 755
+FILEMODE= 644
+
+# configure script arguments
+CONFIG_ARGS= '--prefix=/usr/local/opt/python@3.7' '--enable-ipv6' '--datarootdir=/usr/local/opt/python@3.7/share' '--datadir=/usr/local/opt/python@3.7/share' '--enable-framework=/usr/local/opt/python@3.7/Frameworks' '--enable-loadable-sqlite-extensions' '--without-ensurepip' '--with-dtrace' '--with-openssl=/usr/local/opt/openssl@1.1' '--without-gcc' 'MACOSX_DEPLOYMENT_TARGET=10.15' 'CFLAGS=-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers' 'LDFLAGS=-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk' 'CC=clang' 'PKG_CONFIG_PATH=/usr/local/opt/openssl@1.1/lib/pkgconfig:/usr/local/opt/readline/lib/pkgconfig:/usr/local/opt/sqlite/lib/pkgconfig:/usr/local/opt/xz/lib/pkgconfig' 'PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/usr/local/Homebrew/Library/Homebrew/os/mac/pkgconfig/10.15'
+
+
+# Subdirectories with code
+SRCDIRS= Parser Objects Python Modules Modules/_io Programs
+
+# Other subdirectories
+SUBDIRSTOO= Include Lib Misc
+
+# Files and directories to be distributed
+CONFIGFILES= configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in
+DISTFILES= README.rst ChangeLog $(CONFIGFILES)
+DISTDIRS= $(SUBDIRS) $(SUBDIRSTOO) Ext-dummy
+DIST= $(DISTFILES) $(DISTDIRS)
+
+
+LIBRARY= libpython$(VERSION)$(ABIFLAGS).a
+LDLIBRARY= $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)
+BLDLIBRARY=
+PY3LIBRARY=
+DLLLIBRARY=
+LDLIBRARYDIR=
+INSTSONAME= $(LDLIBRARY)
+
+
+LIBS= -ldl -framework CoreFoundation
+LIBM=
+LIBC=
+SYSLIBS= $(LIBM) $(LIBC)
+SHLIBS= $(LIBS)
+
+DLINCLDIR= .
+DYNLOADFILE= dynload_shlib.o
+MACHDEP_OBJS=
+LIBOBJDIR= Python/
+LIBOBJS=
+
+PYTHON= python$(EXE)
+BUILDPYTHON= python$(BUILDEXE)
+
+PYTHON_FOR_REGEN=python3
+UPDATE_FILE=python3 $(srcdir)/Tools/scripts/update_file.py
+PYTHON_FOR_BUILD=./$(BUILDPYTHON) -E
+_PYTHON_HOST_PLATFORM=
+BUILD_GNU_TYPE= x86_64-apple-darwin19.5.0
+HOST_GNU_TYPE= x86_64-apple-darwin19.5.0
+
+# Tcl and Tk config info from --with-tcltk-includes and -libs options
+TCLTK_INCLUDES=
+TCLTK_LIBS=
+
+# The task to run while instrumented when building the profile-opt target.
+# We exclude unittests with -x that take a rediculious amount of time to
+# run in the instrumented training build or do not provide much value.
+PROFILE_TASK=-m test.regrtest --pgo
+
+# report files for gcov / lcov coverage report
+COVERAGE_INFO= $(abs_builddir)/coverage.info
+COVERAGE_REPORT=$(abs_builddir)/lcov-report
+COVERAGE_REPORT_OPTIONS=--no-branch-coverage --title "CPython lcov report"
+
+
+# === Definitions added by makesetup ===
+
+LOCALMODLIBS=
+BASEMODLIBS=
+PYTHONPATH=$(COREPYTHONPATH)
+COREPYTHONPATH=$(DESTPATH)$(SITEPATH)$(TESTPATH)
+TESTPATH=
+SITEPATH=
+DESTPATH=
+MACHDESTLIB=$(BINLIBDEST)
+DESTLIB=$(LIBDEST)
+
+
+##########################################################################
+# Modules
+MODULE_OBJS= \
+ Modules/config.o \
+ Modules/getpath.o \
+ Modules/main.o \
+ Modules/gcmodule.o
+
+IO_H= Modules/_io/_iomodule.h
+
+IO_OBJS= \
+ Modules/_io/_iomodule.o \
+ Modules/_io/iobase.o \
+ Modules/_io/fileio.o \
+ Modules/_io/bufferedio.o \
+ Modules/_io/textio.o \
+ Modules/_io/bytesio.o \
+ Modules/_io/stringio.o
+
+##########################################################################
+
+LIBFFI_INCLUDEDIR=
+
+##########################################################################
+# Parser
+PGEN= Parser/pgen$(EXE)
+
+POBJS= \
+ Parser/acceler.o \
+ Parser/grammar1.o \
+ Parser/listnode.o \
+ Parser/node.o \
+ Parser/parser.o \
+ Parser/bitset.o \
+ Parser/metagrammar.o \
+ Parser/firstsets.o \
+ Parser/grammar.o \
+ Parser/pgen.o
+
+PARSER_OBJS= $(POBJS) Parser/myreadline.o Parser/parsetok.o Parser/tokenizer.o
+
+PGOBJS= \
+ Objects/obmalloc.o \
+ Python/dynamic_annotations.o \
+ Python/mysnprintf.o \
+ Python/pyctype.o \
+ Parser/tokenizer_pgen.o \
+ Parser/printgrammar.o \
+ Parser/parsetok_pgen.o \
+ Parser/pgenmain.o
+
+PARSER_HEADERS= \
+ $(srcdir)/Include/grammar.h \
+ $(srcdir)/Include/parsetok.h \
+ $(srcdir)/Parser/parser.h \
+ $(srcdir)/Parser/tokenizer.h
+
+PGENOBJS= $(POBJS) $(PGOBJS)
+
+##########################################################################
+# Python
+
+PYTHON_OBJS= \
+ Python/_warnings.o \
+ Python/Python-ast.o \
+ Python/asdl.o \
+ Python/ast.o \
+ Python/ast_opt.o \
+ Python/ast_unparse.o \
+ Python/bltinmodule.o \
+ Python/ceval.o \
+ Python/compile.o \
+ Python/codecs.o \
+ Python/dynamic_annotations.o \
+ Python/errors.o \
+ Python/frozenmain.o \
+ Python/future.o \
+ Python/getargs.o \
+ Python/getcompiler.o \
+ Python/getcopyright.o \
+ Python/getplatform.o \
+ Python/getversion.o \
+ Python/graminit.o \
+ Python/import.o \
+ Python/importdl.o \
+ Python/marshal.o \
+ Python/modsupport.o \
+ Python/mysnprintf.o \
+ Python/mystrtoul.o \
+ Python/pathconfig.o \
+ Python/peephole.o \
+ Python/pyarena.o \
+ Python/pyctype.o \
+ Python/pyfpe.o \
+ Python/pyhash.o \
+ Python/pylifecycle.o \
+ Python/pymath.o \
+ Python/pystate.o \
+ Python/context.o \
+ Python/hamt.o \
+ Python/pythonrun.o \
+ Python/pytime.o \
+ Python/bootstrap_hash.o \
+ Python/structmember.o \
+ Python/symtable.o \
+ Python/sysmodule.o \
+ Python/thread.o \
+ Python/traceback.o \
+ Python/getopt.o \
+ Python/pystrcmp.o \
+ Python/pystrtod.o \
+ Python/pystrhex.o \
+ Python/dtoa.o \
+ Python/formatter_unicode.o \
+ Python/fileutils.o \
+ Python/$(DYNLOADFILE) \
+ $(LIBOBJS) \
+ $(MACHDEP_OBJS) \
+ $(DTRACE_OBJS)
+
+
+##########################################################################
+# Objects
+OBJECT_OBJS= \
+ Objects/abstract.o \
+ Objects/accu.o \
+ Objects/boolobject.o \
+ Objects/bytes_methods.o \
+ Objects/bytearrayobject.o \
+ Objects/bytesobject.o \
+ Objects/call.o \
+ Objects/cellobject.o \
+ Objects/classobject.o \
+ Objects/codeobject.o \
+ Objects/complexobject.o \
+ Objects/descrobject.o \
+ Objects/enumobject.o \
+ Objects/exceptions.o \
+ Objects/genobject.o \
+ Objects/fileobject.o \
+ Objects/floatobject.o \
+ Objects/frameobject.o \
+ Objects/funcobject.o \
+ Objects/iterobject.o \
+ Objects/listobject.o \
+ Objects/longobject.o \
+ Objects/dictobject.o \
+ Objects/odictobject.o \
+ Objects/memoryobject.o \
+ Objects/methodobject.o \
+ Objects/moduleobject.o \
+ Objects/namespaceobject.o \
+ Objects/object.o \
+ Objects/obmalloc.o \
+ Objects/capsule.o \
+ Objects/rangeobject.o \
+ Objects/setobject.o \
+ Objects/sliceobject.o \
+ Objects/structseq.o \
+ Objects/tupleobject.o \
+ Objects/typeobject.o \
+ Objects/unicodeobject.o \
+ Objects/unicodectype.o \
+ Objects/weakrefobject.o
+
+##########################################################################
+# objects that get linked into the Python library
+LIBRARY_OBJS_OMIT_FROZEN= \
+ Modules/getbuildinfo.o \
+ $(PARSER_OBJS) \
+ $(OBJECT_OBJS) \
+ $(PYTHON_OBJS) \
+ $(MODULE_OBJS) \
+ $(MODOBJS)
+
+LIBRARY_OBJS= \
+ $(LIBRARY_OBJS_OMIT_FROZEN) \
+ Python/frozen.o
+
+##########################################################################
+# DTrace
+
+# On some systems, object files that reference DTrace probes need to be modified
+# in-place by dtrace(1).
+DTRACE_DEPS = \
+ Python/ceval.o
+# XXX: should gcmodule, etc. be here, too?
+
+#########################################################################
+# Rules
+
+# Default target
+all: build_all
+build_all: check-clean-src $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks \
+ Programs/_testembed python-config
+
+# Check that the source is clean when building out of source.
+check-clean-src:
+ @if test -n "$(VPATH)" -a -f "$(srcdir)/Programs/python.o"; then \
+ echo "Error: The source directory ($(srcdir)) is not clean" ; \
+ echo "Building Python out of the source tree (in $(abs_builddir)) requires a clean source tree ($(abs_srcdir))" ; \
+ echo "Try to run: make -C \"$(srcdir)\" clean" ; \
+ exit 1; \
+ fi
+
+# Profile generation build must start from a clean tree.
+profile-clean-stamp:
+ $(MAKE) clean profile-removal
+ touch $@
+
+# Compile with profile generation enabled.
+profile-gen-stamp: profile-clean-stamp
+ @if [ $(LLVM_PROF_ERR) = yes ]; then \
+ echo "Error: Cannot perform PGO build because llvm-profdata was not found in PATH" ;\
+ echo "Please add it to PATH and run ./configure again" ;\
+ exit 1;\
+ fi
+ @echo "Building with support for profile generation:"
+ $(MAKE) build_all_generate_profile
+ touch $@
+
+# Run task with profile generation build to create profile information.
+profile-run-stamp:
+ @echo "Running code to generate profile data (this can take a while):"
+ # First, we need to create a clean build with profile generation
+ # enabled.
+ $(MAKE) profile-gen-stamp
+ # Next, run the profile task to generate the profile information.
+ $(MAKE) run_profile_task
+ $(MAKE) build_all_merge_profile
+ # Remove profile generation binary since we are done with it.
+ $(MAKE) clean
+ # This is an expensive target to build and it does not have proper
+ # makefile dependency information. So, we create a "stamp" file
+ # to record its completion and avoid re-running it.
+ touch $@
+
+build_all_generate_profile:
+ $(MAKE) all CFLAGS_NODIST="$(CFLAGS_NODIST) $(PGO_PROF_GEN_FLAG)" LDFLAGS_NODIST="$(LDFLAGS_NODIST) $(PGO_PROF_GEN_FLAG)" LIBS="$(LIBS)"
+
+run_profile_task:
+ @ # FIXME: can't run for a cross build
+ $(LLVM_PROF_FILE) $(RUNSHARED) ./$(BUILDPYTHON) $(PROFILE_TASK) || true
+
+build_all_merge_profile:
+ $(LLVM_PROF_MERGER)
+
+# Compile Python binary with profile guided optimization.
+# To force re-running of the profile task, remove the profile-run-stamp file.
+profile-opt: profile-run-stamp
+ @echo "Rebuilding with profile guided optimizations:"
+ -rm -f profile-clean-stamp
+ $(MAKE) all CFLAGS_NODIST="$(CFLAGS_NODIST) $(PGO_PROF_USE_FLAG)" LDFLAGS_NODIST="$(LDFLAGS_NODIST)"
+
+# Compile and run with gcov
+.PHONY=coverage coverage-lcov coverage-report
+coverage:
+ @echo "Building with support for coverage checking:"
+ $(MAKE) clean profile-removal
+ $(MAKE) all CFLAGS="$(CFLAGS) -O0 -pg -fprofile-arcs -ftest-coverage" LIBS="$(LIBS) -lgcov"
+
+coverage-lcov:
+ @echo "Creating Coverage HTML report with LCOV:"
+ @rm -f $(COVERAGE_INFO)
+ @rm -rf $(COVERAGE_REPORT)
+ @lcov --capture --directory $(abs_builddir) \
+ --base-directory $(realpath $(abs_builddir)) \
+ --path $(realpath $(abs_srcdir)) \
+ --output-file $(COVERAGE_INFO)
+ @ # remove 3rd party modules, system headers and internal files with
+ @ # debug, test or dummy functions.
+ @lcov --remove $(COVERAGE_INFO) \
+ '*/Modules/_blake2/impl/*' \
+ '*/Modules/_ctypes/libffi*/*' \
+ '*/Modules/_decimal/libmpdec/*' \
+ '*/Modules/_sha3/kcp/*' \
+ '*/Modules/expat/*' \
+ '*/Modules/zlib/*' \
+ '*/Include/*' \
+ '*/Modules/xx*.c' \
+ '*/Parser/listnode.c' \
+ '*/Python/pyfpe.c' \
+ '*/Python/pystrcmp.c' \
+ '/usr/include/*' \
+ '/usr/local/include/*' \
+ '/usr/lib/gcc/*' \
+ --output-file $(COVERAGE_INFO)
+ @genhtml $(COVERAGE_INFO) --output-directory $(COVERAGE_REPORT) \
+ $(COVERAGE_REPORT_OPTIONS)
+ @echo
+ @echo "lcov report at $(COVERAGE_REPORT)/index.html"
+ @echo
+
+# Force regeneration of parser and importlib
+coverage-report: regen-grammar regen-importlib
+ @ # build with coverage info
+ $(MAKE) coverage
+ @ # run tests, ignore failures
+ $(TESTRUNNER) $(TESTOPTS) || true
+ @ # build lcov report
+ $(MAKE) coverage-lcov
+
+# Run "Argument Clinic" over all source files
+.PHONY=clinic
+clinic: check-clean-src $(srcdir)/Modules/_blake2/blake2s_impl.c
+ $(PYTHON_FOR_REGEN) $(srcdir)/Tools/clinic/clinic.py --make --srcdir $(srcdir)
+
+# Build the interpreter
+$(BUILDPYTHON): Programs/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
+ $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
+
+platform: $(BUILDPYTHON) pybuilddir.txt
+ $(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print("%s-%d.%d" % (get_platform(), *sys.version_info[:2]))' >platform
+
+# Create build directory and generate the sysconfig build-time data there.
+# pybuilddir.txt contains the name of the build dir and is used for
+# sys.path fixup -- see Modules/getpath.c.
+# Since this step runs before shared modules are built, try to avoid bootstrap
+# problems by creating a dummy pybuilddir.txt just to allow interpreter
+# initialization to succeed. It will be overwritten by generate-posix-vars
+# or removed in case of failure.
+pybuilddir.txt: $(BUILDPYTHON)
+ @echo "none" > ./pybuilddir.txt
+ $(RUNSHARED) $(PYTHON_FOR_BUILD) -S -m sysconfig --generate-posix-vars ;\
+ if test $$? -ne 0 ; then \
+ echo "generate-posix-vars failed" ; \
+ rm -f ./pybuilddir.txt ; \
+ exit 1 ; \
+ fi
+
+# This is shared by the math and cmath modules
+Modules/_math.o: Modules/_math.c Modules/_math.h
+ $(CC) -c $(CCSHARED) $(PY_CORE_CFLAGS) -o $@ $<
+
+# blake2s is auto-generated from blake2b
+$(srcdir)/Modules/_blake2/blake2s_impl.c: $(srcdir)/Modules/_blake2/blake2b_impl.c $(srcdir)/Modules/_blake2/blake2b2s.py
+ $(PYTHON_FOR_REGEN) $(srcdir)/Modules/_blake2/blake2b2s.py
+ $(PYTHON_FOR_REGEN) $(srcdir)/Tools/clinic/clinic.py -f $@
+
+# Build the shared modules
+# Under GNU make, MAKEFLAGS are sorted and normalized; the 's' for
+# -s, --silent or --quiet is always the first char.
+# Under BSD make, MAKEFLAGS might be " -s -v x=y".
+# Ignore macros passed by GNU make, passed after --
+sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o
+ @case "`echo X $$MAKEFLAGS | sed 's/^X //;s/ -- .*//'`" in \
+ *\ -s*|s*) quiet="-q";; \
+ *) quiet="";; \
+ esac; \
+ echo "$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
+ _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \
+ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build"; \
+ $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
+ _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \
+ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
+
+
+# Build static library
+$(LIBRARY): $(LIBRARY_OBJS)
+ -rm -f $@
+ $(AR) $(ARFLAGS) $@ $(LIBRARY_OBJS)
+
+libpython$(LDVERSION).so: $(LIBRARY_OBJS)
+ if test $(INSTSONAME) != $(LDLIBRARY); then \
+ $(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
+ $(LN) -f $(INSTSONAME) $@; \
+ else \
+ $(BLDSHARED) -o $@ $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
+ fi
+
+libpython3.so: libpython$(LDVERSION).so
+ $(BLDSHARED) $(NO_AS_NEEDED) -o $@ -Wl,-h$@ $^
+
+libpython$(LDVERSION).dylib: $(LIBRARY_OBJS)
+ $(CC) -dynamiclib -Wl,-single_module $(PY_CORE_LDFLAGS) -undefined dynamic_lookup -Wl,-install_name,$(prefix)/lib/libpython$(LDVERSION).dylib -Wl,-compatibility_version,$(VERSION) -Wl,-current_version,$(VERSION) -o $@ $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
+
+
+libpython$(VERSION).sl: $(LIBRARY_OBJS)
+ $(LDSHARED) -o $@ $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST)
+
+# Copy up the gdb python hooks into a position where they can be automatically
+# loaded by gdb during Lib/test/test_gdb.py
+#
+# Distributors are likely to want to install this somewhere else e.g. relative
+# to the stripped DWARF data for the shared library.
+gdbhooks: $(BUILDPYTHON)-gdb.py
+
+SRC_GDB_HOOKS=$(srcdir)/Tools/gdb/libpython.py
+$(BUILDPYTHON)-gdb.py: $(SRC_GDB_HOOKS)
+ $(INSTALL_DATA) $(SRC_GDB_HOOKS) $(BUILDPYTHON)-gdb.py
+
+# This rule is here for OPENSTEP/Rhapsody/MacOSX. It builds a temporary
+# minimal framework (not including the Lib directory and such) in the current
+# directory.
+RESSRCDIR=Mac/Resources/framework
+$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK): \
+ $(LIBRARY) \
+ $(RESSRCDIR)/Info.plist
+ $(INSTALL) -d -m $(DIRMODE) $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)
+ $(CC) -o $(LDLIBRARY) $(PY_CORE_LDFLAGS) -dynamiclib \
+ -all_load $(LIBRARY) -Wl,-single_module \
+ -install_name $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK) \
+ -compatibility_version $(VERSION) \
+ -current_version $(VERSION) \
+ -framework CoreFoundation $(LIBS);
+ $(INSTALL) -d -m $(DIRMODE) \
+ $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/Resources/English.lproj
+ $(INSTALL_DATA) $(RESSRCDIR)/Info.plist \
+ $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/Resources/Info.plist
+ $(LN) -fsn $(VERSION) $(PYTHONFRAMEWORKDIR)/Versions/Current
+ $(LN) -fsn Versions/Current/$(PYTHONFRAMEWORK) $(PYTHONFRAMEWORKDIR)/$(PYTHONFRAMEWORK)
+ $(LN) -fsn Versions/Current/Resources $(PYTHONFRAMEWORKDIR)/Resources
+
+# This rule builds the Cygwin Python DLL and import library if configured
+# for a shared core library; otherwise, this rule is a noop.
+$(DLLLIBRARY) libpython$(LDVERSION).dll.a: $(LIBRARY_OBJS)
+ if test -n "$(DLLLIBRARY)"; then \
+ $(LDSHARED) -Wl,--out-implib=$@ -o $(DLLLIBRARY) $^ \
+ $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST); \
+ else true; \
+ fi
+
+
+oldsharedmods: $(SHAREDMODS)
+
+
+Makefile Modules/config.c: Makefile.pre \
+ $(srcdir)/Modules/config.c.in \
+ $(MAKESETUP) \
+ Modules/Setup \
+ Modules/Setup.local
+ $(SHELL) $(MAKESETUP) -c $(srcdir)/Modules/config.c.in \
+ -s Modules \
+ Modules/Setup.local \
+ Modules/Setup
+ @mv config.c Modules
+ @echo "The Makefile was updated, you may need to re-run make."
+
+
+Modules/Setup: $(srcdir)/Modules/Setup.dist
+ @if test -f Modules/Setup; then \
+ echo "-----------------------------------------------"; \
+ echo "Modules/Setup.dist is newer than Modules/Setup;"; \
+ echo "check to make sure you have all the updates you"; \
+ echo "need in your Modules/Setup file."; \
+ echo "Usually, copying Modules/Setup.dist to Modules/Setup will work."; \
+ echo "-----------------------------------------------"; \
+ fi
+
+Programs/_testembed: Programs/_testembed.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
+ $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/_testembed.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
+
+############################################################################
+# Importlib
+
+Programs/_freeze_importlib.o: Programs/_freeze_importlib.c Makefile
+
+Programs/_freeze_importlib: Programs/_freeze_importlib.o $(LIBRARY_OBJS_OMIT_FROZEN)
+ $(LINKCC) $(PY_CORE_LDFLAGS) -o $@ Programs/_freeze_importlib.o $(LIBRARY_OBJS_OMIT_FROZEN) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
+
+.PHONY: regen-importlib
+regen-importlib: Programs/_freeze_importlib
+ # Regenerate Python/importlib_external.h
+ # from Lib/importlib/_bootstrap_external.py using _freeze_importlib
+ ./Programs/_freeze_importlib \
+ $(srcdir)/Lib/importlib/_bootstrap_external.py \
+ $(srcdir)/Python/importlib_external.h.new
+ $(UPDATE_FILE) $(srcdir)/Python/importlib_external.h $(srcdir)/Python/importlib_external.h.new
+ # Regenerate Python/importlib.h from Lib/importlib/_bootstrap.py
+ # using _freeze_importlib
+ ./Programs/_freeze_importlib \
+ $(srcdir)/Lib/importlib/_bootstrap.py \
+ $(srcdir)/Python/importlib.h.new
+ $(UPDATE_FILE) $(srcdir)/Python/importlib.h $(srcdir)/Python/importlib.h.new
+
+
+############################################################################
+# Regenerate all generated files
+
+regen-all: regen-opcode regen-opcode-targets regen-typeslots regen-grammar \
+ regen-ast regen-importlib clinic
+
+############################################################################
+# Special rules for object files
+
+Modules/getbuildinfo.o: $(PARSER_OBJS) \
+ $(OBJECT_OBJS) \
+ $(PYTHON_OBJS) \
+ $(MODULE_OBJS) \
+ $(MODOBJS) \
+ $(srcdir)/Modules/getbuildinfo.c
+ $(CC) -c $(PY_CORE_CFLAGS) \
+ -DGITVERSION="\"`LC_ALL=C $(GITVERSION)`\"" \
+ -DGITTAG="\"`LC_ALL=C $(GITTAG)`\"" \
+ -DGITBRANCH="\"`LC_ALL=C $(GITBRANCH)`\"" \
+ -o $@ $(srcdir)/Modules/getbuildinfo.c
+
+Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile
+ $(CC) -c $(PY_CORE_CFLAGS) -DPYTHONPATH='"$(PYTHONPATH)"' \
+ -DPREFIX='"$(prefix)"' \
+ -DEXEC_PREFIX='"$(exec_prefix)"' \
+ -DVERSION='"$(VERSION)"' \
+ -DVPATH='"$(VPATH)"' \
+ -o $@ $(srcdir)/Modules/getpath.c
+
+Programs/python.o: $(srcdir)/Programs/python.c
+ $(MAINCC) -c $(PY_CORE_CFLAGS) -o $@ $(srcdir)/Programs/python.c
+
+Programs/_testembed.o: $(srcdir)/Programs/_testembed.c
+ $(MAINCC) -c $(PY_CORE_CFLAGS) -o $@ $(srcdir)/Programs/_testembed.c
+
+Modules/_sre.o: $(srcdir)/Modules/_sre.c $(srcdir)/Modules/sre.h $(srcdir)/Modules/sre_constants.h $(srcdir)/Modules/sre_lib.h
+
+Modules/posixmodule.o: $(srcdir)/Modules/posixmodule.c $(srcdir)/Modules/posixmodule.h
+
+Modules/grpmodule.o: $(srcdir)/Modules/grpmodule.c $(srcdir)/Modules/posixmodule.h
+
+Modules/pwdmodule.o: $(srcdir)/Modules/pwdmodule.c $(srcdir)/Modules/posixmodule.h
+
+Modules/signalmodule.o: $(srcdir)/Modules/signalmodule.c $(srcdir)/Modules/posixmodule.h
+
+Python/dynload_shlib.o: $(srcdir)/Python/dynload_shlib.c Makefile
+ $(CC) -c $(PY_CORE_CFLAGS) \
+ -DSOABI='"$(SOABI)"' \
+ -o $@ $(srcdir)/Python/dynload_shlib.c
+
+Python/dynload_hpux.o: $(srcdir)/Python/dynload_hpux.c Makefile
+ $(CC) -c $(PY_CORE_CFLAGS) \
+ -DSHLIB_EXT='"$(EXT_SUFFIX)"' \
+ -o $@ $(srcdir)/Python/dynload_hpux.c
+
+Python/sysmodule.o: $(srcdir)/Python/sysmodule.c Makefile
+ $(CC) -c $(PY_CORE_CFLAGS) \
+ -DABIFLAGS='"$(ABIFLAGS)"' \
+ $(MULTIARCH_CPPFLAGS) \
+ -o $@ $(srcdir)/Python/sysmodule.c
+
+$(IO_OBJS): $(IO_H)
+
+$(PGEN): $(PGENOBJS)
+ $(CC) $(OPT) $(PY_CORE_LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN)
+
+.PHONY: regen-grammar
+regen-grammar: $(PGEN)
+ # Regenerate Include/graminit.h and Python/graminit.c
+ # from Grammar/Grammar using pgen
+ @$(MKDIR_P) Include
+ $(PGEN) $(srcdir)/Grammar/Grammar \
+ $(srcdir)/Include/graminit.h.new \
+ $(srcdir)/Python/graminit.c.new
+ $(UPDATE_FILE) $(srcdir)/Include/graminit.h $(srcdir)/Include/graminit.h.new
+ $(UPDATE_FILE) $(srcdir)/Python/graminit.c $(srcdir)/Python/graminit.c.new
+
+Parser/grammar.o: $(srcdir)/Parser/grammar.c \
+ $(srcdir)/Include/token.h \
+ $(srcdir)/Include/grammar.h
+Parser/metagrammar.o: $(srcdir)/Parser/metagrammar.c
+
+Parser/tokenizer_pgen.o: $(srcdir)/Parser/tokenizer.c
+Parser/parsetok_pgen.o: $(srcdir)/Parser/parsetok.c
+Parser/printgrammar.o: $(srcdir)/Parser/printgrammar.c
+
+Parser/pgenmain.o: $(srcdir)/Include/parsetok.h
+
+.PHONY=regen-ast
+regen-ast:
+ # Regenerate Include/Python-ast.h using Parser/asdl_c.py -h
+ $(MKDIR_P) $(srcdir)/Include
+ $(PYTHON_FOR_REGEN) $(srcdir)/Parser/asdl_c.py \
+ -h $(srcdir)/Include/Python-ast.h.new \
+ $(srcdir)/Parser/Python.asdl
+ $(UPDATE_FILE) $(srcdir)/Include/Python-ast.h $(srcdir)/Include/Python-ast.h.new
+ # Regenerate Python/Python-ast.c using Parser/asdl_c.py -c
+ $(MKDIR_P) $(srcdir)/Python
+ $(PYTHON_FOR_REGEN) $(srcdir)/Parser/asdl_c.py \
+ -c $(srcdir)/Python/Python-ast.c.new \
+ $(srcdir)/Parser/Python.asdl
+ $(UPDATE_FILE) $(srcdir)/Python/Python-ast.c $(srcdir)/Python/Python-ast.c.new
+
+.PHONY: regen-opcode
+regen-opcode:
+ # Regenerate Include/opcode.h from Lib/opcode.py
+ # using Tools/scripts/generate_opcode_h.py
+ $(PYTHON_FOR_REGEN) $(srcdir)/Tools/scripts/generate_opcode_h.py \
+ $(srcdir)/Lib/opcode.py \
+ $(srcdir)/Include/opcode.h.new
+ $(UPDATE_FILE) $(srcdir)/Include/opcode.h $(srcdir)/Include/opcode.h.new
+
+Python/compile.o Python/symtable.o Python/ast_unparse.o Python/ast.o Python/future.o Parser/parsetok.o: $(srcdir)/Include/graminit.h $(srcdir)/Include/Python-ast.h
+
+Python/getplatform.o: $(srcdir)/Python/getplatform.c
+ $(CC) -c $(PY_CORE_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -o $@ $(srcdir)/Python/getplatform.c
+
+Python/importdl.o: $(srcdir)/Python/importdl.c
+ $(CC) -c $(PY_CORE_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c
+
+Objects/unicodectype.o: $(srcdir)/Objects/unicodectype.c \
+ $(srcdir)/Objects/unicodetype_db.h
+
+BYTESTR_DEPS = \
+ $(srcdir)/Objects/stringlib/count.h \
+ $(srcdir)/Objects/stringlib/ctype.h \
+ $(srcdir)/Objects/stringlib/fastsearch.h \
+ $(srcdir)/Objects/stringlib/find.h \
+ $(srcdir)/Objects/stringlib/join.h \
+ $(srcdir)/Objects/stringlib/partition.h \
+ $(srcdir)/Objects/stringlib/split.h \
+ $(srcdir)/Objects/stringlib/stringdefs.h \
+ $(srcdir)/Objects/stringlib/transmogrify.h
+
+UNICODE_DEPS = \
+ $(srcdir)/Objects/stringlib/asciilib.h \
+ $(srcdir)/Objects/stringlib/codecs.h \
+ $(srcdir)/Objects/stringlib/count.h \
+ $(srcdir)/Objects/stringlib/fastsearch.h \
+ $(srcdir)/Objects/stringlib/find.h \
+ $(srcdir)/Objects/stringlib/find_max_char.h \
+ $(srcdir)/Objects/stringlib/localeutil.h \
+ $(srcdir)/Objects/stringlib/partition.h \
+ $(srcdir)/Objects/stringlib/replace.h \
+ $(srcdir)/Objects/stringlib/split.h \
+ $(srcdir)/Objects/stringlib/ucs1lib.h \
+ $(srcdir)/Objects/stringlib/ucs2lib.h \
+ $(srcdir)/Objects/stringlib/ucs4lib.h \
+ $(srcdir)/Objects/stringlib/undef.h \
+ $(srcdir)/Objects/stringlib/unicode_format.h \
+ $(srcdir)/Objects/stringlib/unicodedefs.h
+
+Objects/bytes_methods.o: $(srcdir)/Objects/bytes_methods.c $(BYTESTR_DEPS)
+Objects/bytesobject.o: $(srcdir)/Objects/bytesobject.c $(BYTESTR_DEPS)
+Objects/bytearrayobject.o: $(srcdir)/Objects/bytearrayobject.c $(BYTESTR_DEPS)
+
+Objects/unicodeobject.o: $(srcdir)/Objects/unicodeobject.c $(UNICODE_DEPS)
+
+Objects/odictobject.o: $(srcdir)/Objects/dict-common.h
+Objects/dictobject.o: $(srcdir)/Objects/stringlib/eq.h $(srcdir)/Objects/dict-common.h
+Objects/setobject.o: $(srcdir)/Objects/stringlib/eq.h
+
+.PHONY: regen-opcode-targets
+regen-opcode-targets:
+ # Regenerate Python/opcode_targets.h from Lib/opcode.py
+ # using Python/makeopcodetargets.py
+ $(PYTHON_FOR_REGEN) $(srcdir)/Python/makeopcodetargets.py \
+ $(srcdir)/Python/opcode_targets.h.new
+ $(UPDATE_FILE) $(srcdir)/Python/opcode_targets.h $(srcdir)/Python/opcode_targets.h.new
+
+Python/ceval.o: $(srcdir)/Python/opcode_targets.h $(srcdir)/Python/ceval_gil.h
+
+Python/frozen.o: $(srcdir)/Python/importlib.h $(srcdir)/Python/importlib_external.h
+
+# Generate DTrace probe macros, then rename them (PYTHON_ -> PyDTrace_) to
+# follow our naming conventions. dtrace(1) uses the output filename to generate
+# an include guard, so we can't use a pipeline to transform its output.
+Include/pydtrace_probes.h: $(srcdir)/Include/pydtrace.d
+ $(MKDIR_P) Include
+ $(DTRACE) $(DFLAGS) -o $@ -h -s $<
+ : sed in-place edit with POSIX-only tools
+ sed 's/PYTHON_/PyDTrace_/' $@ > $@.tmp
+ mv $@.tmp $@
+
+Python/pydtrace.o: $(srcdir)/Include/pydtrace.d $(DTRACE_DEPS)
+ $(DTRACE) $(DFLAGS) -o $@ -G -s $< $(DTRACE_DEPS)
+
+Objects/typeobject.o: Objects/typeslots.inc
+
+.PHONY: regen-typeslots
+regen-typeslots:
+ # Regenerate Objects/typeslots.inc from Include/typeslotsh
+ # using Objects/typeslots.py
+ $(PYTHON_FOR_REGEN) $(srcdir)/Objects/typeslots.py \
+ < $(srcdir)/Include/typeslots.h \
+ $(srcdir)/Objects/typeslots.inc.new
+ $(UPDATE_FILE) $(srcdir)/Objects/typeslots.inc $(srcdir)/Objects/typeslots.inc.new
+
+############################################################################
+# Header files
+
+PYTHON_HEADERS= \
+ $(srcdir)/Include/Python.h \
+ $(srcdir)/Include/abstract.h \
+ $(srcdir)/Include/accu.h \
+ $(srcdir)/Include/asdl.h \
+ $(srcdir)/Include/ast.h \
+ $(srcdir)/Include/bitset.h \
+ $(srcdir)/Include/bltinmodule.h \
+ $(srcdir)/Include/boolobject.h \
+ $(srcdir)/Include/bytearrayobject.h \
+ $(srcdir)/Include/bytes_methods.h \
+ $(srcdir)/Include/bytesobject.h \
+ $(srcdir)/Include/cellobject.h \
+ $(srcdir)/Include/ceval.h \
+ $(srcdir)/Include/classobject.h \
+ $(srcdir)/Include/code.h \
+ $(srcdir)/Include/codecs.h \
+ $(srcdir)/Include/compile.h \
+ $(srcdir)/Include/complexobject.h \
+ $(srcdir)/Include/context.h \
+ $(srcdir)/Include/descrobject.h \
+ $(srcdir)/Include/dictobject.h \
+ $(srcdir)/Include/dtoa.h \
+ $(srcdir)/Include/dynamic_annotations.h \
+ $(srcdir)/Include/enumobject.h \
+ $(srcdir)/Include/errcode.h \
+ $(srcdir)/Include/eval.h \
+ $(srcdir)/Include/fileobject.h \
+ $(srcdir)/Include/fileutils.h \
+ $(srcdir)/Include/floatobject.h \
+ $(srcdir)/Include/frameobject.h \
+ $(srcdir)/Include/funcobject.h \
+ $(srcdir)/Include/genobject.h \
+ $(srcdir)/Include/import.h \
+ $(srcdir)/Include/intrcheck.h \
+ $(srcdir)/Include/iterobject.h \
+ $(srcdir)/Include/listobject.h \
+ $(srcdir)/Include/longintrepr.h \
+ $(srcdir)/Include/longobject.h \
+ $(srcdir)/Include/marshal.h \
+ $(srcdir)/Include/memoryobject.h \
+ $(srcdir)/Include/metagrammar.h \
+ $(srcdir)/Include/methodobject.h \
+ $(srcdir)/Include/modsupport.h \
+ $(srcdir)/Include/moduleobject.h \
+ $(srcdir)/Include/namespaceobject.h \
+ $(srcdir)/Include/node.h \
+ $(srcdir)/Include/object.h \
+ $(srcdir)/Include/objimpl.h \
+ $(srcdir)/Include/odictobject.h \
+ $(srcdir)/Include/opcode.h \
+ $(srcdir)/Include/osdefs.h \
+ $(srcdir)/Include/osmodule.h \
+ $(srcdir)/Include/patchlevel.h \
+ $(srcdir)/Include/pgen.h \
+ $(srcdir)/Include/pgenheaders.h \
+ $(srcdir)/Include/pyarena.h \
+ $(srcdir)/Include/pyatomic.h \
+ $(srcdir)/Include/pycapsule.h \
+ $(srcdir)/Include/pyctype.h \
+ $(srcdir)/Include/pydebug.h \
+ $(srcdir)/Include/pydtrace.h \
+ $(srcdir)/Include/pyerrors.h \
+ $(srcdir)/Include/pyfpe.h \
+ $(srcdir)/Include/pyhash.h \
+ $(srcdir)/Include/pylifecycle.h \
+ $(srcdir)/Include/pymacconfig.h \
+ $(srcdir)/Include/pymacro.h \
+ $(srcdir)/Include/pymath.h \
+ $(srcdir)/Include/pymem.h \
+ $(srcdir)/Include/pyport.h \
+ $(srcdir)/Include/pystate.h \
+ $(srcdir)/Include/pystrcmp.h \
+ $(srcdir)/Include/pystrhex.h \
+ $(srcdir)/Include/pystrtod.h \
+ $(srcdir)/Include/pythonrun.h \
+ $(srcdir)/Include/pythread.h \
+ $(srcdir)/Include/pytime.h \
+ $(srcdir)/Include/rangeobject.h \
+ $(srcdir)/Include/setobject.h \
+ $(srcdir)/Include/sliceobject.h \
+ $(srcdir)/Include/structmember.h \
+ $(srcdir)/Include/structseq.h \
+ $(srcdir)/Include/symtable.h \
+ $(srcdir)/Include/sysmodule.h \
+ $(srcdir)/Include/token.h \
+ $(srcdir)/Include/traceback.h \
+ $(srcdir)/Include/tupleobject.h \
+ $(srcdir)/Include/ucnhash.h \
+ $(srcdir)/Include/unicodeobject.h \
+ $(srcdir)/Include/warnings.h \
+ $(srcdir)/Include/weakrefobject.h \
+ pyconfig.h \
+ $(PARSER_HEADERS) \
+ $(srcdir)/Include/Python-ast.h \
+ $(srcdir)/Include/internal/ceval.h \
+ $(srcdir)/Include/internal/gil.h \
+ $(srcdir)/Include/internal/mem.h \
+ $(srcdir)/Include/internal/pygetopt.h \
+ $(srcdir)/Include/internal/pystate.h \
+ $(srcdir)/Include/internal/context.h \
+ $(srcdir)/Include/internal/warnings.h \
+ $(DTRACE_HEADERS)
+
+$(LIBRARY_OBJS) $(MODOBJS) Programs/python.o: $(PYTHON_HEADERS)
+
+
+######################################################################
+
+TESTOPTS= $(EXTRATESTOPTS)
+TESTPYTHON= $(RUNSHARED) ./$(BUILDPYTHON) $(TESTPYTHONOPTS)
+TESTRUNNER= $(TESTPYTHON) $(srcdir)/Tools/scripts/run_tests.py
+TESTTIMEOUT= 1200
+
+.PHONY: test testall testuniversal buildbottest pythoninfo
+
+# Remove "test_python_*" directories of previous failed test jobs.
+# Pass TESTOPTS options because it can contain --tempdir option.
+cleantest: build_all
+ $(TESTRUNNER) $(TESTOPTS) --cleanup
+
+# Run a basic set of regression tests.
+# This excludes some tests that are particularly resource-intensive.
+test: all platform
+ $(TESTRUNNER) $(TESTOPTS)
+
+# Run the full test suite twice - once without .pyc files, and once with.
+# In the past, we've had problems where bugs in the marshalling or
+# elsewhere caused bytecode read from .pyc files to behave differently
+# than bytecode generated directly from a .py source file. Sometimes
+# the bytecode read from a .pyc file had the bug, sometimes the directly
+# generated bytecode. This is sometimes a very shy bug needing a lot of
+# sample data.
+testall: all platform
+ -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
+ $(TESTPYTHON) -E $(srcdir)/Lib/compileall.py
+ -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
+ -$(TESTRUNNER) -u all $(TESTOPTS)
+ $(TESTRUNNER) -u all $(TESTOPTS)
+
+# Run the test suite for both architectures in a Universal build on OSX.
+# Must be run on an Intel box.
+testuniversal: all platform
+ @if [ `arch` != 'i386' ]; then \
+ echo "This can only be used on OSX/i386" ;\
+ exit 1 ;\
+ fi
+ $(TESTRUNNER) -u all $(TESTOPTS)
+ $(RUNSHARED) /usr/libexec/oah/translate \
+ ./$(BUILDPYTHON) -E -m test -j 0 -u all $(TESTOPTS)
+
+# Like testall, but with only one pass and without multiple processes.
+# Run an optional script to include information about the build environment.
+buildbottest: build_all platform
+ -@if which pybuildbot.identify >/dev/null 2>&1; then \
+ pybuildbot.identify "CC='$(CC)'" "CXX='$(CXX)'"; \
+ fi
+ $(TESTRUNNER) -j 1 -u all -W --slowest --fail-env-changed --timeout=$(TESTTIMEOUT) $(TESTOPTS)
+
+pythoninfo: build_all
+ $(RUNSHARED) ./$(BUILDPYTHON) -m test.pythoninfo
+
+QUICKTESTOPTS= $(TESTOPTS) -x test_subprocess test_io test_lib2to3 \
+ test_multibytecodec test_urllib2_localnet test_itertools \
+ test_multiprocessing_fork test_multiprocessing_spawn \
+ test_multiprocessing_forkserver \
+ test_mailbox test_socket test_poll \
+ test_select test_zipfile test_concurrent_futures
+quicktest: all platform
+ $(TESTRUNNER) $(QUICKTESTOPTS)
+
+# SSL tests
+.PHONY: multisslcompile multissltest
+multisslcompile: build_all
+ $(RUNSHARED) ./$(BUILDPYTHON) Tools/ssl/multissltests.py --steps=modules
+
+multissltest: build_all
+ $(RUNSHARED) ./$(BUILDPYTHON) Tools/ssl/multissltests.py
+
+install: frameworkinstallstructure commoninstall bininstall maninstall frameworkinstallmaclib frameworkinstallapps frameworkinstallunixtools
+ if test "x$(ENSUREPIP)" != "xno" ; then \
+ case $(ENSUREPIP) in \
+ upgrade) ensurepip="--upgrade" ;; \
+ install|*) ensurepip="" ;; \
+ esac; \
+ $(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \
+ $$ensurepip --root=$(DESTDIR)/ ; \
+ fi
+
+altinstall: commoninstall
+ if test "x$(ENSUREPIP)" != "xno" ; then \
+ case $(ENSUREPIP) in \
+ upgrade) ensurepip="--altinstall --upgrade" ;; \
+ install|*) ensurepip="--altinstall" ;; \
+ esac; \
+ $(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \
+ $$ensurepip --root=$(DESTDIR)/ ; \
+ fi
+
+commoninstall: check-clean-src frameworkinstallstructure \
+ altbininstall libinstall inclinstall libainstall \
+ sharedinstall oldsharedinstall altmaninstall \
+ frameworkinstallmaclib frameworkinstallapps frameworkaltinstallunixtools
+
+# Install shared libraries enabled by Setup
+DESTDIRS= $(exec_prefix) $(LIBDIR) $(BINLIBDEST) $(DESTSHARED)
+
+oldsharedinstall: $(DESTSHARED) $(SHAREDMODS)
+ @for i in X $(SHAREDMODS); do \
+ if test $$i != X; then \
+ echo $(INSTALL_SHARED) $$i $(DESTSHARED)/`basename $$i`; \
+ $(INSTALL_SHARED) $$i $(DESTDIR)$(DESTSHARED)/`basename $$i`; \
+ fi; \
+ done
+
+$(DESTSHARED):
+ @for i in $(DESTDIRS); \
+ do \
+ if test ! -d $(DESTDIR)$$i; then \
+ echo "Creating directory $$i"; \
+ $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
+ else true; \
+ fi; \
+ done
+
+# Install the interpreter with $(VERSION) affixed
+# This goes into $(exec_prefix)
+altbininstall: $(BUILDPYTHON) frameworkpythonw
+ @for i in $(BINDIR) $(LIBDIR); \
+ do \
+ if test ! -d $(DESTDIR)$$i; then \
+ echo "Creating directory $$i"; \
+ $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
+ else true; \
+ fi; \
+ done
+ if test "$(PYTHONFRAMEWORKDIR)" = "no-framework" ; then \
+ $(INSTALL_PROGRAM) $(BUILDPYTHON) $(DESTDIR)$(BINDIR)/python$(LDVERSION)$(EXE); \
+ else \
+ $(INSTALL_PROGRAM) $(STRIPFLAG) Mac/pythonw $(DESTDIR)$(BINDIR)/python$(LDVERSION)$(EXE); \
+ fi
+ -if test "$(VERSION)" != "$(LDVERSION)"; then \
+ if test -f $(DESTDIR)$(BINDIR)/python$(VERSION)$(EXE) -o -h $(DESTDIR)$(BINDIR)/python$(VERSION)$(EXE); \
+ then rm -f $(DESTDIR)$(BINDIR)/python$(VERSION)$(EXE); \
+ fi; \
+ (cd $(DESTDIR)$(BINDIR); $(LN) python$(LDVERSION)$(EXE) python$(VERSION)$(EXE)); \
+ fi
+ if test -f $(LDLIBRARY) && test "$(PYTHONFRAMEWORKDIR)" = "no-framework" ; then \
+ if test -n "$(DLLLIBRARY)" ; then \
+ $(INSTALL_SHARED) $(DLLLIBRARY) $(DESTDIR)$(BINDIR); \
+ else \
+ $(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(LIBDIR)/$(INSTSONAME); \
+ if test $(LDLIBRARY) != $(INSTSONAME); then \
+ (cd $(DESTDIR)$(LIBDIR); $(LN) -sf $(INSTSONAME) $(LDLIBRARY)) \
+ fi \
+ fi; \
+ if test -n "$(PY3LIBRARY)"; then \
+ $(INSTALL_SHARED) $(PY3LIBRARY) $(DESTDIR)$(LIBDIR)/$(PY3LIBRARY); \
+ fi; \
+ else true; \
+ fi
+ if test "x$(LIPO_32BIT_FLAGS)" != "x" ; then \
+ rm -f $(DESTDIR)$(BINDIR)python$(VERSION)-32$(EXE); \
+ lipo $(LIPO_32BIT_FLAGS) \
+ -output $(DESTDIR)$(BINDIR)/python$(VERSION)-32$(EXE) \
+ $(DESTDIR)$(BINDIR)/python$(VERSION)$(EXE); \
+ fi
+
+bininstall: altbininstall
+ if test ! -d $(DESTDIR)$(LIBPC); then \
+ echo "Creating directory $(LIBPC)"; \
+ $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$(LIBPC); \
+ fi
+ -if test -f $(DESTDIR)$(BINDIR)/python3$(EXE) -o -h $(DESTDIR)$(BINDIR)/python3$(EXE); \
+ then rm -f $(DESTDIR)$(BINDIR)/python3$(EXE); \
+ else true; \
+ fi
+ (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(EXE) python3$(EXE))
+ -if test "$(VERSION)" != "$(LDVERSION)"; then \
+ rm -f $(DESTDIR)$(BINDIR)/python$(VERSION)-config; \
+ (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(LDVERSION)-config python$(VERSION)-config); \
+ rm -f $(DESTDIR)$(LIBPC)/python-$(LDVERSION).pc; \
+ (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python-$(LDVERSION).pc); \
+ fi
+ -rm -f $(DESTDIR)$(BINDIR)/python3-config
+ (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config python3-config)
+ -rm -f $(DESTDIR)$(LIBPC)/python3.pc
+ (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python3.pc)
+ -rm -f $(DESTDIR)$(BINDIR)/idle3
+ (cd $(DESTDIR)$(BINDIR); $(LN) -s idle$(VERSION) idle3)
+ -rm -f $(DESTDIR)$(BINDIR)/pydoc3
+ (cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3)
+ -rm -f $(DESTDIR)$(BINDIR)/2to3
+ (cd $(DESTDIR)$(BINDIR); $(LN) -s 2to3-$(VERSION) 2to3)
+ -rm -f $(DESTDIR)$(BINDIR)/pyvenv
+ (cd $(DESTDIR)$(BINDIR); $(LN) -s pyvenv-$(VERSION) pyvenv)
+ if test "x$(LIPO_32BIT_FLAGS)" != "x" ; then \
+ rm -f $(DESTDIR)$(BINDIR)/python3-32$(EXE); \
+ (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-32$(EXE) python3-32$(EXE)) \
+ fi
+
+# Install the versioned manual page
+altmaninstall:
+ @for i in $(MANDIR) $(MANDIR)/man1; \
+ do \
+ if test ! -d $(DESTDIR)$$i; then \
+ echo "Creating directory $$i"; \
+ $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
+ else true; \
+ fi; \
+ done
+ $(INSTALL_DATA) $(srcdir)/Misc/python.man \
+ $(DESTDIR)$(MANDIR)/man1/python$(VERSION).1
+
+# Install the unversioned manual page
+maninstall: altmaninstall
+ -rm -f $(DESTDIR)$(MANDIR)/man1/python3.1
+ (cd $(DESTDIR)$(MANDIR)/man1; $(LN) -s python$(VERSION).1 python3.1)
+
+# Install the library
+XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax
+LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \
+ tkinter/test/test_ttk site-packages test \
+ test/audiodata \
+ test/capath test/data \
+ test/cjkencodings test/decimaltestdata test/xmltestdata \
+ test/dtracedata \
+ test/eintrdata \
+ test/imghdrdata \
+ test/libregrtest \
+ test/subprocessdata test/sndhdrdata test/support \
+ test/tracedmodules test/encoded_modules \
+ test/test_import \
+ test/test_import/data \
+ test/test_import/data/circular_imports \
+ test/test_import/data/circular_imports/subpkg \
+ test/test_import/data/package \
+ test/test_import/data/package2 \
+ importlib \
+ test/test_importlib \
+ test/test_importlib/builtin \
+ test/test_importlib/data01 \
+ test/test_importlib/data01/subdirectory \
+ test/test_importlib/data02 \
+ test/test_importlib/data02/one \
+ test/test_importlib/data02/two \
+ test/test_importlib/data03 \
+ test/test_importlib/data03/namespace \
+ test/test_importlib/data03/namespace/portion1 \
+ test/test_importlib/data03/namespace/portion2 \
+ test/test_importlib/extension \
+ test/test_importlib/frozen \
+ test/test_importlib/import_ \
+ test/test_importlib/namespace_pkgs \
+ test/test_importlib/namespace_pkgs/both_portions \
+ test/test_importlib/namespace_pkgs/both_portions/foo \
+ test/test_importlib/namespace_pkgs/module_and_namespace_package \
+ test/test_importlib/namespace_pkgs/module_and_namespace_package/a_test \
+ test/test_importlib/namespace_pkgs/not_a_namespace_pkg \
+ test/test_importlib/namespace_pkgs/not_a_namespace_pkg/foo \
+ test/test_importlib/namespace_pkgs/portion1 \
+ test/test_importlib/namespace_pkgs/portion1/foo \
+ test/test_importlib/namespace_pkgs/portion2 \
+ test/test_importlib/namespace_pkgs/portion2/foo \
+ test/test_importlib/namespace_pkgs/project1 \
+ test/test_importlib/namespace_pkgs/project1/parent \
+ test/test_importlib/namespace_pkgs/project1/parent/child \
+ test/test_importlib/namespace_pkgs/project2 \
+ test/test_importlib/namespace_pkgs/project2/parent \
+ test/test_importlib/namespace_pkgs/project2/parent/child \
+ test/test_importlib/namespace_pkgs/project3 \
+ test/test_importlib/namespace_pkgs/project3/parent \
+ test/test_importlib/namespace_pkgs/project3/parent/child \
+ test/test_importlib/source \
+ test/test_importlib/zipdata01 \
+ test/test_importlib/zipdata02 \
+ asyncio \
+ test/test_asyncio \
+ collections concurrent concurrent/futures encodings \
+ email email/mime test/test_email test/test_email/data \
+ ensurepip ensurepip/_bundled \
+ html json test/test_json http dbm xmlrpc \
+ sqlite3 sqlite3/test \
+ logging csv wsgiref urllib \
+ lib2to3 lib2to3/fixes lib2to3/pgen2 lib2to3/tests \
+ lib2to3/tests/data lib2to3/tests/data/fixers \
+ lib2to3/tests/data/fixers/myfixes \
+ ctypes ctypes/test ctypes/macholib \
+ idlelib idlelib/Icons idlelib/idle_test \
+ distutils distutils/command distutils/tests $(XMLLIBSUBDIRS) \
+ test/test_tools test/test_warnings test/test_warnings/data \
+ turtledemo \
+ multiprocessing multiprocessing/dummy \
+ unittest unittest/test unittest/test/testmock \
+ venv venv/scripts venv/scripts/common venv/scripts/posix \
+ curses pydoc_data
+libinstall: build_all $(srcdir)/Modules/xxmodule.c
+ @for i in $(SCRIPTDIR) $(LIBDEST); \
+ do \
+ if test ! -d $(DESTDIR)$$i; then \
+ echo "Creating directory $$i"; \
+ $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
+ else true; \
+ fi; \
+ done
+ @for d in $(LIBSUBDIRS); \
+ do \
+ a=$(srcdir)/Lib/$$d; \
+ if test ! -d $$a; then continue; else true; fi; \
+ b=$(LIBDEST)/$$d; \
+ if test ! -d $(DESTDIR)$$b; then \
+ echo "Creating directory $$b"; \
+ $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$b; \
+ else true; \
+ fi; \
+ done
+ @for i in $(srcdir)/Lib/*.py; \
+ do \
+ if test -x $$i; then \
+ $(INSTALL_SCRIPT) $$i $(DESTDIR)$(LIBDEST); \
+ echo $(INSTALL_SCRIPT) $$i $(LIBDEST); \
+ else \
+ $(INSTALL_DATA) $$i $(DESTDIR)$(LIBDEST); \
+ echo $(INSTALL_DATA) $$i $(LIBDEST); \
+ fi; \
+ done
+ @for d in $(LIBSUBDIRS); \
+ do \
+ a=$(srcdir)/Lib/$$d; \
+ if test ! -d $$a; then continue; else true; fi; \
+ if test `ls $$a | wc -l` -lt 1; then continue; fi; \
+ b=$(LIBDEST)/$$d; \
+ for i in $$a/*; \
+ do \
+ case $$i in \
+ *CVS) ;; \
+ *.py[co]) ;; \
+ *.orig) ;; \
+ *~) ;; \
+ *) \
+ if test -d $$i; then continue; fi; \
+ if test -x $$i; then \
+ echo $(INSTALL_SCRIPT) $$i $$b; \
+ $(INSTALL_SCRIPT) $$i $(DESTDIR)$$b; \
+ else \
+ echo $(INSTALL_DATA) $$i $$b; \
+ $(INSTALL_DATA) $$i $(DESTDIR)$$b; \
+ fi;; \
+ esac; \
+ done; \
+ done
+ $(INSTALL_DATA) `cat pybuilddir.txt`/_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH).py \
+ $(DESTDIR)$(LIBDEST); \
+ $(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt
+ if test -d $(DESTDIR)$(LIBDEST)/distutils/tests; then \
+ $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \
+ $(DESTDIR)$(LIBDEST)/distutils/tests ; \
+ fi
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ $(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
+ -d $(LIBDEST) -f \
+ -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
+ $(DESTDIR)$(LIBDEST)
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ $(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \
+ -d $(LIBDEST) -f \
+ -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
+ $(DESTDIR)$(LIBDEST)
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ $(PYTHON_FOR_BUILD) -Wi -OO $(DESTDIR)$(LIBDEST)/compileall.py \
+ -d $(LIBDEST) -f \
+ -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
+ $(DESTDIR)$(LIBDEST)
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ $(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
+ -d $(LIBDEST)/site-packages -f \
+ -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ $(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \
+ -d $(LIBDEST)/site-packages -f \
+ -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ $(PYTHON_FOR_BUILD) -Wi -OO $(DESTDIR)$(LIBDEST)/compileall.py \
+ -d $(LIBDEST)/site-packages -f \
+ -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt
+
+python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh
+ @ # Substitution happens here, as the completely-expanded BINDIR
+ @ # is not available in configure
+ sed -e "s,@EXENAME@,$(BINDIR)/python$(LDVERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config.py
+ @ # Replace makefile compat. variable references with shell script compat. ones; $(VAR) -> ${VAR}
+ LC_ALL=C sed -e 's,\$$(\([A-Za-z0-9_]*\)),\$$\{\1\},g' < Misc/python-config.sh >python-config
+ @ # On Darwin, always use the python version of the script, the shell
+ @ # version doesn't use the compiler customizations that are provided
+ @ # in python (_osx_support.py).
+ @if test `uname -s` = Darwin; then \
+ cp python-config.py python-config; \
+ fi
+
+
+# Install the include files
+INCLDIRSTOMAKE=$(INCLUDEDIR) $(CONFINCLUDEDIR) $(INCLUDEPY) $(CONFINCLUDEPY)
+inclinstall:
+ @for i in $(INCLDIRSTOMAKE); \
+ do \
+ if test ! -d $(DESTDIR)$$i; then \
+ echo "Creating directory $$i"; \
+ $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
+ else true; \
+ fi; \
+ done
+ @if test ! -d $(DESTDIR)$(INCLUDEPY)/internal; then \
+ echo "Creating directory $(DESTDIR)$(INCLUDEPY)/internal"; \
+ $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$(INCLUDEPY)/internal; \
+ else true; \
+ fi
+ @for i in $(srcdir)/Include/*.h; \
+ do \
+ echo $(INSTALL_DATA) $$i $(INCLUDEPY); \
+ $(INSTALL_DATA) $$i $(DESTDIR)$(INCLUDEPY); \
+ done
+ @for i in $(srcdir)/Include/internal/*.h; \
+ do \
+ echo $(INSTALL_DATA) $$i $(INCLUDEPY)/internal; \
+ $(INSTALL_DATA) $$i $(DESTDIR)$(INCLUDEPY)/internal; \
+ done
+ $(INSTALL_DATA) pyconfig.h $(DESTDIR)$(CONFINCLUDEPY)/pyconfig.h
+
+# Install the library and miscellaneous stuff needed for extending/embedding
+# This goes into $(exec_prefix)
+LIBPL= $(prefix)/lib/python3.7/config-$(VERSION)$(ABIFLAGS)-darwin
+
+# pkgconfig directory
+LIBPC= $(LIBDIR)/pkgconfig
+
+libainstall: all python-config
+ @for i in $(LIBDIR) $(LIBPL) $(LIBPC); \
+ do \
+ if test ! -d $(DESTDIR)$$i; then \
+ echo "Creating directory $$i"; \
+ $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
+ else true; \
+ fi; \
+ done
+ @if test -d $(LIBRARY); then :; else \
+ if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \
+ if test "$(SHLIB_SUFFIX)" = .dll; then \
+ $(INSTALL_DATA) $(LDLIBRARY) $(DESTDIR)$(LIBPL) ; \
+ else \
+ $(INSTALL_DATA) $(LIBRARY) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \
+ fi; \
+ else \
+ echo Skip install of $(LIBRARY) - use make frameworkinstall; \
+ fi; \
+ fi
+ $(INSTALL_DATA) Modules/config.c $(DESTDIR)$(LIBPL)/config.c
+ $(INSTALL_DATA) Programs/python.o $(DESTDIR)$(LIBPL)/python.o
+ $(INSTALL_DATA) $(srcdir)/Modules/config.c.in $(DESTDIR)$(LIBPL)/config.c.in
+ $(INSTALL_DATA) Makefile $(DESTDIR)$(LIBPL)/Makefile
+ $(INSTALL_DATA) Modules/Setup $(DESTDIR)$(LIBPL)/Setup
+ $(INSTALL_DATA) Modules/Setup.local $(DESTDIR)$(LIBPL)/Setup.local
+ $(INSTALL_DATA) Misc/python.pc $(DESTDIR)$(LIBPC)/python-$(VERSION).pc
+ $(INSTALL_SCRIPT) $(srcdir)/Modules/makesetup $(DESTDIR)$(LIBPL)/makesetup
+ $(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh
+ $(INSTALL_SCRIPT) python-config.py $(DESTDIR)$(LIBPL)/python-config.py
+ $(INSTALL_SCRIPT) python-config $(DESTDIR)$(BINDIR)/python$(LDVERSION)-config
+ @if [ -s Modules/python.exp -a \
+ "`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" = "aix" ]; then \
+ echo; echo "Installing support files for building shared extension modules on AIX:"; \
+ $(INSTALL_DATA) Modules/python.exp \
+ $(DESTDIR)$(LIBPL)/python.exp; \
+ echo; echo "$(LIBPL)/python.exp"; \
+ $(INSTALL_SCRIPT) $(srcdir)/Modules/makexp_aix \
+ $(DESTDIR)$(LIBPL)/makexp_aix; \
+ echo "$(LIBPL)/makexp_aix"; \
+ $(INSTALL_SCRIPT) Modules/ld_so_aix \
+ $(DESTDIR)$(LIBPL)/ld_so_aix; \
+ echo "$(LIBPL)/ld_so_aix"; \
+ echo; echo "See Misc/AIX-NOTES for details."; \
+ else true; \
+ fi
+
+# Install the dynamically loadable modules
+# This goes into $(exec_prefix)
+sharedinstall: sharedmods
+ $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
+ --prefix=$(prefix) \
+ --install-scripts=$(BINDIR) \
+ --install-platlib=$(DESTSHARED) \
+ --root=$(DESTDIR)/
+ -rm $(DESTDIR)$(DESTSHARED)/_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH).py
+ -rm -r $(DESTDIR)$(DESTSHARED)/__pycache__
+
+# Here are a couple of targets for MacOSX again, to install a full
+# framework-based Python. frameworkinstall installs everything, the
+# subtargets install specific parts. Much of the actual work is offloaded to
+# the Makefile in Mac
+#
+#
+# This target is here for backward compatibility, previous versions of Python
+# hadn't integrated framework installation in the normal install process.
+frameworkinstall: install
+
+# On install, we re-make the framework
+# structure in the install location, /Library/Frameworks/ or the argument to
+# --enable-framework. If --enable-framework has been specified then we have
+# automatically set prefix to the location deep down in the framework, so we
+# only have to cater for the structural bits of the framework.
+
+frameworkinstallframework: frameworkinstallstructure install frameworkinstallmaclib
+
+frameworkinstallstructure: $(LDLIBRARY)
+ @if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \
+ echo Not configured with --enable-framework; \
+ exit 1; \
+ else true; \
+ fi
+ @for i in $(prefix)/Resources/English.lproj $(prefix)/lib; do\
+ if test ! -d $(DESTDIR)$$i; then \
+ echo "Creating directory $(DESTDIR)$$i"; \
+ $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
+ else true; \
+ fi; \
+ done
+ $(LN) -fsn include/python$(LDVERSION) $(DESTDIR)$(prefix)/Headers
+ sed 's/%VERSION%/'"`$(RUNSHARED) ./$(BUILDPYTHON) -c 'import platform; print(platform.python_version())'`"'/g' < $(RESSRCDIR)/Info.plist > $(DESTDIR)$(prefix)/Resources/Info.plist
+ $(LN) -fsn $(VERSION) $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Versions/Current
+ $(LN) -fsn Versions/Current/$(PYTHONFRAMEWORK) $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/$(PYTHONFRAMEWORK)
+ $(LN) -fsn Versions/Current/Headers $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Headers
+ $(LN) -fsn Versions/Current/Resources $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Resources
+ $(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(PYTHONFRAMEWORKPREFIX)/$(LDLIBRARY)
+
+# This installs Mac/Lib into the framework
+# Install a number of symlinks to keep software that expects a normal unix
+# install (which includes python-config) happy.
+frameworkinstallmaclib:
+ $(LN) -fs "../../../$(PYTHONFRAMEWORK)" "$(DESTDIR)$(LIBPL)/libpython$(LDVERSION).a"
+ $(LN) -fs "../../../$(PYTHONFRAMEWORK)" "$(DESTDIR)$(LIBPL)/libpython$(LDVERSION).dylib"
+ $(LN) -fs "../../../$(PYTHONFRAMEWORK)" "$(DESTDIR)$(LIBPL)/libpython$(VERSION).a"
+ $(LN) -fs "../../../$(PYTHONFRAMEWORK)" "$(DESTDIR)$(LIBPL)/libpython$(VERSION).dylib"
+ $(LN) -fs "../$(PYTHONFRAMEWORK)" "$(DESTDIR)$(prefix)/lib/libpython$(LDVERSION).dylib"
+ $(LN) -fs "../$(PYTHONFRAMEWORK)" "$(DESTDIR)$(prefix)/lib/libpython$(VERSION).dylib"
+
+# This installs the IDE, the Launcher and other apps into /Applications
+frameworkinstallapps:
+ cd Mac && $(MAKE) installapps DESTDIR="$(DESTDIR)"
+
+# Build the bootstrap executable that will spawn the interpreter inside
+# an app bundle within the framework. This allows the interpreter to
+# run OS X GUI APIs.
+frameworkpythonw:
+ cd Mac && $(MAKE) pythonw
+
+# This installs the python* and other bin symlinks in $prefix/bin or in
+# a bin directory relative to the framework root
+frameworkinstallunixtools:
+ cd Mac && $(MAKE) installunixtools DESTDIR="$(DESTDIR)"
+
+frameworkaltinstallunixtools:
+ cd Mac && $(MAKE) altinstallunixtools DESTDIR="$(DESTDIR)"
+
+# This installs the Tools into the applications directory.
+# It is not part of a normal frameworkinstall
+frameworkinstallextras:
+ cd Mac && $(MAKE) installextras DESTDIR="$(DESTDIR)"
+
+# This installs a few of the useful scripts in Tools/scripts
+scriptsinstall:
+ SRCDIR=$(srcdir) $(RUNSHARED) \
+ $(PYTHON_FOR_BUILD) $(srcdir)/Tools/scripts/setup.py install \
+ --prefix=$(prefix) \
+ --install-scripts=$(BINDIR) \
+ --root=$(DESTDIR)/
+
+# Build the toplevel Makefile
+Makefile.pre: $(srcdir)/Makefile.pre.in config.status
+ CONFIG_FILES=Makefile.pre CONFIG_HEADERS= $(SHELL) config.status
+ $(MAKE) -f Makefile.pre Makefile
+
+# Run the configure script.
+config.status: $(srcdir)/configure
+ $(SHELL) $(srcdir)/configure $(CONFIG_ARGS)
+
+.PRECIOUS: config.status $(BUILDPYTHON) Makefile Makefile.pre
+
+# Some make's put the object file in the current directory
+.c.o:
+ $(CC) -c $(PY_CORE_CFLAGS) -o $@ $<
+
+# bpo-30104: dtoa.c uses union to cast double to unsigned long[2]. clang 4.0
+# with -O2 or higher and strict aliasing miscompiles the ratio() function
+# causing rounding issues. Compile dtoa.c using -fno-strict-aliasing on clang.
+# https://bugs.llvm.org//show_bug.cgi?id=31928
+Python/dtoa.o: Python/dtoa.c
+ $(CC) -c $(PY_CORE_CFLAGS) $(CFLAGS_ALIASING) -o $@ $<
+
+# Run reindent on the library
+reindent:
+ ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/reindent.py -r $(srcdir)/Lib
+
+# Rerun configure with the same options as it was run last time,
+# provided the config.status script exists
+recheck:
+ $(SHELL) config.status --recheck
+ $(SHELL) config.status
+
+# Regenerate configure and pyconfig.h.in
+.PHONY: autoconf
+autoconf:
+ # Regenerate the configure script from configure.ac using autoconf
+ (cd $(srcdir); autoconf -Wall)
+ # Regenerate pyconfig.h.in from configure.ac using autoheader
+ (cd $(srcdir); autoheader -Wall)
+
+# Create a tags file for vi
+tags::
+ ctags -w $(srcdir)/Include/*.h $(srcdir)/Include/internal/*.h
+ for i in $(SRCDIRS); do ctags -f tags -w -a $(srcdir)/$$i/*.[ch]; done
+ ctags -f tags -w -a $(srcdir)/Modules/_ctypes/*.[ch]
+ find $(srcdir)/Lib -type f -name "*.py" -not -name "test_*.py" -not -path "*/test/*" -not -path "*/tests/*" -not -path "*/*_test/*" | ctags -f tags -w -a -L -
+ LC_ALL=C sort -o tags tags
+
+# Create a tags file for GNU Emacs
+TAGS::
+ cd $(srcdir); \
+ etags Include/*.h Include/internal/*.h; \
+ for i in $(SRCDIRS); do etags -a $$i/*.[ch]; done
+ etags -a $(srcdir)/Modules/_ctypes/*.[ch]
+ find $(srcdir)/Lib -type f -name "*.py" -not -name "test_*.py" -not -path "*/test/*" -not -path "*/tests/*" -not -path "*/*_test/*" | etags - -a
+
+# Sanitation targets -- clean leaves libraries, executables and tags
+# files, which clobber removes as well
+pycremoval:
+ -find $(srcdir) -depth -name '__pycache__' -exec rm -rf {} ';'
+ -find $(srcdir) -name '*.py[co]' -exec rm -f {} ';'
+
+rmtestturds:
+ -rm -f *BAD *GOOD *SKIPPED
+ -rm -rf OUT
+ -rm -f *.TXT
+ -rm -f *.txt
+ -rm -f gb-18030-2000.xml
+
+docclean:
+ -rm -rf Doc/build
+ -rm -rf Doc/tools/sphinx Doc/tools/pygments Doc/tools/docutils
+
+clean: pycremoval
+ find . -name '*.[oa]' -exec rm -f {} ';'
+ find . -name '*.s[ol]' -exec rm -f {} ';'
+ find . -name '*.so.[0-9]*.[0-9]*' -exec rm -f {} ';'
+ find build -name 'fficonfig.h' -exec rm -f {} ';' || true
+ find build -name '*.py' -exec rm -f {} ';' || true
+ find build -name '*.py[co]' -exec rm -f {} ';' || true
+ -rm -f pybuilddir.txt
+ -rm -f Lib/lib2to3/*Grammar*.pickle
+ -rm -f Programs/_testembed Programs/_freeze_importlib
+ -find build -type f -a ! -name '*.gc??' -exec rm -f {} ';'
+ -rm -f Include/pydtrace_probes.h
+ -rm -f profile-gen-stamp
+
+profile-removal:
+ find . -name '*.gc??' -exec rm -f {} ';'
+ find . -name '*.profclang?' -exec rm -f {} ';'
+ find . -name '*.dyn' -exec rm -f {} ';'
+ rm -f $(COVERAGE_INFO)
+ rm -rf $(COVERAGE_REPORT)
+ rm -f profile-run-stamp
+
+clobber: clean profile-removal
+ -rm -f $(BUILDPYTHON) $(PGEN) $(LIBRARY) $(LDLIBRARY) $(DLLLIBRARY) \
+ tags TAGS \
+ config.cache config.log pyconfig.h Modules/config.c
+ -rm -rf build platform
+ -rm -rf $(PYTHONFRAMEWORKDIR)
+ -rm -f python-config.py python-config
+ -rm -f profile-gen-stamp profile-clean-stamp
+
+# Make things extra clean, before making a distribution:
+# remove all generated files, even Makefile[.pre]
+# Keep configure and Python-ast.[ch], it's possible they can't be generated
+distclean: clobber
+ for file in $(srcdir)/Lib/test/data/* ; do \
+ if test "$$file" != "$(srcdir)/Lib/test/data/README"; then rm "$$file"; fi; \
+ done
+ -rm -f core Makefile Makefile.pre config.status \
+ Modules/Setup Modules/Setup.local \
+ Modules/ld_so_aix Modules/python.exp Misc/python.pc \
+ Misc/python-config.sh
+ -rm -f python*-gdb.py
+ # Issue #28258: set LC_ALL to avoid issues with Estonian locale.
+ # Expansion is performed here by shell (spawned by make) itself before
+ # arguments are passed to find. So LC_ALL=C must be set as a separate
+ # command.
+ LC_ALL=C; find $(srcdir)/[a-zA-Z]* '(' -name '*.fdc' -o -name '*~' \
+ -o -name '[@,#]*' -o -name '*.old' \
+ -o -name '*.orig' -o -name '*.rej' \
+ -o -name '*.bak' ')' \
+ -exec rm -f {} ';'
+
+# Check that all symbols exported by libpython start with "Py" or "_Py"
+smelly: all
+ $(RUNSHARED) ./$(BUILDPYTHON) Tools/scripts/smelly.py
+
+# Find files with funny names
+funny:
+ find $(SUBDIRS) $(SUBDIRSTOO) \
+ -type d \
+ -o -name '*.[chs]' \
+ -o -name '*.py' \
+ -o -name '*.pyw' \
+ -o -name '*.dat' \
+ -o -name '*.el' \
+ -o -name '*.fd' \
+ -o -name '*.in' \
+ -o -name '*.gif' \
+ -o -name '*.txt' \
+ -o -name '*.xml' \
+ -o -name '*.xbm' \
+ -o -name '*.xpm' \
+ -o -name '*.uue' \
+ -o -name '*.decTest' \
+ -o -name '*.tmCommand' \
+ -o -name '*.tmSnippet' \
+ -o -name 'Setup' \
+ -o -name 'Setup.*' \
+ -o -name README \
+ -o -name NEWS \
+ -o -name HISTORY \
+ -o -name Makefile \
+ -o -name ChangeLog \
+ -o -name .hgignore \
+ -o -name MANIFEST \
+ -o -print
+
+# Perform some verification checks on any modified files.
+patchcheck: all
+ $(RUNSHARED) ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/patchcheck.py
+
+# Dependencies
+
+Python/thread.o: $(srcdir)/Python/thread_nt.h $(srcdir)/Python/thread_pthread.h
+
+# Declare targets that aren't real files
+.PHONY: all build_all sharedmods check-clean-src oldsharedmods test quicktest
+.PHONY: install altinstall oldsharedinstall bininstall altbininstall
+.PHONY: maninstall libinstall inclinstall libainstall sharedinstall
+.PHONY: frameworkinstall frameworkinstallframework frameworkinstallstructure
+.PHONY: frameworkinstallmaclib frameworkinstallapps frameworkinstallunixtools
+.PHONY: frameworkaltinstallunixtools recheck clean clobber distclean
+.PHONY: smelly funny patchcheck touch altmaninstall commoninstall
+.PHONY: gdbhooks
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
+# Local Variables:
+# mode: makefile
+# End:
+
+# Rules appended by makedepend
+
+Modules/posixmodule.o: $(srcdir)/Modules/posixmodule.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -DPy_BUILD_CORE -c $(srcdir)/Modules/posixmodule.c -o Modules/posixmodule.o
+Modules/posix$(EXT_SUFFIX): Modules/posixmodule.o; $(BLDSHARED) Modules/posixmodule.o -o Modules/posix$(EXT_SUFFIX)
+Modules/errnomodule.o: $(srcdir)/Modules/errnomodule.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -c $(srcdir)/Modules/errnomodule.c -o Modules/errnomodule.o
+Modules/errno$(EXT_SUFFIX): Modules/errnomodule.o; $(BLDSHARED) Modules/errnomodule.o -o Modules/errno$(EXT_SUFFIX)
+Modules/pwdmodule.o: $(srcdir)/Modules/pwdmodule.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -c $(srcdir)/Modules/pwdmodule.c -o Modules/pwdmodule.o
+Modules/pwd$(EXT_SUFFIX): Modules/pwdmodule.o; $(BLDSHARED) Modules/pwdmodule.o -o Modules/pwd$(EXT_SUFFIX)
+Modules/_sre.o: $(srcdir)/Modules/_sre.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -c $(srcdir)/Modules/_sre.c -o Modules/_sre.o
+Modules/_sre$(EXT_SUFFIX): Modules/_sre.o; $(BLDSHARED) Modules/_sre.o -o Modules/_sre$(EXT_SUFFIX)
+Modules/_codecsmodule.o: $(srcdir)/Modules/_codecsmodule.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -c $(srcdir)/Modules/_codecsmodule.c -o Modules/_codecsmodule.o
+Modules/_codecs$(EXT_SUFFIX): Modules/_codecsmodule.o; $(BLDSHARED) Modules/_codecsmodule.o -o Modules/_codecs$(EXT_SUFFIX)
+Modules/_weakref.o: $(srcdir)/Modules/_weakref.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -c $(srcdir)/Modules/_weakref.c -o Modules/_weakref.o
+Modules/_weakref$(EXT_SUFFIX): Modules/_weakref.o; $(BLDSHARED) Modules/_weakref.o -o Modules/_weakref$(EXT_SUFFIX)
+Modules/_functoolsmodule.o: $(srcdir)/Modules/_functoolsmodule.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -DPy_BUILD_CORE -c $(srcdir)/Modules/_functoolsmodule.c -o Modules/_functoolsmodule.o
+Modules/_functools$(EXT_SUFFIX): Modules/_functoolsmodule.o; $(BLDSHARED) Modules/_functoolsmodule.o -o Modules/_functools$(EXT_SUFFIX)
+Modules/_operator.o: $(srcdir)/Modules/_operator.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -c $(srcdir)/Modules/_operator.c -o Modules/_operator.o
+Modules/_operator$(EXT_SUFFIX): Modules/_operator.o; $(BLDSHARED) Modules/_operator.o -o Modules/_operator$(EXT_SUFFIX)
+Modules/_collectionsmodule.o: $(srcdir)/Modules/_collectionsmodule.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -c $(srcdir)/Modules/_collectionsmodule.c -o Modules/_collectionsmodule.o
+Modules/_collections$(EXT_SUFFIX): Modules/_collectionsmodule.o; $(BLDSHARED) Modules/_collectionsmodule.o -o Modules/_collections$(EXT_SUFFIX)
+Modules/_abc.o: $(srcdir)/Modules/_abc.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -c $(srcdir)/Modules/_abc.c -o Modules/_abc.o
+Modules/_abc$(EXT_SUFFIX): Modules/_abc.o; $(BLDSHARED) Modules/_abc.o -o Modules/_abc$(EXT_SUFFIX)
+Modules/itertoolsmodule.o: $(srcdir)/Modules/itertoolsmodule.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -c $(srcdir)/Modules/itertoolsmodule.c -o Modules/itertoolsmodule.o
+Modules/itertools$(EXT_SUFFIX): Modules/itertoolsmodule.o; $(BLDSHARED) Modules/itertoolsmodule.o -o Modules/itertools$(EXT_SUFFIX)
+Modules/atexitmodule.o: $(srcdir)/Modules/atexitmodule.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -c $(srcdir)/Modules/atexitmodule.c -o Modules/atexitmodule.o
+Modules/atexit$(EXT_SUFFIX): Modules/atexitmodule.o; $(BLDSHARED) Modules/atexitmodule.o -o Modules/atexit$(EXT_SUFFIX)
+Modules/signalmodule.o: $(srcdir)/Modules/signalmodule.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -DPy_BUILD_CORE -c $(srcdir)/Modules/signalmodule.c -o Modules/signalmodule.o
+Modules/_signal$(EXT_SUFFIX): Modules/signalmodule.o; $(BLDSHARED) Modules/signalmodule.o -o Modules/_signal$(EXT_SUFFIX)
+Modules/_stat.o: $(srcdir)/Modules/_stat.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -c $(srcdir)/Modules/_stat.c -o Modules/_stat.o
+Modules/_stat$(EXT_SUFFIX): Modules/_stat.o; $(BLDSHARED) Modules/_stat.o -o Modules/_stat$(EXT_SUFFIX)
+Modules/timemodule.o: $(srcdir)/Modules/timemodule.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -DPy_BUILD_CORE -c $(srcdir)/Modules/timemodule.c -o Modules/timemodule.o
+Modules/time$(EXT_SUFFIX): Modules/timemodule.o; $(BLDSHARED) Modules/timemodule.o -o Modules/time$(EXT_SUFFIX)
+Modules/_threadmodule.o: $(srcdir)/Modules/_threadmodule.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -DPy_BUILD_CORE -c $(srcdir)/Modules/_threadmodule.c -o Modules/_threadmodule.o
+Modules/_thread$(EXT_SUFFIX): Modules/_threadmodule.o; $(BLDSHARED) Modules/_threadmodule.o -o Modules/_thread$(EXT_SUFFIX)
+Modules/_localemodule.o: $(srcdir)/Modules/_localemodule.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -c $(srcdir)/Modules/_localemodule.c -o Modules/_localemodule.o
+Modules/_locale$(EXT_SUFFIX): Modules/_localemodule.o; $(BLDSHARED) Modules/_localemodule.o -o Modules/_locale$(EXT_SUFFIX)
+Modules/_iomodule.o: $(srcdir)/Modules/_io/_iomodule.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -DPy_BUILD_CORE -I$(srcdir)/Modules/_io -c $(srcdir)/Modules/_io/_iomodule.c -o Modules/_iomodule.o
+Modules/iobase.o: $(srcdir)/Modules/_io/iobase.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -DPy_BUILD_CORE -I$(srcdir)/Modules/_io -c $(srcdir)/Modules/_io/iobase.c -o Modules/iobase.o
+Modules/fileio.o: $(srcdir)/Modules/_io/fileio.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -DPy_BUILD_CORE -I$(srcdir)/Modules/_io -c $(srcdir)/Modules/_io/fileio.c -o Modules/fileio.o
+Modules/bytesio.o: $(srcdir)/Modules/_io/bytesio.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -DPy_BUILD_CORE -I$(srcdir)/Modules/_io -c $(srcdir)/Modules/_io/bytesio.c -o Modules/bytesio.o
+Modules/bufferedio.o: $(srcdir)/Modules/_io/bufferedio.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -DPy_BUILD_CORE -I$(srcdir)/Modules/_io -c $(srcdir)/Modules/_io/bufferedio.c -o Modules/bufferedio.o
+Modules/textio.o: $(srcdir)/Modules/_io/textio.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -DPy_BUILD_CORE -I$(srcdir)/Modules/_io -c $(srcdir)/Modules/_io/textio.c -o Modules/textio.o
+Modules/stringio.o: $(srcdir)/Modules/_io/stringio.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -DPy_BUILD_CORE -I$(srcdir)/Modules/_io -c $(srcdir)/Modules/_io/stringio.c -o Modules/stringio.o
+Modules/_io$(EXT_SUFFIX): Modules/_iomodule.o Modules/iobase.o Modules/fileio.o Modules/bytesio.o Modules/bufferedio.o Modules/textio.o Modules/stringio.o; $(BLDSHARED) Modules/_iomodule.o Modules/iobase.o Modules/fileio.o Modules/bytesio.o Modules/bufferedio.o Modules/textio.o Modules/stringio.o -o Modules/_io$(EXT_SUFFIX)
+Modules/zipimport.o: $(srcdir)/Modules/zipimport.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -DPy_BUILD_CORE -c $(srcdir)/Modules/zipimport.c -o Modules/zipimport.o
+Modules/zipimport$(EXT_SUFFIX): Modules/zipimport.o; $(BLDSHARED) Modules/zipimport.o -o Modules/zipimport$(EXT_SUFFIX)
+Modules/faulthandler.o: $(srcdir)/Modules/faulthandler.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -c $(srcdir)/Modules/faulthandler.c -o Modules/faulthandler.o
+Modules/faulthandler$(EXT_SUFFIX): Modules/faulthandler.o; $(BLDSHARED) Modules/faulthandler.o -o Modules/faulthandler$(EXT_SUFFIX)
+Modules/_tracemalloc.o: $(srcdir)/Modules/_tracemalloc.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -c $(srcdir)/Modules/_tracemalloc.c -o Modules/_tracemalloc.o
+Modules/hashtable.o: $(srcdir)/Modules/hashtable.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -c $(srcdir)/Modules/hashtable.c -o Modules/hashtable.o
+Modules/_tracemalloc$(EXT_SUFFIX): Modules/_tracemalloc.o Modules/hashtable.o; $(BLDSHARED) Modules/_tracemalloc.o Modules/hashtable.o -o Modules/_tracemalloc$(EXT_SUFFIX)
+Modules/symtablemodule.o: $(srcdir)/Modules/symtablemodule.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -c $(srcdir)/Modules/symtablemodule.c -o Modules/symtablemodule.o
+Modules/_symtable$(EXT_SUFFIX): Modules/symtablemodule.o; $(BLDSHARED) Modules/symtablemodule.o -o Modules/_symtable$(EXT_SUFFIX)
+Modules/xxsubtype.o: $(srcdir)/Modules/xxsubtype.c; $(CC) $(PY_BUILTIN_MODULE_CFLAGS) -c $(srcdir)/Modules/xxsubtype.c -o Modules/xxsubtype.o
+Modules/xxsubtype$(EXT_SUFFIX): Modules/xxsubtype.o; $(BLDSHARED) Modules/xxsubtype.o -o Modules/xxsubtype$(EXT_SUFFIX)
diff --git a/MacBuild/SPEx.app/Contents/Resources/logo.icns b/MacBuild/SPEx.app/Contents/Resources/logo.icns
new file mode 100644
index 0000000..96870a2
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/Resources/logo.icns differ
diff --git a/MacBuild/SPEx.app/Contents/Resources/text_unidecode/data.bin b/MacBuild/SPEx.app/Contents/Resources/text_unidecode/data.bin
new file mode 100644
index 0000000..523d489
Binary files /dev/null and b/MacBuild/SPEx.app/Contents/Resources/text_unidecode/data.bin differ
diff --git a/MacBuild/SPEx.app/Contents/_CodeSignature/CodeResources b/MacBuild/SPEx.app/Contents/_CodeSignature/CodeResources
new file mode 100644
index 0000000..82cb19e
--- /dev/null
+++ b/MacBuild/SPEx.app/Contents/_CodeSignature/CodeResources
@@ -0,0 +1,1179 @@
+
+
+
+
+ files
+
+ Resources/conf/defaults.json
+
+ IjkgS4h59ioYlGtlcsL23GwsR+Y=
+
+ Resources/conf/languageconf.json
+
+ h5l1iokslVWRDAGw82yY3NUDBzo=
+
+ Resources/conf/linux.json
+
+ 76myEik+Ol8jYYNZW9k1XlOKSNE=
+
+ Resources/conf/loggerconf.json
+
+ /qBW3R88hdVxQF2bPLvNdNrT84w=
+
+ Resources/include/python3.7m/pyconfig.h
+
+ gmZQQOikQ+k/6irfgkApjYLUcJY=
+
+ Resources/lib/python3.7/config-3.7m-darwin/Makefile
+
+ REr/uAzOboDa/mukOprw+Fd0VWc=
+
+ Resources/logo.icns
+
+ ksIhXFmg7sgRXmyWeGgHbpuvsQE=
+
+ Resources/text_unidecode/data.bin
+
+ qvMDIXHTWGKcMvrytL2+zYxTNQE=
+
+
+ files2
+
+ MacOS/PyQt5/Qt/plugins/iconengines/libqsvgicon.dylib
+
+ cdhash
+
+ qekLDMMOveulQBK60KY+w/0qqQU=
+
+ requirement
+ identifier libqsvgicon and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/plugins/imageformats/libqgif.dylib
+
+ cdhash
+
+ 5o7x2KadjfJfpHIJt8SQWjzmHp0=
+
+ requirement
+ identifier libqgif and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/plugins/imageformats/libqicns.dylib
+
+ cdhash
+
+ UX7fpb3GC4eyuANVoc90quurJYw=
+
+ requirement
+ identifier libqicns and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/plugins/imageformats/libqico.dylib
+
+ cdhash
+
+ WRwCpMHY7V3qju85mFh68mILf1E=
+
+ requirement
+ identifier libqico and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/plugins/imageformats/libqjpeg.dylib
+
+ cdhash
+
+ HwQ1hNKK+K4ClzMPfEwmBvwX5W0=
+
+ requirement
+ identifier libqjpeg and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/plugins/imageformats/libqmacheif.dylib
+
+ cdhash
+
+ xFf7bWtvpmZyKhw+5jYwHp5u9E8=
+
+ requirement
+ identifier libqmacheif and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/plugins/imageformats/libqmacjp2.dylib
+
+ cdhash
+
+ SIzWM43ylp2uRe5J9aBZDXaHyU8=
+
+ requirement
+ identifier libqmacjp2 and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/plugins/imageformats/libqsvg.dylib
+
+ cdhash
+
+ PJ8Y8qdVCLX0ol7Judo7oreI5GY=
+
+ requirement
+ identifier libqsvg and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/plugins/imageformats/libqtga.dylib
+
+ cdhash
+
+ fuA/44vhk1WF1Hv7ThktB5ngkfc=
+
+ requirement
+ identifier libqtga and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/plugins/imageformats/libqtiff.dylib
+
+ cdhash
+
+ hHZQ3oUDwbhQ5mKRyPymKbN9wZU=
+
+ requirement
+ identifier libqtiff and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/plugins/imageformats/libqwbmp.dylib
+
+ cdhash
+
+ 1PVxMHnb5B1lw5NE2xoZpajAz3E=
+
+ requirement
+ identifier libqwbmp and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/plugins/imageformats/libqwebp.dylib
+
+ cdhash
+
+ rRKoQJ94PGxB0DP9zD9c0Wcwo6A=
+
+ requirement
+ identifier libqwebp and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/plugins/platforms/libqcocoa.dylib
+
+ cdhash
+
+ 54mAaf1g+mmPrFQ5WckSPHdQZt8=
+
+ requirement
+ identifier libqcocoa and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/plugins/platforms/libqminimal.dylib
+
+ cdhash
+
+ Afm+HJ9TZRcRTuQ0JilTJSxMheQ=
+
+ requirement
+ identifier libqminimal and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/plugins/platforms/libqoffscreen.dylib
+
+ cdhash
+
+ FUSKEKujrw13zNIZAN2ll+9Mou8=
+
+ requirement
+ identifier libqoffscreen and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/plugins/platforms/libqwebgl.dylib
+
+ cdhash
+
+ 7W0L/LdpVrFlt+xpv/4LbA4VNU0=
+
+ requirement
+ identifier libqwebgl and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/plugins/platformthemes/libqxdgdesktopportal.dylib
+
+ cdhash
+
+ B83v6xXch7u1WGjbCyEQyOwzyg4=
+
+ requirement
+ identifier libqxdgdesktopportal and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/plugins/styles/libqmacstyle.dylib
+
+ cdhash
+
+ 0sV2UchxEpf42X0SbeseMdQaHTo=
+
+ requirement
+ identifier libqmacstyle and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/translations/qtbase_ar.qm
+
+ cdhash
+
+ c/JycacTcsym0wTy+MqTajCHv2U=
+
+ requirement
+ identifier "qtbase_ar" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/translations/qtbase_bg.qm
+
+ cdhash
+
+ xECtpzVnBB3xSE8Gy8ioSi94anU=
+
+ requirement
+ identifier "qtbase_bg" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/translations/qtbase_ca.qm
+
+ cdhash
+
+ ToijgQP18TgZnUlaArenMEtNJ84=
+
+ requirement
+ identifier "qtbase_ca" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/translations/qtbase_cs.qm
+
+ cdhash
+
+ XaGFJEbcAMZ3bQ8Z59IG8PA3664=
+
+ requirement
+ identifier "qtbase_cs" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/translations/qtbase_da.qm
+
+ cdhash
+
+ ulibbzbL+eqHLvy5ZVqjC+tbTZg=
+
+ requirement
+ identifier "qtbase_da" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/translations/qtbase_de.qm
+
+ cdhash
+
+ dYZf6O67/5sZ9qaKkCELezhUdtg=
+
+ requirement
+ identifier "qtbase_de" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/translations/qtbase_en.qm
+
+ cdhash
+
+ XtcNnViIDXf8nMNlb7xnc2DYfiI=
+
+ requirement
+ identifier "qtbase_en" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/translations/qtbase_es.qm
+
+ cdhash
+
+ FOtkcRyw1Tgk7Vif+5YHrQH13N8=
+
+ requirement
+ identifier "qtbase_es" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/translations/qtbase_fi.qm
+
+ cdhash
+
+ K3FjWCqC+2vA2ACA+wb4+hr0w2Y=
+
+ requirement
+ identifier "qtbase_fi" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/translations/qtbase_fr.qm
+
+ cdhash
+
+ or2e9ZRV5wRj2QNHSmicbkirOAY=
+
+ requirement
+ identifier "qtbase_fr" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/translations/qtbase_gd.qm
+
+ cdhash
+
+ TuXuRkDYEVzmXSCBSBzHQqblguU=
+
+ requirement
+ identifier "qtbase_gd" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/translations/qtbase_he.qm
+
+ cdhash
+
+ 8spyUTRyW2W1MuUWjq/oYvIhtzc=
+
+ requirement
+ identifier "qtbase_he" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/translations/qtbase_hu.qm
+
+ cdhash
+
+ PDyGptstJG7w1HQH+FnNknroX7I=
+
+ requirement
+ identifier "qtbase_hu" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/translations/qtbase_it.qm
+
+ cdhash
+
+ P1bRMq5lJb3OZ/sIgvne2AdWPeQ=
+
+ requirement
+ identifier "qtbase_it" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/translations/qtbase_ja.qm
+
+ cdhash
+
+ isLW2T8m23sE21pZyPxVcIHkwzk=
+
+ requirement
+ identifier "qtbase_ja" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/translations/qtbase_ko.qm
+
+ cdhash
+
+ OThxqMPMsHTZSfF1fz5vYUhgoB0=
+
+ requirement
+ identifier "qtbase_ko" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/translations/qtbase_lv.qm
+
+ cdhash
+
+ jJwJ2+7EIC98CIwR4tOA/qEEsOM=
+
+ requirement
+ identifier "qtbase_lv" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/translations/qtbase_pl.qm
+
+ cdhash
+
+ DOBpDSqd5mHbcpewADgVrYY7Ixw=
+
+ requirement
+ identifier "qtbase_pl" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/translations/qtbase_ru.qm
+
+ cdhash
+
+ kHeCR89Z4EiHYaRQiyy13tl9blg=
+
+ requirement
+ identifier "qtbase_ru" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/translations/qtbase_sk.qm
+
+ cdhash
+
+ FFvw550CeI1m2/YvzEUUsIHO1zk=
+
+ requirement
+ identifier "qtbase_sk" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/translations/qtbase_tr.qm
+
+ cdhash
+
+ iaFWheZnbmbHozHuL32qtJmexnQ=
+
+ requirement
+ identifier "qtbase_tr" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/translations/qtbase_uk.qm
+
+ cdhash
+
+ tl1w6cTKdV9nWNyiLf8PkcdWDP4=
+
+ requirement
+ identifier "qtbase_uk" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/Qt/translations/qtbase_zh_TW.qm
+
+ cdhash
+
+ 9SipDC3SSWjKMUseZO9EPkDWx0E=
+
+ requirement
+ identifier "qtbase_zh_TW" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/QtCore.abi3.so
+
+ cdhash
+
+ Pw0svZu7Z0dP/ODVEgYgxzeb8k8=
+
+ requirement
+ identifier "QtCore.abi3" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/QtGui.abi3.so
+
+ cdhash
+
+ U/EjuERV0ZVo7QpsVp+npu4rrxY=
+
+ requirement
+ identifier "QtGui.abi3" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/QtWidgets.abi3.so
+
+ cdhash
+
+ /lzWRzmXYJLU8/d9aSlPtc84Oog=
+
+ requirement
+ identifier "QtWidgets.abi3" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/PyQt5/sip.cpython-37m-darwin.so
+
+ cdhash
+
+ ea8c882Gy5+jDagq1FYzDvalZaU=
+
+ requirement
+ identifier "sip.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/Python
+
+ cdhash
+
+ BH5oZul1sQHJWjueGRVj3ArFbzc=
+
+ requirement
+ identifier Python and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/QtCore
+
+ cdhash
+
+ V/RMwtzIhTuaS9mEMbe3V/OXRwk=
+
+ requirement
+ identifier QtCore and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/QtDBus
+
+ cdhash
+
+ Pi5rFC+Rsab1rBKYvLv6u7ELlKo=
+
+ requirement
+ identifier QtDBus and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/QtGui
+
+ cdhash
+
+ L9b22YkRigoUHZVE9uYTm7uV6jY=
+
+ requirement
+ identifier QtGui and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/QtNetwork
+
+ cdhash
+
+ YUK+MS92/70rwcsSRvEtWwWEe5A=
+
+ requirement
+ identifier QtNetwork and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/QtPrintSupport
+
+ cdhash
+
+ a8ew+X2tv+X2R5qeEzGvFuq3PUQ=
+
+ requirement
+ identifier QtPrintSupport and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/QtQml
+
+ cdhash
+
+ w5+lWShkwjTpRBWepEhIt0TtVuQ=
+
+ requirement
+ identifier QtQml and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/QtQmlModels
+
+ cdhash
+
+ vzhYCKCDEWvMGxb4IC+pYcYoFMU=
+
+ requirement
+ identifier QtQmlModels and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/QtQuick
+
+ cdhash
+
+ snX8XBRBkNb23UCjq/5FMAoR/Ec=
+
+ requirement
+ identifier QtQuick and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/QtSvg
+
+ cdhash
+
+ 5ofZYw/s+FyezRH8M8+oF9/1PIU=
+
+ requirement
+ identifier QtSvg and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/QtWebSockets
+
+ cdhash
+
+ edADI5tGaXH1qvSAPt4+CpRAEms=
+
+ requirement
+ identifier QtWebSockets and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/QtWidgets
+
+ cdhash
+
+ VSJOfHlJXgC2WghWMD5P/4NRJtE=
+
+ requirement
+ identifier QtWidgets and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_bisect.cpython-37m-darwin.so
+
+ cdhash
+
+ u74XTBsi9jswoUSapbL0bO4lfeQ=
+
+ requirement
+ identifier "_bisect.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_blake2.cpython-37m-darwin.so
+
+ cdhash
+
+ oLccEDd7fBmNaMXZQmz7oQetnfg=
+
+ requirement
+ identifier "_blake2.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_bz2.cpython-37m-darwin.so
+
+ cdhash
+
+ Ov1xvAXGJml0cLYOuQodVUbS5oo=
+
+ requirement
+ identifier "_bz2.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_codecs_cn.cpython-37m-darwin.so
+
+ cdhash
+
+ JBWbBKGQeT/kMw7lOM78UjYjiPc=
+
+ requirement
+ identifier "_codecs_cn.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_codecs_hk.cpython-37m-darwin.so
+
+ cdhash
+
+ L9U8VJbbe/IuczcwlcKbqEnPa34=
+
+ requirement
+ identifier "_codecs_hk.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_codecs_iso2022.cpython-37m-darwin.so
+
+ cdhash
+
+ 3rEpI88IQRn1eat2K/2i3MEyX3w=
+
+ requirement
+ identifier "_codecs_iso2022.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_codecs_jp.cpython-37m-darwin.so
+
+ cdhash
+
+ VWPDbJhnqaBppbnDUp+0kYOaT8Y=
+
+ requirement
+ identifier "_codecs_jp.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_codecs_kr.cpython-37m-darwin.so
+
+ cdhash
+
+ g34OQXAJ2VT6WQNCbcV6Tc/VHj0=
+
+ requirement
+ identifier "_codecs_kr.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_codecs_tw.cpython-37m-darwin.so
+
+ cdhash
+
+ I8RAfoyei4XY4m176VKWb8SxrJ8=
+
+ requirement
+ identifier "_codecs_tw.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_contextvars.cpython-37m-darwin.so
+
+ cdhash
+
+ e9tYe0uDA+dyU+PSFjWLrWRIitI=
+
+ requirement
+ identifier "_contextvars.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_ctypes.cpython-37m-darwin.so
+
+ cdhash
+
+ 4CC6HdKLfmmLwt09RANv+qXyE88=
+
+ requirement
+ identifier "_ctypes.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_datetime.cpython-37m-darwin.so
+
+ cdhash
+
+ ez3XPkENWhvJJSGse33PK09bMUc=
+
+ requirement
+ identifier "_datetime.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_decimal.cpython-37m-darwin.so
+
+ cdhash
+
+ s4XhZkEz6mVS1bAkfm2SQMH70Yc=
+
+ requirement
+ identifier "_decimal.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_hashlib.cpython-37m-darwin.so
+
+ cdhash
+
+ EokNSILG8gAAbYYFEiqlbPX89tk=
+
+ requirement
+ identifier "_hashlib.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_heapq.cpython-37m-darwin.so
+
+ cdhash
+
+ g88rAv5H0sgT02Kq3BFq/w/94xU=
+
+ requirement
+ identifier "_heapq.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_json.cpython-37m-darwin.so
+
+ cdhash
+
+ bIezwrRC0OCRaoOCjG1vu0oJ4xY=
+
+ requirement
+ identifier "_json.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_lzma.cpython-37m-darwin.so
+
+ cdhash
+
+ S+y3UuBedLqT8nrTSNbbs9Pba/c=
+
+ requirement
+ identifier "_lzma.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_md5.cpython-37m-darwin.so
+
+ cdhash
+
+ I8Ku/wJf+cGok679RQGCbfyNn20=
+
+ requirement
+ identifier "_md5.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_multibytecodec.cpython-37m-darwin.so
+
+ cdhash
+
+ Lgx7A9ScpyOQyxl2eTCHQHA+rhI=
+
+ requirement
+ identifier "_multibytecodec.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_opcode.cpython-37m-darwin.so
+
+ cdhash
+
+ Pr3oEhJjKfKGll+sDnz4J7yB6Lk=
+
+ requirement
+ identifier "_opcode.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_pickle.cpython-37m-darwin.so
+
+ cdhash
+
+ z16aFRpY+jX93zlPD1VsUkMDH5I=
+
+ requirement
+ identifier "_pickle.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_posixsubprocess.cpython-37m-darwin.so
+
+ cdhash
+
+ ytNZGWER6kedSSfv1NXvEN3ZP0I=
+
+ requirement
+ identifier "_posixsubprocess.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_random.cpython-37m-darwin.so
+
+ cdhash
+
+ qth+t9G6XzWUS9U9GeRv3gCxffM=
+
+ requirement
+ identifier "_random.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_scproxy.cpython-37m-darwin.so
+
+ cdhash
+
+ WssAfASVvJonrYt35ks25w1YW84=
+
+ requirement
+ identifier "_scproxy.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_sha1.cpython-37m-darwin.so
+
+ cdhash
+
+ AllCqm/ICoYj6Jy8lFvvKxnUQNQ=
+
+ requirement
+ identifier "_sha1.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_sha256.cpython-37m-darwin.so
+
+ cdhash
+
+ eVCb9KNfPmJTHHuQAyCvKz+yDC0=
+
+ requirement
+ identifier "_sha256.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_sha3.cpython-37m-darwin.so
+
+ cdhash
+
+ g6B8bEXj0sbBBa93sd0QGNsrJy8=
+
+ requirement
+ identifier "_sha3.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_sha512.cpython-37m-darwin.so
+
+ cdhash
+
+ lsF0Z6CfOnJwMshnbVGClzMFedY=
+
+ requirement
+ identifier "_sha512.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_socket.cpython-37m-darwin.so
+
+ cdhash
+
+ 6gwm5AMr3iv5qLULtLjToitHLOY=
+
+ requirement
+ identifier "_socket.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_ssl.cpython-37m-darwin.so
+
+ cdhash
+
+ 1SI/9HLAf5BzE0mZTGt3gm6XLDQ=
+
+ requirement
+ identifier "_ssl.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/_struct.cpython-37m-darwin.so
+
+ cdhash
+
+ 2ue0n73tHBfN2RUo6sbtvYst1G0=
+
+ requirement
+ identifier "_struct.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/base_library.zip
+
+ cdhash
+
+ yC56rnyHSag3/kxMgaSkGtVEiHw=
+
+ requirement
+ identifier "base_library" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/binascii.cpython-37m-darwin.so
+
+ cdhash
+
+ 3ZLcwxlvb61+9p2jv3P8JO6T2ks=
+
+ requirement
+ identifier "binascii.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/grp.cpython-37m-darwin.so
+
+ cdhash
+
+ 5bgtWfy25kONTQJBcnDPwjDJmiY=
+
+ requirement
+ identifier "grp.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/include
+
+ symlink
+ ../Resources/include
+
+ MacOS/lib
+
+ symlink
+ ../Resources/lib
+
+ MacOS/libcrypto.1.1.dylib
+
+ cdhash
+
+ irnPIewPlFkAZN0rbvNXdgEIHbE=
+
+ requirement
+ identifier "libcrypto.1" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/liblzma.5.dylib
+
+ cdhash
+
+ B6paQ24rzPyBaEUp+NwWm22yDF8=
+
+ requirement
+ identifier "liblzma.5" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/libreadline.8.dylib
+
+ cdhash
+
+ pF7z1P1B+utt98TJKMlH0vD3y6Q=
+
+ requirement
+ identifier "libreadline.8" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/libssl.1.1.dylib
+
+ cdhash
+
+ BnJ8dKtD6ldH381linu7GC2YMcQ=
+
+ requirement
+ identifier "libssl.1" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/math.cpython-37m-darwin.so
+
+ cdhash
+
+ ONF+K18I4DlMjnKQXsJd/j5M88w=
+
+ requirement
+ identifier "math.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/pyexpat.cpython-37m-darwin.so
+
+ cdhash
+
+ Gx5tLGBKh7Hb9Q5J70mVS9efpX8=
+
+ requirement
+ identifier "pyexpat.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/readline.cpython-37m-darwin.so
+
+ cdhash
+
+ oaFLGan7iDDvdlnvRrBSzAAZX1E=
+
+ requirement
+ identifier "readline.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/resource.cpython-37m-darwin.so
+
+ cdhash
+
+ m9SzpOs02Vwx1f2ZfHNrnxy8dQc=
+
+ requirement
+ identifier "resource.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/select.cpython-37m-darwin.so
+
+ cdhash
+
+ MzMnwtsKYM1R7WH8bk+L7KFpbm0=
+
+ requirement
+ identifier "select.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/termios.cpython-37m-darwin.so
+
+ cdhash
+
+ cL7pKsAm/fo+k8VvSUiv3smKQXA=
+
+ requirement
+ identifier "termios.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/text_unidecode
+
+ symlink
+ ../Resources/text_unidecode
+
+ MacOS/unicodedata.cpython-37m-darwin.so
+
+ cdhash
+
+ vgxzVVfQmJl/vPelC8GwH8ekWhM=
+
+ requirement
+ identifier "unicodedata.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ MacOS/zlib.cpython-37m-darwin.so
+
+ cdhash
+
+ 4GpDCb3PJTVk3o2tQmLr4lWWka4=
+
+ requirement
+ identifier "zlib.cpython-37m-darwin" and certificate root = H"72819cadb4c05c0d65cfb8d90d0e7610c5bd8598"
+
+ Resources/conf/defaults.json
+
+ hash
+
+ IjkgS4h59ioYlGtlcsL23GwsR+Y=
+
+ hash2
+
+ YE0J4kpu6j6E2lpizjRybLg5MwhkZYe39/lUivybuVA=
+
+
+ Resources/conf/languageconf.json
+
+ hash
+
+ h5l1iokslVWRDAGw82yY3NUDBzo=
+
+ hash2
+
+ g9mDFD18a2xjdrPySGzFvDI8VaoR6AVKARo1/tHkTM0=
+
+
+ Resources/conf/linux.json
+
+ hash
+
+ 76myEik+Ol8jYYNZW9k1XlOKSNE=
+
+ hash2
+
+ AV+YXThjz3MwMfLN0+2AdOt1HFQTCpohmlKteA3Nmqw=
+
+
+ Resources/conf/loggerconf.json
+
+ hash
+
+ /qBW3R88hdVxQF2bPLvNdNrT84w=
+
+ hash2
+
+ 4IjAxPEwyaTMfLWms0Kgq0Pcu1TscCA0PpAHJ19y26c=
+
+
+ Resources/include/python3.7m/pyconfig.h
+
+ hash
+
+ gmZQQOikQ+k/6irfgkApjYLUcJY=
+
+ hash2
+
+ 870WZelfh39zQ0mkSWGYeaZpsZbra2pCKVDLDhI19Ho=
+
+
+ Resources/lib/python3.7/config-3.7m-darwin/Makefile
+
+ hash
+
+ REr/uAzOboDa/mukOprw+Fd0VWc=
+
+ hash2
+
+ 4l6lx5ZupmW8JYVSJNmgTq1VgrvYkJjmuyEfnxGOkDI=
+
+
+ Resources/logo.icns
+
+ hash
+
+ ksIhXFmg7sgRXmyWeGgHbpuvsQE=
+
+ hash2
+
+ CTYi6R3Wh/bBRjAgdHIVY0LhvQM/xtR+OgdpIaRyRUQ=
+
+
+ Resources/text_unidecode/data.bin
+
+ hash
+
+ qvMDIXHTWGKcMvrytL2+zYxTNQE=
+
+ hash2
+
+ eSRmbaTOCtJNS4FCszDm2OiUZc2IOTRyTNnkt9gTDwk=
+
+
+
+ rules
+
+ ^Resources/
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/
+
+ nested
+
+ weight
+ 10
+
+ ^.*
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^Resources/
+
+ weight
+ 20
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^[^/]+$
+
+ nested
+
+ weight
+ 10
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+