This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/casbin-editor.git

commit d6fcf413df7eed91f5aedc3560b9a61865a384a8
Author: hsluoyz <[email protected]>
AuthorDate: Sat Mar 28 04:23:25 2026 +0000

    deploy: d706d430e1916722640d3ef87c8a9230a83a3af8
---
 .asf.yaml                                          |  39 +++++++++++++++++++++
 .nojekyll                                          |   0
 404.html                                           |   1 +
 LanguageSwitching.svg                              |   1 +
 .../static/NyIaUpIUT38V_LRYN-Ny2/_buildManifest.js |   1 +
 _next/static/NyIaUpIUT38V_LRYN-Ny2/_ssgManifest.js |   1 +
 _next/static/chunks/363642f4-8c15ce5fe7096de7.js   |   1 +
 _next/static/chunks/435-538b693b5d2afecd.js        |   1 +
 _next/static/chunks/69-074bc27ef6227398.js         |   1 +
 _next/static/chunks/818.633ee424df17c51c.js        |   1 +
 _next/static/chunks/831-0103375d5ae98522.js        |   6 ++++
 _next/static/chunks/845-22bb1106334e1970.js        |   1 +
 _next/static/chunks/87-cb5fe42f37501a74.js         |   1 +
 _next/static/chunks/902-339125fe38f5d3ff.js        |   1 +
 _next/static/chunks/924-753a533cce5fe727.js        |   1 +
 _next/static/chunks/925-2211fa94a0e33b43.js        |  16 +++++++++
 .../chunks/app/_not-found-eeb7482f7cb070c8.js      |   1 +
 .../chunks/app/gallery/page-9c126973d02590d2.js    |   1 +
 _next/static/chunks/app/layout-41a762433fb6a056.js |   1 +
 .../app/model-editor/layout-270a9c8d316f7fd7.js    |   1 +
 .../app/model-editor/page-1664894e2634c171.js      |   1 +
 _next/static/chunks/app/page-8beb458ed7b8e8c2.js   |   1 +
 _next/static/chunks/fd9d1056-4fd3c25de1287369.js   |   1 +
 _next/static/chunks/framework-f66176bb897dc684.js  |  33 +++++++++++++++++
 _next/static/chunks/main-2a2ff2743a8d5c80.js       |   1 +
 _next/static/chunks/main-app-212b65fd684e79ca.js   |   1 +
 _next/static/chunks/pages/_app-75f6107b0260711c.js |   1 +
 .../static/chunks/pages/_error-9a890acb1e81c3fc.js |   1 +
 _next/static/chunks/polyfills-c67a75d1b6f99dc8.js  |   1 +
 _next/static/chunks/webpack-45b294c148598aaf.js    |   1 +
 _next/static/css/8c83a335c8b855fd.css              |   3 ++
 compareEngines.svg                                 |   9 +++++
 discord.svg                                        |   3 ++
 favicon.png                                        | Bin 0 -> 10527 bytes
 gallery.html                                       |   1 +
 gallery.txt                                        |   9 +++++
 github.svg                                         |   1 +
 icon.png                                           | Bin 0 -> 10527 bytes
 index.html                                         |   1 +
 index.txt                                          |   9 +++++
 model-editor.html                                  |   1 +
 model-editor.txt                                   |  11 ++++++
 modelGallery.svg                                   |   3 ++
 moon.svg                                           |   1 +
 openai.svg                                         |   1 +
 sun.svg                                            |   1 +
 46 files changed, 173 insertions(+)

