"use strict";
(() => {
var exports = {};
exports.id = 1620;
exports.ids = [1620,7206];
exports.modules = {

/***/ 709037:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({"src":"/_next/static/media/x11-01.4f53f163.png","height":958,"width":1378,"blurDataURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAMAAABPT11nAAAAIVBMVEXj4uH6+/r49ffx8fDb29r///++7eHg8em5xtGzrs2In8DY3GWdAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAJ0lEQVQImR3Gtw0AIAADsFTa/wcj8GQgK/gSmxRkUCpRp/vwBZpDugjwAHSj0GXIAAAAAElFTkSuQmCC"});

/***/ }),

/***/ 953948:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({"src":"/_next/static/media/x11-logo.e0714f77.svg","height":450,"width":490});

/***/ }),

/***/ 683068:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Z": () => (/* binding */ Code)
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(920997);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(545725);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(antd__WEBPACK_IMPORTED_MODULE_1__);


const { Text  } = antd__WEBPACK_IMPORTED_MODULE_1__.Typography;
function Code({ children , style  }) {
    return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(Text, {
        code: true,
        style: style,
        children: children
    });
};


/***/ }),

/***/ 59737:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Z": () => (/* binding */ Info)
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(920997);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(545725);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(antd__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _cocalc_frontend_components_icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(807772);
/* harmony import */ var _cocalc_frontend_components_icon__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_cocalc_frontend_components_icon__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(534100);
/* harmony import */ var _image__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(77595);
/* harmony import */ var lib_config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(78082);






const showcase = {
    width: "100%",
    boxShadow: "2px 2px 4px rgb(0 0 0 / 25%), 0 2px 4px rgb(0 0 0 / 22%)",
    borderRadius: "3px"
};
function Info(props) {
    const { anchor , icon , title , image , alt , video , caption , children , wide , swapCols , textStyleExtra ,  } = props;
    const head = /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("h1", {
        id: anchor,
        style: {
            textAlign: "center",
            marginBottom: "20px",
            color: "#333"
        },
        children: [
            icon && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("span", {
                style: {
                    fontSize: "24pt",
                    marginRight: "5px"
                },
                children: [
                    /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_cocalc_frontend_components_icon__WEBPACK_IMPORTED_MODULE_2__.Icon, {
                        name: icon
                    }),
                    " "
                ]
            }),
            title
        ]
    });
    let graphic = null;
    if (image != null) {
        graphic = /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_image__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
            style: showcase,
            src: image,
            alt: alt ?? caption
        });
    } else if (video != null) {
        const videoSrcs = typeof video == "string" ? [
            video
        ] : video;
        verifyHasMp4(videoSrcs);
        graphic = /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
            style: {
                position: "relative",
                width: "100%"
            },
            children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("video", {
                style: showcase,
                loop: true,
                controls: true,
                children: sources(videoSrcs)
            })
        });
    }
    if (graphic != null && caption != null) {
        graphic = /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
            children: [
                graphic,
                /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("br", {}),
                /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("br", {}),
                /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
                    style: {
                        textAlign: "center",
                        color: "#666",
                        fontSize: "13pt"
                    },
                    children: caption
                })
            ]
        });
    }
    if (!graphic) {
        const noGraphicTextStyle = {
            background: "#fafafa",
            padding: "20px",
            marginBottom: "15px"
        };
        if (textStyleExtra != null) {
            // if textColStyleExtra is given, then merge it into noGraphicTextStyle.
            Object.assign(noGraphicTextStyle, textStyleExtra);
        }
        return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
            style: {
                width: "100%"
            },
            children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
                style: {
                    maxWidth: lib_config__WEBPACK_IMPORTED_MODULE_5__/* .MAX_WIDTH */ .d,
                    margin: "0 auto"
                },
                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                    style: noGraphicTextStyle,
                    children: [
                        /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
                            style: {
                                textAlign: "center"
                            },
                            children: head
                        }),
                        /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
                            style: {
                                margin: "auto",
                                maxWidth: wide ? "600px" : undefined
                            },
                            children: children
                        })
                    ]
                })
            })
        });
    }
    const textColStyle = {
        border: "1px solid white",
        borderRadius: "5px",
        padding: "0 20px 0 20px",
        marginBottom: "15px",
        display: "flex",
        justifyContent: "start",
        alignContent: "start",
        flexDirection: "column",
        fontSize: "12pt"
    };
    if (textStyleExtra != null) {
        // if textColStyleExtra is given, then merge it into textColStyle.
        Object.assign(textColStyle, textStyleExtra);
    }
    const textCol = /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(antd__WEBPACK_IMPORTED_MODULE_1__.Col, {
        lg: wide ? 7 : 9,
        style: textColStyle,
        children: children
    }, "text");
    const graphicCol = /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(antd__WEBPACK_IMPORTED_MODULE_1__.Col, {
        lg: wide ? 17 : 15,
        style: {
            padding: "0 30px",
            width: "100%"
        },
        children: graphic
    }, "graphics");
    const cols = swapCols ? [
        textCol,
        graphicCol
    ] : [
        graphicCol,
        textCol
    ];
    return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
        style: {
            padding: "60px 5%",
            background: "white",
            fontSize: "11pt"
        },
        children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
            children: [
                head,
                /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(antd__WEBPACK_IMPORTED_MODULE_1__.Row, {
                    children: cols
                })
            ]
        })
    });
};
function sources(video) {
    const v = [];
    for (const x of video){
        v.push(/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("source", {
            src: (0,_util__WEBPACK_IMPORTED_MODULE_3__/* .MediaURL */ .c)(x)
        }, x));
    }
    return v;
}
function verifyHasMp4(video) {
    for (const x of video){
        if (x.endsWith(".mp4")) {
            return;
        }
    }
    console.warn("include mp4 format for the video, so that it is viewable on iOS!!", video);
}
Info.Heading = ({ children , description , style  })=>{
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
        style: {
            ...{
                textAlign: "center",
                margin: "40px"
            },
            ...style
        },
        children: [
            /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h1", {
                style: {
                    fontSize: "400%",
                    color: "#444"
                },
                children: children
            }),
            /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
                style: {
                    fontSize: "13pt",
                    color: "#666"
                },
                children: description
            })
        ]
    });
};


