 ++
 ++int mprotect(void *addr, size_t len, int prot)
 ++{
-++    DWORD newProtect = __map_mmap_prot_page(prot);
-++    DWORD oldProtect = 0;
-++
-++    if (VirtualProtect(addr
+++    DWORD newP
 \ No newline at end of file
 diff --git a/fastBPE/unistd.h b/fastBPE/unistd.h
 new file mode 100644

+#endif /*  _SYS_MMAN_H_ */
diff --git a/fastBPE/mman_new2.patch b/fastBPE/mman_new2.patch
new file mode 100644
index 0000000..4a01e04
--- /dev/null
+++ b/fastBPE/mman_new2.patch
@@ -0,0 +1,169 @@
+diff --git a/fastBPE/fastBPE.hpp b/fastBPE/fastBPE.hpp
+index 099ae80..5dead7f 100644
+--- a/fastBPE/fastBPE.hpp
++++ b/fastBPE/fastBPE.hpp
+@@ -12,7 +12,7 @@
+ #include <stdio.h>
+ #include <string>
+ #include <cstring>

+#include "mman.c"
 #include <sys/stat.h>
 #include <thread>
-#include <unistd.h> // ftruncate
+#include "unistd.h"
 #include <unordered_map>
 #include <unordered_set>
 #include <vector>
@@ -689,4 +689,4 @@ void applybpe_stream(const char *codesPath, const char *vocabPath) {
   }
 }