diff --git a/.asf.yaml b/.asf.yaml
new file mode 100644
index 0000000..9b58a30
--- /dev/null
+++ b/.asf.yaml
@@ -0,0 +1,39 @@
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
+
+github:
+  description: "Apache Casbin Editor"
+  homepage: https://casbin-editor.apache.org/
+  features:
+    issues: true
+    projects: false
+    wiki: false
+  labels:
+    - casbin
+  enabled_merge_buttons:
+    squash:  true
+    merge:   false
+    rebase:  false
+  protected_branches:
+    # prevent accidentially deleted
+    master: {}
+
+publish:
+  whoami: asf-site
+
+notifications:
+  commits:      [email protected]
diff --git a/.nojekyll b/.nojekyll
new file mode 100644
index 0000000..e69de29
diff --git a/404.html b/404.html
new file mode 100644
index 0000000..7b2563e
--- /dev/null
+++ b/404.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta 
name="viewport" content="width=device-width, initial-scale=1"/><link 
rel="stylesheet" href="./_next/static/css/8c83a335c8b855fd.css" crossorigin="" 
data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" 
href="./_next/static/chunks/webpack-45b294c148598aaf.js" 
crossorigin=""/><script 
src="./_next/static/chunks/fd9d1056-4fd3c25de1287369.js" async="" 
crossorigin=""></script><script src="./_next/static/chu [...]
\ No newline at end of file
diff --git a/LanguageSwitching.svg b/LanguageSwitching.svg
new file mode 100644
index 0000000..73ba151
--- /dev/null
+++ b/LanguageSwitching.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 
1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd";><svg 
t="1719943469791" class="icon" viewBox="0 0 1024 1024" version="1.1" 
xmlns="http://www.w3.org/2000/svg"; p-id="1478" 
xmlns:xlink="http://www.w3.org/1999/xlink"; width="200" height="200"><path 
d="M785.0595 552.051627a235.99978 235.99978 0 1 0 238.482372 235.974187 
237.50981 237.50981 0 0 0-238.482372-235.974187z m0 420.760914a184.786727 
184.786727 0 1 1 [...]
\ No newline at end of file
diff --git a/_next/static/NyIaUpIUT38V_LRYN-Ny2/_buildManifest.js 
b/_next/static/NyIaUpIUT38V_LRYN-Ny2/_buildManifest.js
new file mode 100644
index 0000000..8afb954
--- /dev/null
+++ b/_next/static/NyIaUpIUT38V_LRYN-Ny2/_buildManifest.js
@@ -0,0 +1 @@
+self.__BUILD_MANIFEST={__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/_error":["static/chunks/pages/_error-9a890acb1e81c3fc.js"],sortedPages:["/_app","/_error"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
\ No newline at end of file
diff --git a/_next/static/NyIaUpIUT38V_LRYN-Ny2/_ssgManifest.js 
b/_next/static/NyIaUpIUT38V_LRYN-Ny2/_ssgManifest.js
new file mode 100644
index 0000000..5b3ff59
--- /dev/null
+++ b/_next/static/NyIaUpIUT38V_LRYN-Ny2/_ssgManifest.js
@@ -0,0 +1 @@
+self.__SSG_MANIFEST=new 
Set([]);self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB()
\ No newline at end of file
diff --git a/_next/static/chunks/363642f4-8c15ce5fe7096de7.js 
b/_next/static/chunks/363642f4-8c15ce5fe7096de7.js
new file mode 100644
index 0000000..e39df6b
--- /dev/null
+++ b/_next/static/chunks/363642f4-8c15ce5fe7096de7.js
@@ -0,0 +1 @@
+"use 
strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[401],{3863:function(t,e,i){let
 s;i.d(e,{$1:function(){return iA},$f:function(){return 
iM},AE:function(){return i1},Eu:function(){return sX},HQ:function(){return 
s_},Nm:function(){return tw},OO:function(){return tq},S2:function(){return 
so},SJ:function(){return sT},Sd:function(){return sS},Uw:function(){return 
iN},W$:function(){return i7},ZO:function(){return i9},Zs:function(){return 
se},bF:function(){return sw},gB:func [...]
\ No newline at end of file
diff --git a/_next/static/chunks/435-538b693b5d2afecd.js 
b/_next/static/chunks/435-538b693b5d2afecd.js
new file mode 100644
index 0000000..d758e16
--- /dev/null
+++ b/_next/static/chunks/435-538b693b5d2afecd.js
@@ -0,0 +1 @@
+"use 
strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[435],{3435:function(e,i,o){o.r(i),o.d(i,{LangProvider:function(){return
 l},useLang:function(){return c}});var t=o(3827),r=o(4090);let 
s={en:o(759),zh:o(334),hant:o(1303),ja:o(458),fr:o(7298),de:o(7821),es:o(5959),id:o(3719),ko:o(9672),ru:o(1707),vi:o(3800),pt:o(5529),it:o(8635),ms:o(6446),tr:o(2719),ar:o(1340)},n=Object.keys(s),a=(0,r.createContext)(void
 0),l=e=>{let{children:i}=e,[o,l]=(0,r.useState)("en"),[c,d]=(0,r. [...]
\ No newline at end of file
diff --git a/_next/static/chunks/69-074bc27ef6227398.js 
b/_next/static/chunks/69-074bc27ef6227398.js
new file mode 100644
index 0000000..c398542
--- /dev/null
+++ b/_next/static/chunks/69-074bc27ef6227398.js
@@ -0,0 +1 @@
+(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[69],{269:function(e,t){"use
 strict";function 
r(){return""}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDeploymentIdQueryOrEmptyString",{enumerable:!0,get:function(){return
 r}})},9338:function(){"trimStart"in 
String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),"trimEnd"in
 
String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),"description"in
 Symbol.prototype||Obje [...]
\ No newline at end of file
diff --git a/_next/static/chunks/818.633ee424df17c51c.js 
b/_next/static/chunks/818.633ee424df17c51c.js
new file mode 100644
index 0000000..22e40c2
--- /dev/null
+++ b/_next/static/chunks/818.633ee424df17c51c.js
@@ -0,0 +1 @@
+(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[818],{4818:function(){}}]);
\ No newline at end of file
diff --git a/_next/static/chunks/831-0103375d5ae98522.js 
b/_next/static/chunks/831-0103375d5ae98522.js
new file mode 100644
index 0000000..eb83548
--- /dev/null
+++ b/_next/static/chunks/831-0103375d5ae98522.js
@@ -0,0 +1,6 @@
+(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[831],{7905:function(e,t,n){"use
 strict";n.d(t,{Ju:function(){return u}});var 
r=n(2110),i=n(8400),o=n(3863),s=n(4435),l=e=>{var{theme:t,settings:n={},styles:r=[]}=e,i={".cm-gutters":{}},l={};n.background&&(l.backgroundColor=n.background),n.backgroundImage&&(l.backgroundImage=n.backgroundImage),n.foreground&&(l.color=n.foreground),n.fontSize&&(l.fontSize=n.fontSize),(n.background||n.foreground)&&(i["&"]=l),n.fontFamily&&(i["&.cm-edit
 [...]
+ * The buffer module from node.js, for the browser.
+ *
+ * @author   Feross Aboukhadijeh <https://feross.org>
+ * @license  MIT
+ */let r=n(6033),i=n(1531),o="function"==typeof Symbol&&"function"==typeof 
Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;function 
s(e){if(e>2147483647)throw RangeError('The value "'+e+'" is invalid for option 
"size"');let t=new Uint8Array(e);return 
Object.setPrototypeOf(t,l.prototype),t}function l(e,t,n){if("number"==typeof 
e){if("string"==typeof t)throw TypeError('The "string" argument must be of type 
string. Received type number');return u(e)}return a(e,t,n)}function a(e,t,n 
[...]
\ No newline at end of file
diff --git a/_next/static/chunks/845-22bb1106334e1970.js 
b/_next/static/chunks/845-22bb1106334e1970.js
new file mode 100644
index 0000000..572d20f
--- /dev/null
+++ b/_next/static/chunks/845-22bb1106334e1970.js
@@ -0,0 +1 @@
+"use 
strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[845],{8058:function(e,n,a){a.d(n,{DE:function(){return
 i},Eg:function(){return o},i_:function(){return t}});let 
t={basic:{name:"ACL",model:"[request_definition]\nr = sub, obj, 
act\n\n[policy_definition]\np = sub, obj, act\n\n[policy_effect]\ne = 
some(where (p.eft == allow))\n\n[matchers]\nm = r.sub == p.sub && r.obj == 
p.obj && r.act == p.act",policy:"p, alice, data1, read\np, bob, data2, 
write",request:"alice, data1,  [...]
\ No newline at end of file
diff --git a/_next/static/chunks/87-cb5fe42f37501a74.js 
b/_next/static/chunks/87-cb5fe42f37501a74.js
new file mode 100644
index 0000000..8e601b3
--- /dev/null
+++ b/_next/static/chunks/87-cb5fe42f37501a74.js
@@ -0,0 +1 @@
+"use 
strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[87],{7907:function(e,t,n){var
 r=n(5313);n.o(r,"useRouter")&&n.d(t,{useRouter:function(){return 
r.useRouter}})},9752:function(e,t,n){let r;n.d(t,{x8:function(){return 
tr},VY:function(){return te},dk:function(){return tn},aV:function(){return 
e5},h_:function(){return e4},fC:function(){return e3},Dx:function(){return 
tt},xz:function(){return e8}});var o,l,i=n(4090),u=n.t(i,2);function 
a(e,t){let{checkForDefaultPrevented:n [...]
\ No newline at end of file
diff --git a/_next/static/chunks/902-339125fe38f5d3ff.js 
b/_next/static/chunks/902-339125fe38f5d3ff.js
new file mode 100644
index 0000000..5333934
--- /dev/null
+++ b/_next/static/chunks/902-339125fe38f5d3ff.js
@@ -0,0 +1 @@
+"use 
strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[902],{7506:function(e,t,n){n.d(t,{G6:function(){return
 s}});var r=n(4435),o=n(8400);let 
a=(e,t)=>{if(e.sol()){if(t.afterEqual=!1,e.match(/[rpem]\s*=/)||e.match(/g\d*\s*=/))return
 
e.backUp(1),"builtin";if("matchers"===t.sec&&(e.match(/[rpem]\./)||e.match(/g\d*\./)))return"builtin"}if(e.match(/^\[.*?\]/))return
 
t.sec=e.current().slice(1,-1),"header";if(e.match(/#.*/))return"comment";if(e.eat("="))return
 t.afterEqual=!0,n [...]
\ No newline at end of file
diff --git a/_next/static/chunks/924-753a533cce5fe727.js 
b/_next/static/chunks/924-753a533cce5fe727.js
new file mode 100644
index 0000000..378489d
--- /dev/null
+++ b/_next/static/chunks/924-753a533cce5fe727.js
@@ -0,0 +1 @@
+"use 
strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[924],{7033:function(t,e,n){n.d(e,{Lz:function(){return
 C}});var O=n(2623),r=n(9079);class 
i{toString(){return"[".concat(this.stack.filter((t,e)=>e%3==0).concat(this.state),"]@").concat(this.pos).concat(this.score?"!"+this.score:"")}static
 start(t,e){let n=arguments.length>2&&void 
0!==arguments[2]?arguments[2]:0,O=t.parser.context;return new 
i(t,[],e,n,n,0,[],0,O?new a(O,O.start):null,0,null)}get context(){return this.c 
[...]
\ No newline at end of file
diff --git a/_next/static/chunks/925-2211fa94a0e33b43.js 
b/_next/static/chunks/925-2211fa94a0e33b43.js
new file mode 100644
index 0000000..aa9bb74
--- /dev/null
+++ b/_next/static/chunks/925-2211fa94a0e33b43.js
@@ -0,0 +1,16 @@
+"use 
strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[925],{6674:function(e,t,r){r.d(t,{Ry:function(){return
 u}});var n=new WeakMap,o=new WeakMap,i={},l=0,a=function(e){return 
e&&(e.host||a(e.parentNode))},s=function(e,t,r,s){var 
u=(Array.isArray(e)?e:[e]).map(function(e){if(t.contains(e))return e;var 
r=a(e);return r&&t.contains(r)?r:(console.error("aria-hidden",e,"in not 
contained inside",t,". Doing 
nothing"),null)}).filter(function(e){return!!e});i[r]||(i[r]=new WeakMap [...]
+ * @license lucide-react v0.473.0 - ISC
+ *
+ * This source code is licensed under the ISC license.
+ * See the LICENSE file in the root directory of this source tree.
+ */let 
o=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),i=function(){for(var 
e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return 
t.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim()};/**
+ * @license lucide-react v0.473.0 - ISC
+ *
+ * This source code is licensed under the ISC license.
+ * See the LICENSE file in the root directory of this source tree.
+ */var l={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 
24 
24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/**
+ * @license lucide-react v0.473.0 - ISC
+ *
+ * This source code is licensed under the ISC license.
+ * See the LICENSE file in the root directory of this source tree.
+ */let 
a=(0,n.forwardRef)((e,t)=>{let{color:r="currentColor",size:o=24,strokeWidth:a=2,absoluteStrokeWidth:s,className:u="",children:c,iconNode:d,...f}=e;return(0,n.createElement)("svg",{ref:t,...l,width:o,height:o,stroke:r,strokeWidth:s?24*Number(a)/Number(o):a,className:i("lucide",u),...f},[...d.map(e=>{let[t,r]=e;return(0,n.createElement)(t,r)}),...Array.isArray(c)?c:[c]])}),s=(e,t)=>{let
 
r=(0,n.forwardRef)((r,l)=>{let{className:s,...u}=r;return(0,n.createElement)(a,{ref:l,iconNode:t,
 [...]
\ No newline at end of file
diff --git a/_next/static/chunks/app/_not-found-eeb7482f7cb070c8.js 
b/_next/static/chunks/app/_not-found-eeb7482f7cb070c8.js
new file mode 100644
index 0000000..7addf71
--- /dev/null
+++ b/_next/static/chunks/app/_not-found-eeb7482f7cb070c8.js
@@ -0,0 +1 @@
+(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[165],{3155:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/_not-found",function(){return
 n(4032)}])},4032:function(e,t,n){"use 
strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return
 i}}),n(6921);let o=n(3827);n(4090);let r={error:{fontFamily:'system-ui,"Segoe 
UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI 
Emoji"',height:"100v [...]
\ No newline at end of file
diff --git a/_next/static/chunks/app/gallery/page-9c126973d02590d2.js 
b/_next/static/chunks/app/gallery/page-9c126973d02590d2.js
new file mode 100644
index 0000000..a7f2e86
--- /dev/null
+++ b/_next/static/chunks/app/gallery/page-9c126973d02590d2.js
@@ -0,0 +1 @@
+(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[928],{6492:function(e,s,t){Promise.resolve().then(t.bind(t,6468))},6468:function(e,s,t){"use
 strict";t.r(s),t.d(s,{default:function(){return B}});var 
r=t(3827),a=t(4090),i=t(7907),o=t(3167),l=t(711),n=t(8102),c=t(7267),d=t(7901),m=t(3435);let
 p=[{key:"basic",name:"ACL",description:"Access Control List (ACL) model for 
basic permission management.",category:"ACL"},{key:"basic_with_root",name:"ACL 
with superuser",description:"ACL mode [...]
\ No newline at end of file
diff --git a/_next/static/chunks/app/layout-41a762433fb6a056.js 
b/_next/static/chunks/app/layout-41a762433fb6a056.js
new file mode 100644
index 0000000..ac39513
--- /dev/null
+++ b/_next/static/chunks/app/layout-41a762433fb6a056.js
@@ -0,0 +1 @@
+(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[185],{9293:function(e,t,r){Promise.resolve().then(r.bind(r,7780)),Promise.resolve().then(r.bind(r,3435)),Promise.resolve().then(r.t.bind(r,2445,23))},7780:function(e,t,r){"use
 strict";r.r(t),r.d(t,{AutoCarouselProvider:function(){return 
l},useAutoCarousel:function(){return a}});var o=r(3827),n=r(4090);let 
u=(0,n.createContext)(void 
0),l=e=>{let{children:t}=e,[r,l]=(0,n.useState)(()=>{try{let 
e=localStorage.getItem("autoCarouselEnab [...]
\ No newline at end of file
diff --git a/_next/static/chunks/app/model-editor/layout-270a9c8d316f7fd7.js 
b/_next/static/chunks/app/model-editor/layout-270a9c8d316f7fd7.js
new file mode 100644
index 0000000..fb778ee
--- /dev/null
+++ b/_next/static/chunks/app/model-editor/layout-270a9c8d316f7fd7.js
@@ -0,0 +1 @@
+(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[479],{1277:function(n,e,r){Promise.resolve().then(r.bind(r,8387))},8387:function(n,e,r){"use
 strict";r.r(e),r.d(e,{default:function(){return i}});var t=r(3827);r(4090);var 
u=r(3435);function 
i(n){let{children:e}=n;return(0,t.jsx)(u.LangProvider,{children:e})}}},function(n){n.O(0,[435,971,69,744],function(){return
 n(n.s=1277)}),_N_E=n.O()}]);
\ No newline at end of file
diff --git a/_next/static/chunks/app/model-editor/page-1664894e2634c171.js 
b/_next/static/chunks/app/model-editor/page-1664894e2634c171.js
new file mode 100644
index 0000000..b29fb5e
--- /dev/null
+++ b/_next/static/chunks/app/model-editor/page-1664894e2634c171.js
@@ -0,0 +1 @@
+(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[340],{722:function(e,t,a){Promise.resolve().then(a.bind(a,9114))},9114:function(e,t,a){"use
 strict";a.r(t),a.d(t,{default:function(){return k}});var 
s=a(3827),l=a(4090),n=a(3167),d=a(5758),r=a(7192),o=a(7905),i=a(6287),u=a(4435),c=a(3863),f=a(1590),m=a(7506),g=a(8058),p=a(321),x=a(4026),h=a(2367),w=a(5398),b=a(2525),v=a(8315),y=a(3435);let
 
M=e=>{let{isIframeMode:t=!1,modelText:a,onModelTextChange:M}=e,[k,T]=(0,l.useState)(a||""),[N
 [...]
\ No newline at end of file
diff --git a/_next/static/chunks/app/page-8beb458ed7b8e8c2.js 
b/_next/static/chunks/app/page-8beb458ed7b8e8c2.js
new file mode 100644
index 0000000..68e8acd
--- /dev/null
+++ b/_next/static/chunks/app/page-8beb458ed7b8e8c2.js
@@ -0,0 +1 @@
+(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[931],{2601:function(e,t,r){Promise.resolve().then(r.bind(r,7195))},7748:function(e,t,r){"use
 strict";r.d(t,{u:function(){return u}});var 
n=r(3827),a=r(4090),s=r(3167),i=r(9628),o=r(8107),l=r(7694),c=r(5232),d=r(2505);let
 
u=e=>{let{addNewFunction:t,addMatchingFunction:r,addMatchingDomainFunction:u,hasMatchingFunction:h,t:m}=e,g=(0,a.useRef)(null),[f,x]=(0,a.useState)(!1);(0,a.useEffect)(()=>{let
 e=g.current;if(!e)return;let t=()=>{x [...]
\ No newline at end of file
diff --git a/_next/static/chunks/fd9d1056-4fd3c25de1287369.js 
b/_next/static/chunks/fd9d1056-4fd3c25de1287369.js
new file mode 100644
index 0000000..2a1c91c
--- /dev/null
+++ b/_next/static/chunks/fd9d1056-4fd3c25de1287369.js
@@ -0,0 +1 @@
+"use 
strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[971],{8790:function(e,t,n){var
 
r,l=n(4090),a=n(8172),o={usingClientEntryPoint:!1,Events:null,Dispatcher:{current:null}};function
 i(e){for(var 
t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified
 React error #"+e+"; visit "+t+" for the full message or use the non-minified 
dev environment for full errors and additional helpf [...]
\ No newline at end of file
diff --git a/_next/static/chunks/framework-f66176bb897dc684.js 
b/_next/static/chunks/framework-f66176bb897dc684.js
new file mode 100644
index 0000000..5a9a9d0
--- /dev/null
+++ b/_next/static/chunks/framework-f66176bb897dc684.js
@@ -0,0 +1,33 @@
+"use 
strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[774],{4448:function(e,n,t){/**
+ * @license React
+ * react-dom.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */var r,l,a,u,o,i,s=t(7294),c=t(3840);function f(e){for(var 
n="https://reactjs.org/docs/error-decoder.html?invariant="+e,t=1;t<arguments.length;t++)n+="&args[]="+encodeURIComponent(arguments[t]);return"Minified
 React error #"+e+"; visit "+n+" for the full message or use the non-minified 
dev environment for full errors and additional helpful warnings."}var d=new 
Set,p={};function m(e,n){h(e,n),h(e+"Capture",n)}function 
h(e,n){for(p[e]=n,e=0;e<n.length;e++)d.add(n[e])}var g=!("undefined"= [...]
+ * @license React
+ * react-jsx-runtime.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */var 
r=t(7294),l=Symbol.for("react.element"),a=Symbol.for("react.fragment"),u=Object.prototype.hasOwnProperty,o=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};function
 s(e,n,t){var r,a={},s=null,c=null;for(r in void 0!==t&&(s=""+t),void 
0!==n.key&&(s=""+n.key),void 
0!==n.ref&&(c=n.ref),n)u.call(n,r)&&!i.hasOwnProperty(r)&&(a[r]=n[r]);if(e&&e.defaultProps)for(r
 in n=e.defaultProps)void 0===a[r]&&(a[r]=n[r]);return{$$typeof: [...]
+ * @license React
+ * react.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */var 
t=Symbol.for("react.element"),r=Symbol.for("react.portal"),l=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),u=Symbol.for("react.profiler"),o=Symbol.for("react.provider"),i=Symbol.for("react.context"),s=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),f=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),p=Symbol.iterator,m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=O
 [...]
+ * @license React
+ * scheduler.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */function t(e,n){var t=e.length;for(e.push(n);0<t;){var 
r=t-1>>>1,l=e[r];if(0<a(l,n))e[r]=n,e[t]=l,t=r;else break}}function r(e){return 
0===e.length?null:e[0]}function l(e){if(0===e.length)return null;var 
n=e[0],t=e.pop();if(t!==n){e[0]=t;for(var r=0,l=e.length,u=l>>>1;r<u;){var 
o=2*(r+1)-1,i=e[o],s=o+1,c=e[s];if(0>a(i,t))s<l&&0>a(c,i)?(e[r]=c,e[s]=t,r=s):(e[r]=i,e[o]=t,r=o);else
 if(s<l&&0>a(c,t))e[r]=c,e[s]=t,r=s;else break}}return n}function a(e,n){var 
t=e.sortIndex-n.sortIndex;retur [...]
\ No newline at end of file
diff --git a/_next/static/chunks/main-2a2ff2743a8d5c80.js 
b/_next/static/chunks/main-2a2ff2743a8d5c80.js
new file mode 100644
index 0000000..06418ef
--- /dev/null
+++ b/_next/static/chunks/main-2a2ff2743a8d5c80.js
@@ -0,0 +1 @@
+(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[179],{4878:function(e,t){"use
 strict";function 
r(){return""}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDeploymentIdQueryOrEmptyString",{enumerable:!0,get:function(){return
 r}})},37:function(){"trimStart"in 
String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),"trimEnd"in
 
String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),"description"in
 Symbol.prototype||Obje [...]
\ No newline at end of file
diff --git a/_next/static/chunks/main-app-212b65fd684e79ca.js 
b/_next/static/chunks/main-app-212b65fd684e79ca.js
new file mode 100644
index 0000000..2b97099
--- /dev/null
+++ b/_next/static/chunks/main-app-212b65fd684e79ca.js
@@ -0,0 +1 @@
+(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[744],{2500:function(e,n,t){Promise.resolve().then(t.t.bind(t,7690,23)),Promise.resolve().then(t.t.bind(t,8955,23)),Promise.resolve().then(t.t.bind(t,5613,23)),Promise.resolve().then(t.t.bind(t,1902,23)),Promise.resolve().then(t.t.bind(t,1778,23)),Promise.resolve().then(t.t.bind(t,7831,23))}},function(e){var
 n=function(n){return e(e.s=n)};e.O(0,[971,69],function(){return 
n(5317),n(2500)}),_N_E=e.O()}]);
\ No newline at end of file
diff --git a/_next/static/chunks/pages/_app-75f6107b0260711c.js 
b/_next/static/chunks/pages/_app-75f6107b0260711c.js
new file mode 100644
index 0000000..1e77b80
--- /dev/null
+++ b/_next/static/chunks/pages/_app-75f6107b0260711c.js
@@ -0,0 +1 @@
+(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[888],{1597:function(n,_,u){(window.__NEXT_P=window.__NEXT_P||[]).push(["/_app",function(){return
 u(7174)}])}},function(n){var _=function(_){return 
n(n.s=_)};n.O(0,[774,179],function(){return _(1597),_(4546)}),_N_E=n.O()}]);
\ No newline at end of file
diff --git a/_next/static/chunks/pages/_error-9a890acb1e81c3fc.js 
b/_next/static/chunks/pages/_error-9a890acb1e81c3fc.js
new file mode 100644
index 0000000..f863013
--- /dev/null
+++ b/_next/static/chunks/pages/_error-9a890acb1e81c3fc.js
@@ -0,0 +1 @@
+(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[820],{1981:function(n,_,u){(window.__NEXT_P=window.__NEXT_P||[]).push(["/_error",function(){return
 u(5103)}])}},function(n){n.O(0,[888,774,179],function(){return 
n(n.s=1981)}),_N_E=n.O()}]);
\ No newline at end of file
diff --git a/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js 
b/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js
new file mode 100644
index 0000000..3858b79
--- /dev/null
+++ b/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js
@@ -0,0 +1 @@
+!function(){var t="undefined"!=typeof 
globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof 
global?global:"undefined"!=typeof self?self:{};function e(t){var 
e={exports:{}};return t(e,e.exports),e.exports}var r=function(t){return 
t&&t.Math==Math&&t},n=r("object"==typeof 
globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof 
self&&self)||r("object"==typeof t&&t)||Function("return 
this")(),o=function(t){try{return!!t()}catch(t){return!0}},i=!o( [...]
᠎"!="​…
᠎"[t]()||hn[t].name!==t})},Tu=yn.start,ku=Iu("trimStart"),Lu=ku?function(){return
 
Tu(this)}:"".trimStart;Lt({target:"String",proto:!0,forced:ku},{trimStart:Lu,trimLeft:Lu}),re("String","trimLeft");var
 Uu=yn.end,Mu=Iu("trimEnd"),_u=Mu?function(){return 
Uu(this)}:"".trimEnd;Lt({target:"String",proto:!0,forced:Mu},{trimEnd:_u,trimRight:_u}),re("String","trimRight");var
 Nu=qt("iterator"),Cu=!o(function(){var t=new 
URL("b?a=1&b=2&c=3","http://a";),e=t.searchParams,r="";return t.pathname="c%20d" 
[...]
diff --git a/_next/static/chunks/webpack-45b294c148598aaf.js 
b/_next/static/chunks/webpack-45b294c148598aaf.js
new file mode 100644
index 0000000..1ece69e
--- /dev/null
+++ b/_next/static/chunks/webpack-45b294c148598aaf.js
@@ -0,0 +1 @@
+!function(){"use strict";var e,t,n,r,o,u,i,c,f,a={},l={};function s(e){var 
t=l[e];if(void 0!==t)return t.exports;var 
n=l[e]={exports:{}},r=!0;try{a[e](n,n.exports,s),r=!1}finally{r&&delete 
l[e]}return n.exports}s.m=a,e=[],s.O=function(t,n,r,o){if(n){o=o||0;for(var 
u=e.length;u>0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[n,r,o];return}for(var 
i=1/0,u=0;u<e.length;u++){for(var 
n=e[u][0],r=e[u][1],o=e[u][2],c=!0,f=0;f<n.length;f++)i>=o&&Object.keys(s.O).every(function(e){return
 s.O[e](n[f])})?n.sp [...]
\ No newline at end of file
diff --git a/_next/static/css/8c83a335c8b855fd.css 
b/_next/static/css/8c83a335c8b855fd.css
new file mode 100644
index 0000000..2dfbb70
--- /dev/null
+++ b/_next/static/css/8c83a335c8b855fd.css
@@ -0,0 +1,3 @@
+/*
+! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com
+*/*,:after,:before{box-sizing:border-box;border:0 solid 
#e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple
 Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color 
Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:
 [...]
\ No newline at end of file
diff --git a/compareEngines.svg b/compareEngines.svg
new file mode 100644
index 0000000..59479f2
--- /dev/null
+++ b/compareEngines.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg"; viewBox="0 0 1024 1024">
+  <path  fill="currentColor" d="M116.364 
837.818h279.272v93.091H23.273V93.091h372.363v93.09H116.364v651.637z 
+    m512 0h93.09v93.091h-93.09v-93.09z m139.636 0h93.09v93.091H768v-93.09z 
+    m139.636 93.091v-93.09h93.091v93.09h-93.09z 
m0-325.818V512h93.091v93.09h-93.09z 
+    m0 139.636v-93.09h93.091v93.09h-93.09z 
m0-279.272v-93.091h93.091v93.09h-93.09z 
+    m0-139.637v-93.09h93.091v93.09h-93.09z 
m0-139.636V93.09h93.091v93.09h-93.09z 
+    m-46.545 0H768V93.09h93.09v93.09z m-139.636 0h-93.091V93.09h93.09v93.09z 
+    M488.727 0h93.091v1024h-93.09V0z" />
+</svg>
diff --git a/discord.svg b/discord.svg
new file mode 100644
index 0000000..79d78a4
--- /dev/null
+++ b/discord.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg"; viewBox="0 0 127.14 96.36">
+  <path fill="currentColor" 
d="M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1A105.25,105.25,0,0,0,126.6,80.22h0C129.24,52.84,122.09,29.11,107.7
 [...]
+</svg>
diff --git a/favicon.png b/favicon.png
new file mode 100644
index 0000000..9c0b156
Binary files /dev/null and b/favicon.png differ
diff --git a/gallery.html b/gallery.html
new file mode 100644
index 0000000..d38526b
--- /dev/null
+++ b/gallery.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta 
name="viewport" content="width=device-width, initial-scale=1"/><link 
rel="stylesheet" href="./_next/static/css/8c83a335c8b855fd.css" crossorigin="" 
data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" 
href="./_next/static/chunks/webpack-45b294c148598aaf.js" 
crossorigin=""/><script 
src="./_next/static/chunks/fd9d1056-4fd3c25de1287369.js" async="" 
crossorigin=""></script><script src="./_next/static/chu [...]
\ No newline at end of file
diff --git a/gallery.txt b/gallery.txt
new file mode 100644
index 0000000..79c6239
--- /dev/null
+++ b/gallery.txt
@@ -0,0 +1,9 @@
+2:I[7831,[],""]
+3:I[6468,["925","static/chunks/925-2211fa94a0e33b43.js","87","static/chunks/87-cb5fe42f37501a74.js","435","static/chunks/435-538b693b5d2afecd.js","845","static/chunks/845-22bb1106334e1970.js","928","static/chunks/app/gallery/page-9c126973d02590d2.js"],""]
+4:I[5613,[],""]
+5:I[1778,[],""]
+6:I[3435,["435","static/chunks/435-538b693b5d2afecd.js","185","static/chunks/app/layout-41a762433fb6a056.js"],"LangProvider"]
+7:I[7780,["435","static/chunks/435-538b693b5d2afecd.js","185","static/chunks/app/layout-41a762433fb6a056.js"],"AutoCarouselProvider"]
+0:["NyIaUpIUT38V_LRYN-Ny2",[[["",{"children":["gallery",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["gallery",{"children":["__PAGE__",{},["$L1",["$","$L2",null,{"propsForComponent":{"params":{}},"Component":"$3","isStaticGeneration":true}],null]]},["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","gallery","children"],"loading":"$undefined","loadingStyles":"$undefined","loadingScripts":"$undefined","hasLoading":false,"error":"$u
 [...]
+8:[["$","meta","0",{"name":"viewport","content":"width=device-width, 
initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Casbin
 Policy Editor"}],["$","meta","3",{"name":"description","content":"web 
playground for 
casbin"}],["$","link","4",{"rel":"icon","href":"/icon.png?a7e5a600593cf6ec","type":"image/png","sizes":"200x200"}]]
+1:null
diff --git a/github.svg b/github.svg
new file mode 100644
index 0000000..538ec5b
--- /dev/null
+++ b/github.svg
@@ -0,0 +1 @@
+<svg role="img" viewBox="0 0 24 24" 
xmlns="http://www.w3.org/2000/svg";><title>GitHub</title><path d="M12 .297c-6.63 
0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 
0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 
17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 
1.07 1.835 2.809 1.305 
3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 
0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176  [...]
\ No newline at end of file
diff --git a/icon.png b/icon.png
new file mode 100644
index 0000000..9c0b156
Binary files /dev/null and b/icon.png differ
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..62309b2
--- /dev/null
+++ b/index.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta 
name="viewport" content="width=device-width, initial-scale=1"/><link 
rel="stylesheet" href="./_next/static/css/8c83a335c8b855fd.css" crossorigin="" 
data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" 
href="./_next/static/chunks/webpack-45b294c148598aaf.js" 
crossorigin=""/><script 
src="./_next/static/chunks/fd9d1056-4fd3c25de1287369.js" async="" 
crossorigin=""></script><script src="./_next/static/chu [...]
\ No newline at end of file
diff --git a/index.txt b/index.txt
new file mode 100644
index 0000000..0aa5abc
--- /dev/null
+++ b/index.txt
@@ -0,0 +1,9 @@
+2:I[7831,[],""]
+3:I[7195,["401","static/chunks/363642f4-8c15ce5fe7096de7.js","925","static/chunks/925-2211fa94a0e33b43.js","831","static/chunks/831-0103375d5ae98522.js","924","static/chunks/924-753a533cce5fe727.js","435","static/chunks/435-538b693b5d2afecd.js","845","static/chunks/845-22bb1106334e1970.js","902","static/chunks/902-339125fe38f5d3ff.js","931","static/chunks/app/page-8beb458ed7b8e8c2.js"],""]
+4:I[3435,["435","static/chunks/435-538b693b5d2afecd.js","185","static/chunks/app/layout-41a762433fb6a056.js"],"LangProvider"]
+5:I[7780,["435","static/chunks/435-538b693b5d2afecd.js","185","static/chunks/app/layout-41a762433fb6a056.js"],"AutoCarouselProvider"]
+6:I[5613,[],""]
+7:I[1778,[],""]
+0:["NyIaUpIUT38V_LRYN-Ny2",[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",{"children":["__PAGE__",{},["$L1",["$","$L2",null,{"propsForComponent":{"params":{}},"Component":"$3","isStaticGeneration":true}],null]]},[null,["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L4",null,{"children":["$","$L5",null,{"children":["$","$L6",null,{"parallelRouterKey":"children","segmentPath":["children"],"loading":"$undefined","loadingStyles":"$undefine
 [...]
+8:[["$","meta","0",{"name":"viewport","content":"width=device-width, 
initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Casbin
 Policy Editor"}],["$","meta","3",{"name":"description","content":"web 
playground for 
casbin"}],["$","link","4",{"rel":"icon","href":"/icon.png?a7e5a600593cf6ec","type":"image/png","sizes":"200x200"}]]
+1:null
diff --git a/model-editor.html b/model-editor.html
new file mode 100644
index 0000000..447de1b
--- /dev/null
+++ b/model-editor.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta 
name="viewport" content="width=device-width, initial-scale=1"/><link 
rel="stylesheet" href="./_next/static/css/8c83a335c8b855fd.css" crossorigin="" 
data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" 
href="./_next/static/chunks/webpack-45b294c148598aaf.js" 
crossorigin=""/><script 
src="./_next/static/chunks/fd9d1056-4fd3c25de1287369.js" async="" 
crossorigin=""></script><script src="./_next/static/chu [...]
\ No newline at end of file
diff --git a/model-editor.txt b/model-editor.txt
new file mode 100644
index 0000000..6eba154
--- /dev/null
+++ b/model-editor.txt
@@ -0,0 +1,11 @@
+2:I[7831,[],""]
+3:I[9114,["401","static/chunks/363642f4-8c15ce5fe7096de7.js","925","static/chunks/925-2211fa94a0e33b43.js","831","static/chunks/831-0103375d5ae98522.js","435","static/chunks/435-538b693b5d2afecd.js","845","static/chunks/845-22bb1106334e1970.js","902","static/chunks/902-339125fe38f5d3ff.js","340","static/chunks/app/model-editor/page-1664894e2634c171.js"],""]
+4:I[8387,["435","static/chunks/435-538b693b5d2afecd.js","479","static/chunks/app/model-editor/layout-270a9c8d316f7fd7.js"],""]
+5:I[5613,[],""]
+6:I[1778,[],""]
+8:I[3435,["435","static/chunks/435-538b693b5d2afecd.js","185","static/chunks/app/layout-41a762433fb6a056.js"],"LangProvider"]
+9:I[7780,["435","static/chunks/435-538b693b5d2afecd.js","185","static/chunks/app/layout-41a762433fb6a056.js"],"AutoCarouselProvider"]
+7:{}
+0:["NyIaUpIUT38V_LRYN-Ny2",[[["",{"children":["model-editor",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["model-editor",{"children":["__PAGE__",{},["$L1",["$","$L2",null,{"propsForComponent":{"params":{}},"Component":"$3","isStaticGeneration":true}],null]]},[null,["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","segmentPath":["children","model-editor","children"],"loading":"$undefined","loadingStyles":"$undefined","loadingScr
 [...]
+a:[["$","meta","0",{"name":"viewport","content":"width=device-width, 
initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Casbin
 Policy Editor"}],["$","meta","3",{"name":"description","content":"web 
playground for 
casbin"}],["$","link","4",{"rel":"icon","href":"/icon.png?a7e5a600593cf6ec","type":"image/png","sizes":"200x200"}]]
+1:null
diff --git a/modelGallery.svg b/modelGallery.svg
new file mode 100644
index 0000000..d2fb985
--- /dev/null
+++ b/modelGallery.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg"; viewBox="0 0 24 24" 
stroke="currentColor" stroke-width="2" stroke-linecap="round" 
stroke-linejoin="round">
+  <path  fill="currentColor" d="M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 
2H6a2 2 0 01-2-2V6z M14 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 
01-2-2V6z M4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2z M14 
16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z"/>
+</svg>
\ No newline at end of file
diff --git a/moon.svg b/moon.svg
new file mode 100644
index 0000000..60f9a32
--- /dev/null
+++ b/moon.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 
1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd";><svg 
t="1721642830472" class="icon" viewBox="0 0 1024 1024" version="1.1" 
xmlns="http://www.w3.org/2000/svg"; p-id="6011" 
xmlns:xlink="http://www.w3.org/1999/xlink"; width="64" height="64"><path 
d="M530.432 945.3568A434.176 434.176 0 0 1 491.52 78.6432a40.96 40.96 0 0 1 
26.0096 70.8608 261.7344 261.7344 0 0 0-83.5584 192.3072 266.24 266.24 0 0 0 
266.24 266. [...]
\ No newline at end of file
diff --git a/openai.svg b/openai.svg
new file mode 100644
index 0000000..964273d
--- /dev/null
+++ b/openai.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 
1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd";><svg 
t="1719231641704" class="icon" viewBox="0 0 1024 1024" version="1.1" 
xmlns="http://www.w3.org/2000/svg"; p-id="1645" 
xmlns:xlink="http://www.w3.org/1999/xlink"; width="200" height="200"><path 
d="M939.795692 421.415385a248.832 248.832 0 0 0-21.385846-204.386462 251.667692 
251.667692 0 0 0-271.064615-120.753231 248.832 248.832 0 0 
0-187.687385-83.672615  [...]
\ No newline at end of file
diff --git a/sun.svg b/sun.svg
new file mode 100644
index 0000000..8e0fb61
--- /dev/null
+++ b/sun.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 
1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd";><svg 
t="1721642236270" class="icon" viewBox="0 0 1024 1024" version="1.1" 
xmlns="http://www.w3.org/2000/svg"; p-id="4422" width="200" height="200" 
xmlns:xlink="http://www.w3.org/1999/xlink";><path d="M512.000213 
733.353497c-122.06857 0-221.353283-99.284713-221.353283-221.353284S389.931643 
290.64693 512.000213 290.64693 733.353497 389.931643 733.353497 512.0 [...]
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Reply via email to