/***/ }),

/***/ 252181:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Z": () => (/* binding */ Pitch)
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(920997);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(545725);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(antd__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var components_misc_A__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(617637);
/* harmony import */ var _code__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(683068);




function Pitch({ col1 , col2 , ext  }) {
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
        style: {
            padding: "30px 10%",
            backgroundColor: "white",
            fontSize: "11pt"
        },
        children: [
            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_1__.Row, {
                children: [
                    /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(antd__WEBPACK_IMPORTED_MODULE_1__.Col, {
                        lg: 12,
                        style: {
                            paddingRight: "20px"
                        },
                        children: col1
                    }),
                    /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(antd__WEBPACK_IMPORTED_MODULE_1__.Col, {
                        lg: 12,
                        children: col2
                    })
                ]
            }),
            ext && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(CallToAction, {
                ext: ext
            })
        ]
    });
};
function CallToAction({ ext  }) {
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
        style: {
            textAlign: "center",
            padding: "30px 0",
            fontSize: "14pt"
        },
        children: [
            /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("strong", {
                children: "Ready out of the box"
            }),
            ":",
            " ",
            /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(components_misc_A__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
                href: "https://doc.cocalc.com/getting-started.html",
                children: "Sign up, create a project"
            }),
            ", create or ",
            /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(components_misc_A__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
                href: "https://doc.cocalc.com/howto/upload.html",
                children: "upload"
            }),
            " ",
            "your ",
            ext && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_code__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
                children: [
                    "*.",
                    ext
                ]
            }),
            " file, and you're ready to go!"
        ]
    });
}


/***/ }),

/***/ 78082:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "d": () => (/* binding */ MAX_WIDTH),
/* harmony export */   "r": () => (/* binding */ SHARE_MAX_WIDTH)
/* harmony export */ });
/*
Constants and other configuration that impact the overall
look of all of the pages.
*/ const MAX_WIDTH = "900px";
const SHARE_MAX_WIDTH = "1100px";


/***/ }),

/***/ 402242:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "default": () => (/* binding */ X11),
  "getServerSideProps": () => (/* binding */ getServerSideProps)
});

// EXTERNAL MODULE: external "react/jsx-runtime"
var jsx_runtime_ = __webpack_require__(920997);
// EXTERNAL MODULE: external "antd"
var external_antd_ = __webpack_require__(545725);
// EXTERNAL MODULE: ./components/landing/footer.tsx + 1 modules
var footer = __webpack_require__(920691);
// EXTERNAL MODULE: ./components/landing/header.tsx + 2 modules
var header = __webpack_require__(113680);
// EXTERNAL MODULE: ./components/landing/content.tsx
var content = __webpack_require__(113684);
// EXTERNAL MODULE: ./lib/with-customize.ts
var with_customize = __webpack_require__(422638);
// EXTERNAL MODULE: ./lib/customize.ts
var lib_customize = __webpack_require__(481617);
// EXTERNAL MODULE: ./components/landing/sign-in.tsx
var sign_in = __webpack_require__(39646);
// EXTERNAL MODULE: ./components/landing/info.tsx
var info = __webpack_require__(59737);
// EXTERNAL MODULE: ./components/landing/pitch.tsx
var pitch = __webpack_require__(252181);
// EXTERNAL MODULE: ./components/landing/head.tsx
var head = __webpack_require__(422004);
// EXTERNAL MODULE: ./components/misc/A.tsx
var A = __webpack_require__(617637);
// EXTERNAL MODULE: ./components/landing/code.tsx
var code = __webpack_require__(683068);
// EXTERNAL MODULE: ./components/landing/image.tsx
var landing_image = __webpack_require__(77595);
// EXTERNAL MODULE: ./public/features/x11-logo.svg
var x11_logo = __webpack_require__(953948);
// EXTERNAL MODULE: ./public/features/x11-01.png
var x11_01 = __webpack_require__(709037);
;// CONCATENATED MODULE: ./public/features/x11-applications.png
/* harmony default export */ const x11_applications = ({"src":"/_next/static/media/x11-applications.edea9f6f.png","height":444,"width":1400,"blurDataURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAACCAMAAABSSm3fAAAACVBMVEXz8/Ps7Oz8/PyovbDnAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAEklEQVQImWNghAAGBkYGMGACAAB+AAuzw/+ZAAAAAElFTkSuQmCC"});
;// CONCATENATED MODULE: ./public/features/swirl_new_large_final.png
/* harmony default export */ const swirl_new_large_final = ({"src":"/_next/static/media/swirl_new_large_final.16499f13.png","height":1032,"width":3162,"blurDataURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAACCAMAAABSSm3fAAAAHlBMVEVORkE9qvdOQjo+p/JOQjlDh7hKWmVMT1BNSkdBksvHCRqfAAAACnRSTlMeTjNSUkFrd4Vz9StH/AAAAAlwSFlzAAALEwAACxMBAJqcGAAAABpJREFUCJljYGZgYGBiZWJkYGRh52DjZGIEAAFpADRGrIOdAAAAAElFTkSuQmCC"});
;// CONCATENATED MODULE: ./public/features/swirl-course.png
/* harmony default export */ const swirl_course = ({"src":"/_next/static/media/swirl-course.ea3a1732.png","height":1010,"width":1800,"blurDataURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAMAAACEE47CAAAAFVBMVEX38eD8/Pz5+Pbq59bv8fDs6Nfr6NnZiCmpAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAH0lEQVQImWNgY2BgYGFiYmJgZmBgYGJkZGRghTFgIgADjAArGKqHJgAAAABJRU5ErkJggg=="});
;// CONCATENATED MODULE: ./public/features/x11-firefox.png
/* harmony default export */ const x11_firefox = ({"src":"/_next/static/media/x11-firefox.c3a0bd81.png","height":1012,"width":1800,"blurDataURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAMAAACEE47CAAAAGFBMVEX//v758+Pu6tvy8fHo6urk4tTj4NH49/XGvgIZAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAIklEQVQImR3Gxw0AMAzEsJNc9h85iPliVuiuyqj5VC7A5QEEtAAveVpPhAAAAABJRU5ErkJggg=="});
;// CONCATENATED MODULE: ./pages/features/x11.tsx




















const component = "X11 Desktop";
const title = `Run ${component} Graphical Linux Applications`;
function X11({ customize  }) {
    return /*#__PURE__*/ (0,jsx_runtime_.jsxs)(lib_customize/* Customize */.l, {
        value: customize,
        children: [
            /*#__PURE__*/ jsx_runtime_.jsx(head/* default */.Z, {
                title: title
            }),
            /*#__PURE__*/ (0,jsx_runtime_.jsxs)(external_antd_.Layout, {
                children: [
                    /*#__PURE__*/ jsx_runtime_.jsx(header/* default */.Z, {
                        page: "features",
                        subPage: "x11"
                    }),
                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)(external_antd_.Layout.Content, {
                        children: [
                            /*#__PURE__*/ jsx_runtime_.jsx("div", {
                                style: {
                                    backgroundColor: "#c7d9f5"
                                },
                                children: /*#__PURE__*/ jsx_runtime_.jsx(content/* default */.Z, {
                                    startup: component,
                                    logo: x11_logo/* default */.Z,
                                    title: title,
                                    subtitle: /*#__PURE__*/ jsx_runtime_.jsx(jsx_runtime_.Fragment, {
                                        children: /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
                                            children: [
                                                "Run ",
                                                component,
                                                " scripts,",
                                                " ",
                                                /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                    href: "/features/jupyter-notebook",
                                                    children: "Jupyter notebooks"
                                                }),
                                                ", or even full graphical applications in a remote ",
                                                component,
                                                " ",
                                                "environment."
                                            ]
                                        })
                                    }),
                                    image: x11_01/* default */.Z,
                                    alt: "Screenshot of wxMaxima in X11",
                                    caption: "Using wxMaxima in X11"
                                })
                            }),
                            /*#__PURE__*/ jsx_runtime_.jsx(pitch/* default */.Z, {
                                col1: /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
                                    children: [
                                        /*#__PURE__*/ jsx_runtime_.jsx("h1", {
                                            children: "Run graphical software in your browser"
                                        }),
                                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                            children: [
                                                "CoCalc is able to",
                                                " ",
                                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("strong", {
                                                    children: [
                                                        "run",
                                                        " ",
                                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                            href: "https://en.wikipedia.org/wiki/X_Window_System",
                                                            children: "graphical software using X11"
                                                        }),
                                                        " ",
                                                        "via your browser"
                                                    ]
                                                }),
                                                "."
                                            ]
                                        }),
                                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                            children: [
                                                "The application with a graphical user interface runs remotely on CoCalc using a virtual display provided by",
                                                " ",
                                                /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                    href: "https://xpra.org/",
                                                    children: "XPRA"
                                                }),
                                                ".",
                                                " "
                                            ]
                                        })
                                    ]
                                }),
                                col2: /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
                                    children: [
                                        /*#__PURE__*/ jsx_runtime_.jsx("h1", {
                                            children: "Features"
                                        }),
                                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)("ul", {
                                            children: [
                                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                                    children: [
                                                        "You no longer have to ",
                                                        /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                            children: "install and maintain"
                                                        }),
                                                        " ",
                                                        "the applications. In particular when you're teaching a class, students just have to sign in to CoCalc to get started!"
                                                    ]
                                                }),
                                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                                    children: [
                                                        "These virtual desktops are ",
                                                        /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                            children: "persistent"
                                                        }),
                                                        " as long as your project is running; you can close your browser and come back later."
                                                    ]
                                                }),
                                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                                    children: [
                                                        "More than one person can ",
                                                        /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                            children: "collaboratively"
                                                        }),
                                                        " ",
                                                        "interact with the same X11 application at the same time."
                                                    ]
                                                }),
                                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                                    children: [
                                                        "You can ",
                                                        /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                            children: "copy and paste"
                                                        }),
                                                        " between your local desktop environment and the virtual graphical X11 session."
                                                    ]
                                                })
                                            ]
                                        })
                                    ]
                                })
                            }),
                            /*#__PURE__*/ jsx_runtime_.jsx(pitch/* default */.Z, {
                                col1: /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
                                    children: [
                                        /*#__PURE__*/ jsx_runtime_.jsx("h1", {
                                            children: "Popular Applications"
                                        }),
                                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                            children: [
                                                /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                    children: "Popular applications that are preinstalled"
                                                }),
                                                " ",
                                                "include ",
                                                /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                    href: "http://maxima.sourceforge.net/",
                                                    children: "Maxima"
                                                }),
                                                ",",
                                                " ",
                                                /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                    href: "https://www.libreoffice.org/",
                                                    children: "LibreOffice"
                                                }),
                                                ",",
                                                " ",
                                                /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                    href: "https://www.openmodelica.org/",
                                                    children: "OpenModelica"
                                                }),
                                                ",",
                                                " ",
                                                /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                    href: "https://www.rstudio.com/",
                                                    children: "RStudio"
                                                }),
                                                ",",
                                                " ",
                                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)(A/* default */.Z, {
                                                    href: "https://swirlstats.com/",
                                                    children: [
                                                        "{",
                                                        "swirl",
                                                        "}"
                                                    ]
                                                }),
                                                ", ",
                                                /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                    href: "http://www.xm1math.net/texmaker/",
                                                    children: "TexMaker"
                                                }),
                                                ", and much more \u2026"
                                            ]
                                        }),
                                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                            children: [
                                                "Please check out our comprehensive table of",
                                                " ",
                                                /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                    children: /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                        href: "https://doc.cocalc.com/x11.html#installed-applications",
                                                        children: "installed applications"
                                                    })
                                                }),
                                                " ",
                                                "for additional details.",
                                                " "
                                            ]
                                        })
                                    ]
                                }),
                                col2: /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
                                    children: [
                                        /*#__PURE__*/ jsx_runtime_.jsx("h1", {
                                            children: "Documentation/Technical Background"
                                        }),
                                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                            children: [
                                                "The",
                                                " ",
                                                /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                    children: /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                        href: "https://doc.cocalc.com/x11.html",
                                                        children: "X11 Documentation"
                                                    })
                                                }),
                                                " ",
                                                "explains how to use a virtual desktop on CoCalc."
                                            ]
                                        }),
                                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                            children: [
                                                "Read our",
                                                " ",
                                                /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                    href: "http://blog.sagemath.com/cocalc/2018/11/05/x11.html",
                                                    children: "blog post"
                                                }),
                                                " ",
                                                "to learn more about this features!",
                                                " "
                                            ]
                                        })
                                    ]
                                })
                            }),
                            /*#__PURE__*/ jsx_runtime_.jsx("div", {
                                style: {
                                    textAlign: "center",
                                    paddingBottom: "30px",
                                    background: "white"
                                },
                                children: /*#__PURE__*/ jsx_runtime_.jsx(landing_image/* default */.Z, {
                                    style: {
                                        width: "80%"
                                    },
                                    src: x11_applications,
                                    alt: "Image showing buttons for many X11 Applications in CoCalc"
                                })
                            }),
                            /*#__PURE__*/ jsx_runtime_.jsx(info/* default.Heading */.Z.Heading, {
                                description: "There are many ways to use X11 in CoCalc to complement Jupyter notebooks and other functionality.",
                                children: "Some ways to use X11 in CoCalc"
                            }),
                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)(info/* default */.Z, {
                                title: "Use R's {swirl} in your web browser",
                                icon: "r",
                                image: swirl_course,
                                anchor: "a-swirl",
                                alt: "Using Swirl via X11 to do the basic programming course",
                                wide: true,
                                children: [
                                    /*#__PURE__*/ jsx_runtime_.jsx(landing_image/* default */.Z, {
                                        src: swirl_new_large_final,
                                        style: {
                                            width: "100%",
                                            marginBottom: "15px"
                                        },
                                        alt: "Using Swirl and X11 in CoCalc"
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "CoCalc provides a way to use the",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://swirlstats.com/",
                                                children: "interactive R tutorial package Swirl"
                                            }),
                                            " ",
                                            "in your web browser, even though Swirl doesn't work with Jupyter notebooks due to its complicated IO model."
                                        ]
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            'Create an X11 desktop, then in the terminal, type "R", then',
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(code/* default */.Z, {
                                                children: 'options(swirl_courses_dir="~/R/courses",swirl_data_dir="~/R/data")'
                                            }),
                                            " ",
                                            "then",
                                            /*#__PURE__*/ jsx_runtime_.jsx(code/* default */.Z, {
                                                children: 'library("swirl"); swirl()'
                                            })
                                        ]
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "You can use swirl in",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "/features/teaching",
                                                children: "teaching a course."
                                            })
                                        ]
                                    })
                                ]
                            }),
                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)(info/* default */.Z, {
                                title: "Use Firefox to test a web server",
                                icon: "firefox",
                                image: x11_firefox,
                                anchor: "a-firefox",
                                alt: "Using Firefox to connect to a local web server",
                                children: [
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "You can use Firefox running from within your CoCalc project to connect to a server running there only listening on localhost. This avoids any",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://doc.cocalc.com/howto/webserver.html",
                                                children: "proxying or url rewriting."
                                            })
                                        ]
                                    }),
                                    /*#__PURE__*/ jsx_runtime_.jsx("p", {
                                        children: "Firefox works very well in the X11 graphical desktop on CoCalc."
                                    })
                                ]
                            }),
                            /*#__PURE__*/ jsx_runtime_.jsx(sign_in/* default */.Z, {
                                startup: component
                            })
                        ]
                    }),
                    /*#__PURE__*/ jsx_runtime_.jsx(footer/* default */.Z, {})
                ]
            })
        ]
    });
};
async function getServerSideProps(context) {
    return await (0,with_customize/* default */.Z)({
        context
    });
}


/***/ }),

/***/ 545725:
/***/ ((module) => {

module.exports = require("antd");

/***/ }),

/***/ 770640:
/***/ ((module) => {

module.exports = require("cookies");

/***/ }),

/***/ 65680:
/***/ ((module) => {

module.exports = require("lru-cache");

/***/ }),

/***/ 492796:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/head-manager-context.js");

/***/ }),

/***/ 294957:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/head.js");

/***/ }),

/***/ 703539:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/i18n/detect-domain-locale.js");

/***/ }),

/***/ 734014:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/i18n/normalize-locale-path.js");

/***/ }),

/***/ 450744:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/image-config-context.js");

/***/ }),

/***/ 435843:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/image-config.js");

/***/ }),

/***/ 278524:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/is-plain-object.js");

/***/ }),

/***/ 878020:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/mitt.js");

/***/ }),

/***/ 664406:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/page-path/denormalize-page-path.js");

/***/ }),

/***/ 424964:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router-context.js");

/***/ }),

/***/ 623938:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/format-url.js");

/***/ }),

/***/ 329565:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/get-asset-path-from-route.js");

/***/ }),

/***/ 264365:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/get-middleware-regex.js");

/***/ }),

/***/ 901428:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/is-dynamic.js");

/***/ }),

/***/ 491292:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/parse-relative-url.js");

/***/ }),

/***/ 980979:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/querystring.js");

/***/ }),

/***/ 836052:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/resolve-rewrites.js");

/***/ }),

/***/ 584226:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/route-matcher.js");

/***/ }),

/***/ 95052:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/router/utils/route-regex.js");

/***/ }),

/***/ 359232:
/***/ ((module) => {

module.exports = require("next/dist/shared/lib/utils.js");

/***/ }),

/***/ 40968:
/***/ ((module) => {

module.exports = require("next/head");

/***/ }),

/***/ 371853:
/***/ ((module) => {

module.exports = require("next/router");

/***/ }),

/***/ 616689:
/***/ ((module) => {

module.exports = require("react");

/***/ }),

/***/ 566405:
/***/ ((module) => {

module.exports = require("react-dom");

/***/ }),

/***/ 271704:
/***/ ((module) => {

module.exports = require("react-google-recaptcha-v3");

/***/ }),

/***/ 920997:
/***/ ((module) => {

module.exports = require("react/jsx-runtime");

/***/ }),

/***/ 439491:
/***/ ((module) => {

module.exports = require("assert");

/***/ }),

/***/ 714300:
/***/ ((module) => {

module.exports = require("buffer");

/***/ }),

/***/ 706113:
/***/ ((module) => {

module.exports = require("crypto");

/***/ }),

/***/ 809523:
/***/ ((module) => {

module.exports = require("dns");

/***/ }),

/***/ 582361:
/***/ ((module) => {

module.exports = require("events");

/***/ }),

/***/ 657147:
/***/ ((module) => {

module.exports = require("fs");

/***/ }),

/***/ 241808:
/***/ ((module) => {

module.exports = require("net");

/***/ }),

/***/ 822037:
/***/ ((module) => {

module.exports = require("os");

/***/ }),

/***/ 371017:
/***/ ((module) => {

module.exports = require("path");

/***/ }),

/***/ 677282:
/***/ ((module) => {

module.exports = require("process");

/***/ }),

/***/ 285477:
/***/ ((module) => {

module.exports = require("punycode");

/***/ }),

/***/ 12781:
/***/ ((module) => {

module.exports = require("stream");

/***/ }),

/***/ 371576:
/***/ ((module) => {

module.exports = require("string_decoder");

/***/ }),

/***/ 924404:
/***/ ((module) => {

module.exports = require("tls");

/***/ }),

/***/ 76224:
/***/ ((module) => {

module.exports = require("tty");

/***/ }),

/***/ 257310:
/***/ ((module) => {

module.exports = require("url");

/***/ }),

/***/ 473837:
/***/ ((module) => {

module.exports = require("util");

/***/ })

};
;

// load runtime
var __webpack_require__ = require("../../webpack-runtime.js");
__webpack_require__.C(exports);
var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
var __webpack_exports__ = __webpack_require__.X(0, [549,6918,3429,1746,9505,1748,3734,2208,5654,9925,9715,2448,1107,9521,5114,8278,722,3624,9924,5379,2353,81,3144,6796,2620,3375,2240,3684], () => (__webpack_exec__(402242)));
module.exports = __webpack_exports__;

})();