├── README.md ├── install.sh ├── vjudge.war └── vjudge2016 ├── .classpath ├── .project ├── .settings ├── .jsdtscope ├── org.eclipse.core.resources.prefs ├── org.eclipse.jdt.core.prefs ├── org.eclipse.wst.common.component ├── org.eclipse.wst.common.project.facet.core.xml ├── org.eclipse.wst.jsdt.ui.superType.container └── org.eclipse.wst.jsdt.ui.superType.name ├── WebContent ├── META-INF │ ├── MANIFEST.MF │ └── context.xml ├── WEB-INF │ ├── dwr.xml │ ├── lib │ │ ├── ant-1.9.4.jar │ │ ├── ant-launcher-1.9.4.jar │ │ ├── antlr-2.7.6.jar │ │ ├── aopalliance-1.0.jar │ │ ├── asm-3.3.jar │ │ ├── asm-commons-3.3.jar │ │ ├── asm-tree-3.3.jar │ │ ├── commons-codec-1.9.jar │ │ ├── commons-collections-3.1.jar │ │ ├── commons-dbcp-1.4.jar │ │ ├── commons-fileupload-1.3.1.jar │ │ ├── commons-io-2.2.jar │ │ ├── commons-lang3-3.3.2.jar │ │ ├── commons-logging-1.1.3.jar │ │ ├── commons-pool-1.5.4.jar │ │ ├── commons-pool2-2.0.jar │ │ ├── dom4j-1.6.1.jar │ │ ├── dwr-2.0.10.jar │ │ ├── freemarker-2.3.22.jar │ │ ├── gson-2.2.4.jar │ │ ├── hibernate-commons-annotations-3.2.0.Final.jar │ │ ├── hibernate-core-3.6.9.Final.jar │ │ ├── hibernate-jpa-2.0-api-1.0.1.Final.jar │ │ ├── httpclient-4.4-alpha1.jar │ │ ├── httpcore-4.4-alpha1.jar │ │ ├── httpmime-4.3.1.jar │ │ ├── javassist-3.11.0.GA.jar │ │ ├── jaxen-1.1.4.jar │ │ ├── jcl-over-slf4j-1.7.7.jar │ │ ├── jedis-2.6.0.jar │ │ ├── jsoup-1.7.3.jar │ │ ├── jstl-1.2.jar │ │ ├── jta-1.1.jar │ │ ├── jxl-2.6.12.jar │ │ ├── log4j-1.2.17.jar │ │ ├── mysql-connector-java-5.1.40-bin.jar │ │ ├── ognl-3.0.19.jar │ │ ├── quartz-1.5.2.jar │ │ ├── servlet-api.jar │ │ ├── slf4j-api-1.6.1.jar │ │ ├── slf4j-log4j12-1.7.7.jar │ │ ├── spring-aop-4.0.6.RELEASE.jar │ │ ├── spring-beans-4.0.6.RELEASE.jar │ │ ├── spring-context-4.0.6.RELEASE.jar │ │ ├── spring-context-support-4.0.6.RELEASE.jar │ │ ├── spring-core-4.0.6.RELEASE.jar │ │ ├── spring-expression-4.0.6.RELEASE.jar │ │ ├── spring-jdbc-4.0.6.RELEASE.jar │ │ ├── spring-orm-4.0.6.RELEASE.jar │ │ ├── spring-oxm-4.0.6.RELEASE.jar │ │ ├── spring-tx-4.0.6.RELEASE.jar │ │ ├── spring-web-4.0.6.RELEASE.jar │ │ ├── struts2-convention-plugin-2.3.32.jar │ │ ├── struts2-core-2.3.32.jar │ │ ├── struts2-json-plugin-2.3.32.jar │ │ ├── struts2-spring-plugin-2.3.32.jar │ │ ├── tomcat-jdbc-7.0.57.jar │ │ ├── tomcat-juli-7.0.57.jar │ │ ├── xml-apis-1.0.b2.jar │ │ └── xwork-core-2.3.32.jar │ └── web.xml ├── bottom.jsp ├── ckeditor │ ├── .htaccess │ ├── CHANGES.html │ ├── INSTALL.html │ ├── LICENSE.html │ ├── _samples │ │ ├── ajax.html │ │ ├── api.html │ │ ├── api_dialog.html │ │ ├── api_dialog │ │ │ └── my_dialog.js │ │ ├── asp │ │ │ ├── advanced.asp │ │ │ ├── events.asp │ │ │ ├── index.html │ │ │ ├── replace.asp │ │ │ ├── replaceall.asp │ │ │ ├── sample_posteddata.asp │ │ │ └── standalone.asp │ │ ├── assets │ │ │ └── output_xhtml.css │ │ ├── divreplace.html │ │ ├── enterkey.html │ │ ├── fullpage.html │ │ ├── index.html │ │ ├── jqueryadapter.html │ │ ├── output_html.html │ │ ├── output_xhtml.html │ │ ├── php │ │ │ ├── advanced.php │ │ │ ├── events.php │ │ │ ├── replace.php │ │ │ ├── replaceall.php │ │ │ └── standalone.php │ │ ├── replacebyclass.html │ │ ├── replacebycode.html │ │ ├── sample.css │ │ ├── sample.js │ │ ├── sample_posteddata.php │ │ ├── sharedspaces.html │ │ ├── skins.html │ │ ├── ui_color.html │ │ └── ui_languages.html │ ├── _source │ │ ├── adapters │ │ │ └── jquery.js │ │ ├── core │ │ │ ├── _bootstrap.js │ │ │ ├── ajax.js │ │ │ ├── ckeditor.js │ │ │ ├── ckeditor_base.js │ │ │ ├── ckeditor_basic.js │ │ │ ├── command.js │ │ │ ├── commanddefinition.js │ │ │ ├── config.js │ │ │ ├── dataprocessor.js │ │ │ ├── dom.js │ │ │ ├── dom │ │ │ │ ├── comment.js │ │ │ │ ├── document.js │ │ │ │ ├── documentfragment.js │ │ │ │ ├── domobject.js │ │ │ │ ├── element.js │ │ │ │ ├── elementpath.js │ │ │ │ ├── event.js │ │ │ │ ├── node.js │ │ │ │ ├── nodelist.js │ │ │ │ ├── range.js │ │ │ │ ├── text.js │ │ │ │ ├── walker.js │ │ │ │ └── window.js │ │ │ ├── dtd.js │ │ │ ├── editor.js │ │ │ ├── editor_basic.js │ │ │ ├── env.js │ │ │ ├── event.js │ │ │ ├── eventInfo.js │ │ │ ├── focusmanager.js │ │ │ ├── htmlparser.js │ │ │ ├── htmlparser │ │ │ │ ├── basicwriter.js │ │ │ │ ├── cdata.js │ │ │ │ ├── comment.js │ │ │ │ ├── element.js │ │ │ │ ├── filter.js │ │ │ │ ├── fragment.js │ │ │ │ └── text.js │ │ │ ├── imagecacher.js │ │ │ ├── lang.js │ │ │ ├── loader.js │ │ │ ├── plugindefinition.js │ │ │ ├── plugins.js │ │ │ ├── resourcemanager.js │ │ │ ├── scriptloader.js │ │ │ ├── skins.js │ │ │ ├── themes.js │ │ │ ├── tools.js │ │ │ ├── ui.js │ │ │ └── xml.js │ │ ├── lang │ │ │ ├── _languages.js │ │ │ ├── _translationstatus.txt │ │ │ ├── af.js │ │ │ ├── ar.js │ │ │ ├── bg.js │ │ │ ├── bn.js │ │ │ ├── bs.js │ │ │ ├── ca.js │ │ │ ├── cs.js │ │ │ ├── cy.js │ │ │ ├── da.js │ │ │ ├── de.js │ │ │ ├── el.js │ │ │ ├── en-au.js │ │ │ ├── en-ca.js │ │ │ ├── en-gb.js │ │ │ ├── en.js │ │ │ ├── eo.js │ │ │ ├── es.js │ │ │ ├── et.js │ │ │ ├── eu.js │ │ │ ├── fa.js │ │ │ ├── fi.js │ │ │ ├── fo.js │ │ │ ├── fr-ca.js │ │ │ ├── fr.js │ │ │ ├── gl.js │ │ │ ├── gu.js │ │ │ ├── he.js │ │ │ ├── hi.js │ │ │ ├── hr.js │ │ │ ├── hu.js │ │ │ ├── is.js │ │ │ ├── it.js │ │ │ ├── ja.js │ │ │ ├── km.js │ │ │ ├── ko.js │ │ │ ├── lt.js │ │ │ ├── lv.js │ │ │ ├── mn.js │ │ │ ├── ms.js │ │ │ ├── nb.js │ │ │ ├── nl.js │ │ │ ├── no.js │ │ │ ├── pl.js │ │ │ ├── pt-br.js │ │ │ ├── pt.js │ │ │ ├── ro.js │ │ │ ├── ru.js │ │ │ ├── sk.js │ │ │ ├── sl.js │ │ │ ├── sr-latn.js │ │ │ ├── sr.js │ │ │ ├── sv.js │ │ │ ├── th.js │ │ │ ├── tr.js │ │ │ ├── uk.js │ │ │ ├── vi.js │ │ │ ├── zh-cn.js │ │ │ └── zh.js │ │ ├── plugins │ │ │ ├── a11yhelp │ │ │ │ ├── dialogs │ │ │ │ │ └── a11yhelp.js │ │ │ │ ├── lang │ │ │ │ │ ├── en.js │ │ │ │ │ └── he.js │ │ │ │ └── plugin.js │ │ │ ├── about │ │ │ │ ├── dialogs │ │ │ │ │ ├── about.js │ │ │ │ │ └── logo_ckeditor.png │ │ │ │ └── plugin.js │ │ │ ├── basicstyles │ │ │ │ └── plugin.js │ │ │ ├── blockquote │ │ │ │ └── plugin.js │ │ │ ├── button │ │ │ │ └── plugin.js │ │ │ ├── clipboard │ │ │ │ ├── dialogs │ │ │ │ │ └── paste.js │ │ │ │ └── plugin.js │ │ │ ├── colorbutton │ │ │ │ └── plugin.js │ │ │ ├── colordialog │ │ │ │ ├── dialogs │ │ │ │ │ └── colordialog.js │ │ │ │ └── plugin.js │ │ │ ├── contextmenu │ │ │ │ └── plugin.js │ │ │ ├── dialog │ │ │ │ ├── dialogDefinition.js │ │ │ │ └── plugin.js │ │ │ ├── dialogui │ │ │ │ └── plugin.js │ │ │ ├── div │ │ │ │ ├── dialogs │ │ │ │ │ └── div.js │ │ │ │ └── plugin.js │ │ │ ├── domiterator │ │ │ │ └── plugin.js │ │ │ ├── editingblock │ │ │ │ └── plugin.js │ │ │ ├── elementspath │ │ │ │ └── plugin.js │ │ │ ├── enterkey │ │ │ │ └── plugin.js │ │ │ ├── entities │ │ │ │ └── plugin.js │ │ │ ├── fakeobjects │ │ │ │ └── plugin.js │ │ │ ├── filebrowser │ │ │ │ └── plugin.js │ │ │ ├── find │ │ │ │ ├── dialogs │ │ │ │ │ └── find.js │ │ │ │ └── plugin.js │ │ │ ├── flash │ │ │ │ ├── dialogs │ │ │ │ │ └── flash.js │ │ │ │ ├── images │ │ │ │ │ └── placeholder.png │ │ │ │ └── plugin.js │ │ │ ├── floatpanel │ │ │ │ └── plugin.js │ │ │ ├── font │ │ │ │ └── plugin.js │ │ │ ├── format │ │ │ │ └── plugin.js │ │ │ ├── forms │ │ │ │ ├── dialogs │ │ │ │ │ ├── button.js │ │ │ │ │ ├── checkbox.js │ │ │ │ │ ├── form.js │ │ │ │ │ ├── hiddenfield.js │ │ │ │ │ ├── radio.js │ │ │ │ │ ├── select.js │ │ │ │ │ ├── textarea.js │ │ │ │ │ └── textfield.js │ │ │ │ ├── images │ │ │ │ │ └── hiddenfield.gif │ │ │ │ └── plugin.js │ │ │ ├── horizontalrule │ │ │ │ └── plugin.js │ │ │ ├── htmldataprocessor │ │ │ │ └── plugin.js │ │ │ ├── htmlwriter │ │ │ │ └── plugin.js │ │ │ ├── iframedialog │ │ │ │ └── plugin.js │ │ │ ├── image │ │ │ │ ├── dialogs │ │ │ │ │ └── image.js │ │ │ │ └── plugin.js │ │ │ ├── indent │ │ │ │ └── plugin.js │ │ │ ├── justify │ │ │ │ └── plugin.js │ │ │ ├── keystrokes │ │ │ │ └── plugin.js │ │ │ ├── link │ │ │ │ ├── dialogs │ │ │ │ │ ├── anchor.js │ │ │ │ │ └── link.js │ │ │ │ ├── images │ │ │ │ │ └── anchor.gif │ │ │ │ └── plugin.js │ │ │ ├── list │ │ │ │ └── plugin.js │ │ │ ├── listblock │ │ │ │ └── plugin.js │ │ │ ├── liststyle │ │ │ │ ├── dialogs │ │ │ │ │ └── liststyle.js │ │ │ │ └── plugin.js │ │ │ ├── maximize │ │ │ │ └── plugin.js │ │ │ ├── menu │ │ │ │ └── plugin.js │ │ │ ├── menubutton │ │ │ │ └── plugin.js │ │ │ ├── newpage │ │ │ │ └── plugin.js │ │ │ ├── pagebreak │ │ │ │ ├── images │ │ │ │ │ └── pagebreak.gif │ │ │ │ └── plugin.js │ │ │ ├── panel │ │ │ │ └── plugin.js │ │ │ ├── panelbutton │ │ │ │ └── plugin.js │ │ │ ├── pastefromword │ │ │ │ ├── filter │ │ │ │ │ └── default.js │ │ │ │ └── plugin.js │ │ │ ├── pastetext │ │ │ │ ├── dialogs │ │ │ │ │ └── pastetext.js │ │ │ │ └── plugin.js │ │ │ ├── popup │ │ │ │ └── plugin.js │ │ │ ├── preview │ │ │ │ └── plugin.js │ │ │ ├── print │ │ │ │ └── plugin.js │ │ │ ├── removeformat │ │ │ │ └── plugin.js │ │ │ ├── resize │ │ │ │ └── plugin.js │ │ │ ├── richcombo │ │ │ │ └── plugin.js │ │ │ ├── save │ │ │ │ └── plugin.js │ │ │ ├── scayt │ │ │ │ ├── dialogs │ │ │ │ │ ├── options.js │ │ │ │ │ └── toolbar.css │ │ │ │ └── plugin.js │ │ │ ├── selection │ │ │ │ └── plugin.js │ │ │ ├── showblocks │ │ │ │ ├── images │ │ │ │ │ ├── block_address.png │ │ │ │ │ ├── block_blockquote.png │ │ │ │ │ ├── block_div.png │ │ │ │ │ ├── block_h1.png │ │ │ │ │ ├── block_h2.png │ │ │ │ │ ├── block_h3.png │ │ │ │ │ ├── block_h4.png │ │ │ │ │ ├── block_h5.png │ │ │ │ │ ├── block_h6.png │ │ │ │ │ ├── block_p.png │ │ │ │ │ └── block_pre.png │ │ │ │ └── plugin.js │ │ │ ├── showborders │ │ │ │ └── plugin.js │ │ │ ├── smiley │ │ │ │ ├── dialogs │ │ │ │ │ └── smiley.js │ │ │ │ ├── images │ │ │ │ │ ├── angel_smile.gif │ │ │ │ │ ├── angry_smile.gif │ │ │ │ │ ├── broken_heart.gif │ │ │ │ │ ├── confused_smile.gif │ │ │ │ │ ├── cry_smile.gif │ │ │ │ │ ├── devil_smile.gif │ │ │ │ │ ├── embaressed_smile.gif │ │ │ │ │ ├── envelope.gif │ │ │ │ │ ├── heart.gif │ │ │ │ │ ├── kiss.gif │ │ │ │ │ ├── lightbulb.gif │ │ │ │ │ ├── omg_smile.gif │ │ │ │ │ ├── regular_smile.gif │ │ │ │ │ ├── sad_smile.gif │ │ │ │ │ ├── shades_smile.gif │ │ │ │ │ ├── teeth_smile.gif │ │ │ │ │ ├── thumbs_down.gif │ │ │ │ │ ├── thumbs_up.gif │ │ │ │ │ ├── tounge_smile.gif │ │ │ │ │ ├── whatchutalkingabout_smile.gif │ │ │ │ │ └── wink_smile.gif │ │ │ │ └── plugin.js │ │ │ ├── sourcearea │ │ │ │ └── plugin.js │ │ │ ├── specialchar │ │ │ │ ├── dialogs │ │ │ │ │ └── specialchar.js │ │ │ │ └── plugin.js │ │ │ ├── styles │ │ │ │ ├── plugin.js │ │ │ │ └── styles │ │ │ │ │ └── default.js │ │ │ ├── stylescombo │ │ │ │ └── plugin.js │ │ │ ├── tab │ │ │ │ └── plugin.js │ │ │ ├── table │ │ │ │ ├── dialogs │ │ │ │ │ └── table.js │ │ │ │ └── plugin.js │ │ │ ├── tabletools │ │ │ │ ├── dialogs │ │ │ │ │ └── tableCell.js │ │ │ │ └── plugin.js │ │ │ ├── templates │ │ │ │ ├── dialogs │ │ │ │ │ └── templates.js │ │ │ │ ├── plugin.js │ │ │ │ └── templates │ │ │ │ │ ├── default.js │ │ │ │ │ └── images │ │ │ │ │ ├── template1.gif │ │ │ │ │ ├── template2.gif │ │ │ │ │ └── template3.gif │ │ │ ├── toolbar │ │ │ │ └── plugin.js │ │ │ ├── uicolor │ │ │ │ ├── dialogs │ │ │ │ │ └── uicolor.js │ │ │ │ ├── lang │ │ │ │ │ └── en.js │ │ │ │ ├── plugin.js │ │ │ │ ├── uicolor.gif │ │ │ │ └── yui │ │ │ │ │ ├── assets │ │ │ │ │ ├── hue_bg.png │ │ │ │ │ ├── hue_thumb.png │ │ │ │ │ ├── picker_mask.png │ │ │ │ │ ├── picker_thumb.png │ │ │ │ │ └── yui.css │ │ │ │ │ └── yui.js │ │ │ ├── undo │ │ │ │ └── plugin.js │ │ │ ├── wsc │ │ │ │ ├── dialogs │ │ │ │ │ ├── ciframe.html │ │ │ │ │ ├── tmpFrameset.html │ │ │ │ │ ├── wsc.css │ │ │ │ │ └── wsc.js │ │ │ │ └── plugin.js │ │ │ └── wysiwygarea │ │ │ │ └── plugin.js │ │ ├── skins │ │ │ ├── kama │ │ │ │ ├── dialog.css │ │ │ │ ├── editor.css │ │ │ │ ├── elementspath.css │ │ │ │ ├── icons.css │ │ │ │ ├── icons.png │ │ │ │ ├── images │ │ │ │ │ ├── dialog_sides.gif │ │ │ │ │ ├── dialog_sides.png │ │ │ │ │ ├── dialog_sides_rtl.png │ │ │ │ │ ├── mini.gif │ │ │ │ │ ├── noimage.png │ │ │ │ │ ├── sprites.png │ │ │ │ │ ├── sprites_ie6.png │ │ │ │ │ └── toolbar_start.gif │ │ │ │ ├── mainui.css │ │ │ │ ├── menu.css │ │ │ │ ├── panel.css │ │ │ │ ├── presets.css │ │ │ │ ├── reset.css │ │ │ │ ├── richcombo.css │ │ │ │ ├── skin.js │ │ │ │ ├── templates.css │ │ │ │ └── toolbar.css │ │ │ ├── office2003 │ │ │ │ ├── dialog.css │ │ │ │ ├── editor.css │ │ │ │ ├── elementspath.css │ │ │ │ ├── icons.css │ │ │ │ ├── icons.png │ │ │ │ ├── images │ │ │ │ │ ├── dialog_sides.gif │ │ │ │ │ ├── dialog_sides.png │ │ │ │ │ ├── dialog_sides_rtl.png │ │ │ │ │ ├── mini.gif │ │ │ │ │ ├── noimage.png │ │ │ │ │ ├── sprites.png │ │ │ │ │ └── sprites_ie6.png │ │ │ │ ├── mainui.css │ │ │ │ ├── menu.css │ │ │ │ ├── panel.css │ │ │ │ ├── presets.css │ │ │ │ ├── reset.css │ │ │ │ ├── richcombo.css │ │ │ │ ├── skin.js │ │ │ │ ├── templates.css │ │ │ │ └── toolbar.css │ │ │ └── v2 │ │ │ │ ├── dialog.css │ │ │ │ ├── editor.css │ │ │ │ ├── elementspath.css │ │ │ │ ├── icons.css │ │ │ │ ├── icons.png │ │ │ │ ├── images │ │ │ │ ├── dialog_sides.gif │ │ │ │ ├── dialog_sides.png │ │ │ │ ├── dialog_sides_rtl.png │ │ │ │ ├── mini.gif │ │ │ │ ├── noimage.png │ │ │ │ ├── sprites.png │ │ │ │ ├── sprites_ie6.png │ │ │ │ └── toolbar_start.gif │ │ │ │ ├── mainui.css │ │ │ │ ├── menu.css │ │ │ │ ├── panel.css │ │ │ │ ├── presets.css │ │ │ │ ├── reset.css │ │ │ │ ├── richcombo.css │ │ │ │ ├── skin.js │ │ │ │ ├── templates.css │ │ │ │ └── toolbar.css │ │ └── themes │ │ │ └── default │ │ │ └── theme.js │ ├── adapters │ │ └── jquery.js │ ├── ckeditor.asp │ ├── ckeditor.js │ ├── ckeditor.pack │ ├── ckeditor.php │ ├── ckeditor_basic.js │ ├── ckeditor_basic_source.js │ ├── ckeditor_php4.php │ ├── ckeditor_php5.php │ ├── ckeditor_source.js │ ├── config.js │ ├── contents.css │ ├── images │ │ └── spacer.gif │ ├── lang │ │ ├── _languages.js │ │ ├── _translationstatus.txt │ │ ├── af.js │ │ ├── ar.js │ │ ├── bg.js │ │ ├── bn.js │ │ ├── bs.js │ │ ├── ca.js │ │ ├── cs.js │ │ ├── cy.js │ │ ├── da.js │ │ ├── de.js │ │ ├── el.js │ │ ├── en-au.js │ │ ├── en-ca.js │ │ ├── en-gb.js │ │ ├── en.js │ │ ├── eo.js │ │ ├── es.js │ │ ├── et.js │ │ ├── eu.js │ │ ├── fa.js │ │ ├── fi.js │ │ ├── fo.js │ │ ├── fr-ca.js │ │ ├── fr.js │ │ ├── gl.js │ │ ├── gu.js │ │ ├── he.js │ │ ├── hi.js │ │ ├── hr.js │ │ ├── hu.js │ │ ├── is.js │ │ ├── it.js │ │ ├── ja.js │ │ ├── km.js │ │ ├── ko.js │ │ ├── lt.js │ │ ├── lv.js │ │ ├── mn.js │ │ ├── ms.js │ │ ├── nb.js │ │ ├── nl.js │ │ ├── no.js │ │ ├── pl.js │ │ ├── pt-br.js │ │ ├── pt.js │ │ ├── ro.js │ │ ├── ru.js │ │ ├── sk.js │ │ ├── sl.js │ │ ├── sr-latn.js │ │ ├── sr.js │ │ ├── sv.js │ │ ├── th.js │ │ ├── tr.js │ │ ├── uk.js │ │ ├── vi.js │ │ ├── zh-cn.js │ │ └── zh.js │ ├── plugins │ │ ├── a11yhelp │ │ │ ├── dialogs │ │ │ │ └── a11yhelp.js │ │ │ └── lang │ │ │ │ ├── en.js │ │ │ │ └── he.js │ │ ├── about │ │ │ └── dialogs │ │ │ │ ├── about.js │ │ │ │ └── logo_ckeditor.png │ │ ├── clipboard │ │ │ └── dialogs │ │ │ │ └── paste.js │ │ ├── colordialog │ │ │ └── dialogs │ │ │ │ └── colordialog.js │ │ ├── dialog │ │ │ └── dialogDefinition.js │ │ ├── div │ │ │ └── dialogs │ │ │ │ └── div.js │ │ ├── find │ │ │ └── dialogs │ │ │ │ └── find.js │ │ ├── flash │ │ │ ├── dialogs │ │ │ │ └── flash.js │ │ │ └── images │ │ │ │ └── placeholder.png │ │ ├── forms │ │ │ ├── dialogs │ │ │ │ ├── button.js │ │ │ │ ├── checkbox.js │ │ │ │ ├── form.js │ │ │ │ ├── hiddenfield.js │ │ │ │ ├── radio.js │ │ │ │ ├── select.js │ │ │ │ ├── textarea.js │ │ │ │ └── textfield.js │ │ │ └── images │ │ │ │ └── hiddenfield.gif │ │ ├── iframedialog │ │ │ └── plugin.js │ │ ├── image │ │ │ └── dialogs │ │ │ │ └── image.js │ │ ├── link │ │ │ ├── dialogs │ │ │ │ ├── anchor.js │ │ │ │ └── link.js │ │ │ └── images │ │ │ │ └── anchor.gif │ │ ├── liststyle │ │ │ └── dialogs │ │ │ │ └── liststyle.js │ │ ├── pagebreak │ │ │ └── images │ │ │ │ └── pagebreak.gif │ │ ├── pastefromword │ │ │ └── filter │ │ │ │ └── default.js │ │ ├── pastetext │ │ │ └── dialogs │ │ │ │ └── pastetext.js │ │ ├── scayt │ │ │ └── dialogs │ │ │ │ ├── options.js │ │ │ │ └── toolbar.css │ │ ├── showblocks │ │ │ └── images │ │ │ │ ├── block_address.png │ │ │ │ ├── block_blockquote.png │ │ │ │ ├── block_div.png │ │ │ │ ├── block_h1.png │ │ │ │ ├── block_h2.png │ │ │ │ ├── block_h3.png │ │ │ │ ├── block_h4.png │ │ │ │ ├── block_h5.png │ │ │ │ ├── block_h6.png │ │ │ │ ├── block_p.png │ │ │ │ └── block_pre.png │ │ ├── smiley │ │ │ ├── dialogs │ │ │ │ └── smiley.js │ │ │ └── images │ │ │ │ ├── angel_smile.gif │ │ │ │ ├── angry_smile.gif │ │ │ │ ├── broken_heart.gif │ │ │ │ ├── confused_smile.gif │ │ │ │ ├── cry_smile.gif │ │ │ │ ├── devil_smile.gif │ │ │ │ ├── embaressed_smile.gif │ │ │ │ ├── envelope.gif │ │ │ │ ├── heart.gif │ │ │ │ ├── kiss.gif │ │ │ │ ├── lightbulb.gif │ │ │ │ ├── omg_smile.gif │ │ │ │ ├── regular_smile.gif │ │ │ │ ├── sad_smile.gif │ │ │ │ ├── shades_smile.gif │ │ │ │ ├── teeth_smile.gif │ │ │ │ ├── thumbs_down.gif │ │ │ │ ├── thumbs_up.gif │ │ │ │ ├── tounge_smile.gif │ │ │ │ ├── whatchutalkingabout_smile.gif │ │ │ │ └── wink_smile.gif │ │ ├── specialchar │ │ │ └── dialogs │ │ │ │ └── specialchar.js │ │ ├── styles │ │ │ └── styles │ │ │ │ └── default.js │ │ ├── table │ │ │ └── dialogs │ │ │ │ └── table.js │ │ ├── tabletools │ │ │ └── dialogs │ │ │ │ └── tableCell.js │ │ ├── templates │ │ │ ├── dialogs │ │ │ │ └── templates.js │ │ │ └── templates │ │ │ │ ├── default.js │ │ │ │ └── images │ │ │ │ ├── template1.gif │ │ │ │ ├── template2.gif │ │ │ │ └── template3.gif │ │ ├── uicolor │ │ │ ├── dialogs │ │ │ │ └── uicolor.js │ │ │ ├── lang │ │ │ │ └── en.js │ │ │ ├── plugin.js │ │ │ ├── uicolor.gif │ │ │ └── yui │ │ │ │ ├── assets │ │ │ │ ├── hue_bg.png │ │ │ │ ├── hue_thumb.png │ │ │ │ ├── picker_mask.png │ │ │ │ ├── picker_thumb.png │ │ │ │ └── yui.css │ │ │ │ └── yui.js │ │ └── wsc │ │ │ └── dialogs │ │ │ ├── ciframe.html │ │ │ ├── tmpFrameset.html │ │ │ ├── wsc.css │ │ │ └── wsc.js │ ├── skins │ │ ├── kama │ │ │ ├── dialog.css │ │ │ ├── editor.css │ │ │ ├── icons.png │ │ │ ├── images │ │ │ │ ├── dialog_sides.gif │ │ │ │ ├── dialog_sides.png │ │ │ │ ├── dialog_sides_rtl.png │ │ │ │ ├── mini.gif │ │ │ │ ├── noimage.png │ │ │ │ ├── sprites.png │ │ │ │ ├── sprites_ie6.png │ │ │ │ └── toolbar_start.gif │ │ │ ├── skin.js │ │ │ └── templates.css │ │ ├── office2003 │ │ │ ├── dialog.css │ │ │ ├── editor.css │ │ │ ├── icons.png │ │ │ ├── images │ │ │ │ ├── dialog_sides.gif │ │ │ │ ├── dialog_sides.png │ │ │ │ ├── dialog_sides_rtl.png │ │ │ │ ├── mini.gif │ │ │ │ ├── noimage.png │ │ │ │ ├── sprites.png │ │ │ │ └── sprites_ie6.png │ │ │ ├── skin.js │ │ │ └── templates.css │ │ └── v2 │ │ │ ├── dialog.css │ │ │ ├── editor.css │ │ │ ├── icons.png │ │ │ ├── images │ │ │ ├── dialog_sides.gif │ │ │ ├── dialog_sides.png │ │ │ ├── dialog_sides_rtl.png │ │ │ ├── mini.gif │ │ │ ├── noimage.png │ │ │ ├── sprites.png │ │ │ ├── sprites_ie6.png │ │ │ └── toolbar_start.gif │ │ │ ├── skin.js │ │ │ └── templates.css │ └── themes │ │ └── default │ │ └── theme.js ├── contest │ ├── addContest.jsp │ ├── chooseMeaning.jsp │ ├── div_discuss.jsp │ ├── div_overview.jsp │ ├── div_problem.jsp │ ├── div_rank.jsp │ ├── div_status.jsp │ ├── editContest1.jsp │ ├── editContest2.jsp │ ├── list.jsp │ ├── rank_setting.jsp │ ├── statistic.jsp │ ├── view.jsp │ └── viewSource.jsp ├── contextPath.jsp ├── css │ ├── contest_list.css │ ├── contest_view.css │ ├── cssmenu.css │ ├── dataTables.jqueryui.css │ ├── datatables.customize.css │ ├── facebox.css │ ├── global.css │ ├── jqueryui.customize.css │ ├── legacy │ │ ├── demo_page.css │ │ ├── demo_table_jui.css │ │ └── jquery-ui-1.8.16.custom.css │ ├── problem_list.css │ ├── problem_status.css │ ├── problem_view.css │ ├── sh_typical.min.css │ ├── shx_main.min.css │ ├── style.css │ └── style.min.css ├── customize.jsp ├── discuss.jsp ├── errorpages │ ├── 404.jsp │ ├── error.jsp │ └── exception.jsp ├── facebox │ ├── closelabel.png │ ├── facebox.css │ ├── facebox.js │ └── loading.gif ├── header.jsp ├── images │ ├── Sorting icons.psd │ ├── back_disabled.jpg │ ├── back_enabled.jpg │ ├── beiju.jpg │ ├── beiju1.gif │ ├── beiju2.gif │ ├── beiju3.gif │ ├── btn_discuss_1.png │ ├── btn_discuss_2.png │ ├── btn_suggestion_1.png │ ├── btn_suggestion_2.png │ ├── config.png │ ├── content_bg.png │ ├── contest.jpg │ ├── find_me.png │ ├── forward_disabled.jpg │ ├── forward_enabled.jpg │ ├── go_top.png │ ├── ico_add.png │ ├── ico_delete.gif │ ├── ico_edit.gif │ ├── icon_quote_e.gif │ ├── icon_quote_s.gif │ ├── loader.gif │ ├── logo.ico │ ├── lr.gif │ ├── no.png │ ├── recycle.gif │ ├── refresh.png │ ├── remote_oj │ │ ├── ACdream_favicon.ico │ │ ├── Aizu_favicon.ico │ │ ├── CSU_favicon.ico │ │ ├── CodeForces_favicon.png │ │ ├── FZU_favicon.gif │ │ ├── HDU_icon.png │ │ ├── HUST_icon.jpg │ │ ├── HYSBZ_icon.png │ │ ├── NBUT_icon.jpg │ │ ├── SCU_favicon.ico │ │ ├── SGU_favicon.ico │ │ ├── SPOJ_favicon.png │ │ ├── Tyvj_favicon.ico │ │ ├── UESTC_favicon.png │ │ ├── URAL_favicon.ico │ │ ├── UVA_favicon.ico │ │ ├── ZOJ_favicon.ico │ │ ├── icon-icpc-small.gif │ │ └── poj.ico │ ├── replay.png │ ├── rl.gif │ ├── sort_asc.png │ ├── sort_asc_disabled.png │ ├── sort_both.png │ ├── sort_desc.png │ ├── sort_desc_disabled.png │ ├── statistics.gif │ ├── thumb_up.png │ ├── to_left.png │ ├── to_right.png │ ├── warning.png │ ├── wrench.gif │ ├── yes.png │ └── youtube.png ├── index.jsp ├── javascript │ ├── contest_edit.js │ ├── contest_list.js │ ├── contest_rank_setting.js │ ├── contest_view.js │ ├── editDescription.js │ ├── legacy │ │ ├── FixedHeader.js │ │ ├── jquery-ui-1.8.16.custom.min.js │ │ ├── jquery.ba-hashchange.min.js │ │ ├── jquery.dataTables.min.js │ │ ├── jquery.min.js │ │ ├── jquery.scrollTo-min.js │ │ └── listContest.js │ ├── listOL.js │ ├── min │ │ ├── script.js │ │ └── script.min.js │ ├── problem_list.js │ ├── problem_status.js │ ├── problem_view.js │ ├── shared │ │ ├── __jquery-2.1.1.min.js │ │ ├── _base64.js │ │ ├── _common.js │ │ ├── _engine.js │ │ ├── _facebox.js │ │ ├── _jquery.ba-hashchange.js │ │ ├── _jquery.cookie.js │ │ ├── _jquery.dataTables.min.js │ │ ├── _jquery.quicksand.js │ │ ├── _jquery.scrollTo.js │ │ ├── _sh_main.min.js │ │ ├── cssmenu.js │ │ └── dataTables.jqueryui.js │ ├── submit.js │ └── viewSource.js ├── jquery-ui-1.11.1.custom │ ├── external │ │ └── jquery │ │ │ └── jquery.js │ ├── images │ │ ├── ui-bg_flat_0_aaaaaa_40x100.png │ │ ├── ui-bg_flat_75_ffffff_40x100.png │ │ ├── ui-bg_glass_55_fbf9ee_1x400.png │ │ ├── ui-bg_glass_65_ffffff_1x400.png │ │ ├── ui-bg_glass_75_c1a4ea_1x400.png │ │ ├── ui-bg_glass_75_e3e4f8_1x400.png │ │ ├── ui-bg_glass_95_fef1ec_1x400.png │ │ ├── ui-bg_highlight-hard_75_c4c0d9_1x100.png │ │ ├── ui-icons_222222_256x240.png │ │ ├── ui-icons_2e83ff_256x240.png │ │ ├── ui-icons_454545_256x240.png │ │ ├── ui-icons_888888_256x240.png │ │ └── ui-icons_cd0a0a_256x240.png │ ├── index.html │ ├── jquery-ui.css │ ├── jquery-ui.js │ ├── jquery-ui.min.css │ ├── jquery-ui.min.js │ ├── jquery-ui.structure.css │ ├── jquery-ui.structure.min.css │ ├── jquery-ui.theme.css │ └── jquery-ui.theme.min.css ├── problem │ ├── edit_description.jsp │ ├── list.jsp │ ├── source.jsp │ ├── status.jsp │ ├── submit.jsp │ └── view.jsp ├── shjsx │ ├── css │ │ └── sh_typical.min.css │ ├── img │ │ └── toolbar.png │ ├── lang │ │ ├── sh_bison.min.js │ │ ├── sh_c.min.js │ │ ├── sh_caml.min.js │ │ ├── sh_changelog.min.js │ │ ├── sh_cpp.min.js │ │ ├── sh_csharp.min.js │ │ ├── sh_css.min.js │ │ ├── sh_desktop.min.js │ │ ├── sh_diff.min.js │ │ ├── sh_flex.min.js │ │ ├── sh_glsl.min.js │ │ ├── sh_haxe.min.js │ │ ├── sh_html.min.js │ │ ├── sh_java.min.js │ │ ├── sh_javascript.min.js │ │ ├── sh_javascript_dom.min.js │ │ ├── sh_latex.min.js │ │ ├── sh_ldap.min.js │ │ ├── sh_log.min.js │ │ ├── sh_lsm.min.js │ │ ├── sh_m4.min.js │ │ ├── sh_makefile.min.js │ │ ├── sh_oracle.min.js │ │ ├── sh_pascal.min.js │ │ ├── sh_perl.min.js │ │ ├── sh_php.min.js │ │ ├── sh_prolog.min.js │ │ ├── sh_properties.min.js │ │ ├── sh_python.min.js │ │ ├── sh_ruby.min.js │ │ ├── sh_scala.min.js │ │ ├── sh_sh.min.js │ │ ├── sh_slang.min.js │ │ ├── sh_sml.min.js │ │ ├── sh_spec.min.js │ │ ├── sh_sql.min.js │ │ ├── sh_tcl.min.js │ │ ├── sh_xml.min.js │ │ └── sh_xorg.min.js │ ├── sh_main.min.js │ └── shx_main.min.css ├── stat │ ├── listOnlineUsers.jsp │ └── viewOL.jsp ├── top.jsp ├── user │ ├── profile.jsp │ └── update.jsp └── welcome.jsp ├── build └── .gitignore └── src ├── applicationContext.xml ├── config.properties ├── forbiddenVisitorRules.xml ├── http_client.json ├── judge ├── action │ ├── BaseAction.java │ ├── ContestAction.java │ ├── MainAction.java │ ├── ProblemAction.java │ ├── StatAction.java │ └── UserAction.java ├── bean │ ├── Contest.hbm.xml │ ├── Contest.java │ ├── Cproblem.hbm.xml │ ├── Cproblem.java │ ├── DataTablesPage.java │ ├── Description.hbm.xml │ ├── Description.java │ ├── Problem.hbm.xml │ ├── Problem.java │ ├── ReplayStatus.hbm.xml │ ├── ReplayStatus.java │ ├── Submission.hbm.xml │ ├── Submission.java │ ├── User.hbm.xml │ ├── User.java │ ├── UserSession.hbm.xml │ └── UserSession.java ├── dao │ ├── BaseDao.java │ └── IBaseDao.java ├── executor │ ├── CascadeTask.java │ ├── ExecutorTaskType.java │ ├── Task.java │ └── TaskExecutor.java ├── httpclient │ ├── AnonymousHttpContextRepository.java │ ├── DedicatedHttpClient.java │ ├── DedicatedHttpClientFactory.java │ ├── HttpBodyValidator.java │ ├── HttpStatusValidator.java │ ├── Mapper.java │ ├── MultipleProxyHttpClient.java │ ├── MultipleProxyHttpClientFactory.java │ ├── SimpleHttpResponse.java │ ├── SimpleHttpResponseMapper.java │ ├── SimpleHttpResponseValidator.java │ └── SimpleNameValueEntityFactory.java ├── interceptor │ └── AutoLoginInterceptor.java ├── remote │ ├── ProblemInfoUpdateManager.java │ ├── QueryStatusManager.java │ ├── RemoteOj.java │ ├── RemoteOjAware.java │ ├── RemoteOjInfo.java │ ├── RemoteStatusUpdateEvent.java │ ├── RunningSubmissions.java │ ├── SubmissionConverter.java │ ├── SubmitCodeManager.java │ ├── account │ │ ├── RemoteAccount.java │ │ ├── RemoteAccountRepository.java │ │ ├── RemoteAccountStatus.java │ │ ├── RemoteAccountTask.java │ │ ├── RemoteAccountTaskExecutor.java │ │ ├── RemoteAccountTaskExecutorFactory.java │ │ └── config │ │ │ ├── RemoteAccountConfig.java │ │ │ └── RemoteAccountOJConfig.java │ ├── crawler │ │ ├── Crawler.java │ │ ├── CrawlersHolder.java │ │ ├── ProblemInfoUpdateTask.java │ │ ├── RawProblemInfo.java │ │ ├── SimpleCrawler.java │ │ └── SyncCrawler.java │ ├── language │ │ ├── LanguageFinder.java │ │ ├── LanguageFindersHolder.java │ │ └── LanguageManager.java │ ├── loginer │ │ ├── Loginer.java │ │ ├── LoginersHolder.java │ │ └── RetentiveLoginer.java │ ├── provider │ │ ├── acdream │ │ │ ├── ACdreamCrawler.java │ │ │ ├── ACdreamInfo.java │ │ │ ├── ACdreamLanguageFinder.java │ │ │ ├── ACdreamLoginer.java │ │ │ ├── ACdreamQuerier.java │ │ │ └── ACdreamSubmitter.java │ │ ├── aizu │ │ │ ├── AizuCrawler.java │ │ │ ├── AizuInfo.java │ │ │ ├── AizuLanguageFinder.java │ │ │ ├── AizuLoginer.java │ │ │ ├── AizuQuerier.java │ │ │ └── AizuSubmitter.java │ │ ├── codeforces │ │ │ ├── CodeForcesCrawler.java │ │ │ ├── CodeForcesInfo.java │ │ │ ├── CodeForcesLanguageFinder.java │ │ │ ├── CodeForcesLoginer.java │ │ │ ├── CodeForcesQuerier.java │ │ │ └── CodeForcesSubmitter.java │ │ ├── codeforcesgym │ │ │ ├── CodeForcesGymCrawler.java │ │ │ ├── CodeForcesGymInfo.java │ │ │ ├── CodeForcesGymLanguageFinder.java │ │ │ ├── CodeForcesGymLoginer.java │ │ │ ├── CodeForcesGymQuerier.java │ │ │ └── CodeForcesGymSubmitter.java │ │ ├── csu │ │ │ ├── CSUCrawler.java │ │ │ ├── CSUInfo.java │ │ │ ├── CSULanguageFinder.java │ │ │ ├── CSULoginer.java │ │ │ ├── CSUQuerier.java │ │ │ └── CSUSubmitter.java │ │ ├── fzu │ │ │ ├── FZUCrawler.java │ │ │ ├── FZUInfo.java │ │ │ ├── FZULanguageFinder.java │ │ │ ├── FZULoginer.java │ │ │ ├── FZUQuerier.java │ │ │ └── FZUSubmitter.java │ │ ├── hdu │ │ │ ├── HDUCrawler.java │ │ │ ├── HDUInfo.java │ │ │ ├── HDULanguageFinder.java │ │ │ ├── HDULoginer.java │ │ │ ├── HDUQuerier.java │ │ │ └── HDUSubmitter.java │ │ ├── hust │ │ │ ├── HUSTCrawler.java │ │ │ ├── HUSTInfo.java │ │ │ ├── HUSTLanguageFinder.java │ │ │ ├── HUSTLoginer.java │ │ │ ├── HUSTQuerier.java │ │ │ └── HUSTSubmitter.java │ │ ├── hysbz │ │ │ ├── HYSBZCrawler.java │ │ │ ├── HYSBZInfo.java │ │ │ ├── HYSBZLanguageFinder.java │ │ │ ├── HYSBZLoginer.java │ │ │ ├── HYSBZQuerier.java │ │ │ └── HYSBZSubmitter.java │ │ ├── lightoj │ │ │ ├── LightOJCrawler.java │ │ │ ├── LightOJInfo.java │ │ │ ├── LightOJLanguageFinder.java │ │ │ ├── LightOJLoginer.java │ │ │ ├── LightOJQuerier.java │ │ │ └── LightOJSubmitter.java │ │ ├── local │ │ │ ├── LOCALCrawler.java │ │ │ ├── LOCALInfo.java │ │ │ ├── LOCALLanguageFinder.java │ │ │ ├── LOCALLoginer.java │ │ │ ├── LOCALQuerier.java │ │ │ └── LOCALSubmitter.java │ │ ├── nbut │ │ │ ├── NBUTCrawler.java │ │ │ ├── NBUTInfo.java │ │ │ ├── NBUTLanguageFinder.java │ │ │ ├── NBUTLoginer.java │ │ │ ├── NBUTQuerier.java │ │ │ └── NBUTSubmitter.java │ │ ├── poj │ │ │ ├── POJCrawler.java │ │ │ ├── POJInfo.java │ │ │ ├── POJLanguageFinder.java │ │ │ ├── POJLoginer.java │ │ │ ├── POJQuerier.java │ │ │ └── POJSubmitter.java │ │ ├── scu │ │ │ ├── SCUCaptchaRecognizer.java │ │ │ ├── SCUCrawler.java │ │ │ ├── SCUInfo.java │ │ │ ├── SCULanguageFinder.java │ │ │ ├── SCULoginer.java │ │ │ ├── SCUQuerier.java │ │ │ └── SCUSubmitter.java │ │ ├── sgu │ │ │ ├── SGUCrawler.java │ │ │ ├── SGUInfo.java │ │ │ ├── SGULanguageFinder.java │ │ │ ├── SGUQuerier.java │ │ │ └── SGUSubmitter.java │ │ ├── spoj │ │ │ ├── SPOJCrawler.java │ │ │ ├── SPOJInfo.java │ │ │ ├── SPOJLanguageFinder.java │ │ │ ├── SPOJLoginer.java │ │ │ ├── SPOJQuerier.java │ │ │ └── SPOJSubmitter.java │ │ ├── tyvj │ │ │ ├── TyvjCrawler.java │ │ │ ├── TyvjInfo.java │ │ │ ├── TyvjLanguageFinder.java │ │ │ ├── TyvjLoginer.java │ │ │ ├── TyvjQuerier.java │ │ │ └── TyvjSubmitter.java │ │ ├── uestc │ │ │ ├── UESTCCrawler.java │ │ │ ├── UESTCInfo.java │ │ │ ├── UESTCLanguageFinder.java │ │ │ ├── UESTCLoginer.java │ │ │ ├── UESTCQuerier.java │ │ │ └── UESTCSubmitter.java │ │ ├── uestc_old │ │ │ └── UESTCOldInfo.java │ │ ├── ural │ │ │ ├── URALCrawler.java │ │ │ ├── URALInfo.java │ │ │ ├── URALLanguageFinder.java │ │ │ ├── URALQuerier.java │ │ │ └── URALSubmitter.java │ │ ├── uva │ │ │ ├── UVACrawler.java │ │ │ ├── UVAInfo.java │ │ │ ├── UVALanguageFinder.java │ │ │ ├── UVALoginer.java │ │ │ ├── UVAQuerier.java │ │ │ ├── UVASubmitter.java │ │ │ └── UVaProblemIdMapHelper.java │ │ ├── uvalive │ │ │ ├── UVALiveCrawler.java │ │ │ ├── UVALiveInfo.java │ │ │ ├── UVALiveLanguageFinder.java │ │ │ ├── UVALiveLoginer.java │ │ │ ├── UVALiveProblemIdMapHelper.java │ │ │ ├── UVALiveQuerier.java │ │ │ └── UVALiveSubmitter.java │ │ ├── zoj │ │ │ ├── ZOJCrawler.java │ │ │ ├── ZOJInfo.java │ │ │ ├── ZOJLanguageFinder.java │ │ │ ├── ZOJLoginer.java │ │ │ ├── ZOJQuerier.java │ │ │ └── ZOJSubmitter.java │ │ └── ztrening │ │ │ └── ZTreningInfo.java │ ├── querier │ │ ├── AuthenticatedQuerier.java │ │ ├── Querier.java │ │ ├── QueriersHolder.java │ │ └── SyncQuerier.java │ ├── shared │ │ ├── FileDownloader.java │ │ ├── UVAStyleQuerier.java │ │ └── codeforces │ │ │ ├── CFStyleCrawler.java │ │ │ ├── CFStyleLanguageFinder.java │ │ │ ├── CFStyleLoginer.java │ │ │ ├── CFStyleQuerier.java │ │ │ ├── CFStyleSubmitter.java │ │ │ └── CodeForcesTokenUtil.java │ ├── status │ │ ├── RemoteStatusNormalizer.java │ │ ├── RemoteStatusType.java │ │ ├── SubmissionRemoteStatus.java │ │ └── SubstringNormalizer.java │ └── submitter │ │ ├── CanonicalSubmitter.java │ │ ├── SubmissionInfo.java │ │ ├── SubmissionReceipt.java │ │ ├── Submitter.java │ │ └── SubmittersHolder.java ├── service │ ├── AutoLoginManager.java │ ├── BaseService.java │ ├── ContestSubmissionMonitor.java │ ├── IBaseService.java │ ├── JedisService.java │ ├── JedisTask.java │ ├── JudgeService.java │ └── UserService.java └── tool │ ├── ApplicationConfigPopulator.java │ ├── ApplicationContainer.java │ ├── CanonicalLanguage.java │ ├── CharacterEncodingFilter.java │ ├── CookieUtil.java │ ├── Customize.java │ ├── DescriptionComparator.java │ ├── FileTool.java │ ├── ForbiddenVisitorRuler.java │ ├── Handler.java │ ├── HtmlHandleUtil.java │ ├── JspForbidden.java │ ├── LRUList.java │ ├── MD5.java │ ├── MarkdownParser.java │ ├── MyFilter.java │ ├── OnlineTool.java │ ├── PDFFileRedirect.java │ ├── PhysicalAddressTool.java │ ├── RandomUtil.java │ ├── SessionCleaner.java │ ├── SessionContext.java │ ├── SessionListener.java │ ├── SpringBean.java │ ├── StartUpListener.java │ ├── TempFileCleaner.java │ ├── Tools.java │ ├── UserAgentUtil.java │ └── ZipUtil.java ├── log4j.properties ├── remote_accounts.json ├── struts-Contest.xml ├── struts-Problem.xml ├── struts-Stat.xml ├── struts-User.xml ├── struts.properties ├── struts.xml └── vhoj_20141109.sql /README.md: -------------------------------------------------------------------------------- 1 | #Virtual-Judge# 2 | 3 | a fork of the hust-virtual-judge system early released source code 4 | 5 | 6 | 7 | 基础代码来自 8 | https://github.com/hnshhslsh/virtual-judge 9 | 10 | 做了一些小的调整和改动,让部署更容易 11 | 12 | 整理了所有的jar依赖,修订了路径和配置,增加了与最新版hustoj配合的本地判题功能。 13 | 工程整理为eclipse工程,不需要破解myeclipse 14 | 15 | Ubuntu 14/16 LTS install script 执行完访问http://服务器IP:8080/vjudge/ 即可使用vjudge 16 | ``` 17 | wget https://github.com/zhblue/vjudge/raw/master/install.sh 18 | sudo bash install.sh 19 | ``` 20 | 21 | 22 | 基本操作: 23 | * 安装 jdk8+ 24 | * 安装 mysql5+ 25 | * 安装启动tomcat8+ 26 | * 将下载到的vjudge.war文件放入/var/lib/tomcat8/webapps目录 27 | * 等待tomcat自动解压缩得到vjudge目录 28 | * 启动mysql,建库,用vjudge/WEB-INF/classes/vhoj_20141109.sql 建表。 29 | * 编辑vjudge/WEB-INF/classes/config.properties设置数据库账号 30 | * 编辑vjudge/WEB-INF/classes/remote_accounts.json设置宿主OJ账号 31 | * 编辑vjudge/WEB-INF/classes/http_client.json设置代理服务器(可选) 32 | * 重启tomcat 33 | * 浏览器访问http://服务器地址:8080/vjudge/ 34 | * 如需去掉端口、子目录,可用nginx做反向代理。 35 | 36 | 只需少量调整就可以跟最新版hustoj配合,自己的vjudge抓自己oj的题。 37 | 38 | 相关类judge.remote.provider.local.* 39 | 配置域名和路径 40 | https://github.com/zhblue/vjudge/blob/master/vjudge2016/src/config.properties#L34 41 | 42 | -------------------------------------------------------------------------------- /install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | apt-get update 3 | apt-get -y install tomcat8 mysql-server 4 | wget https://github.com/zhblue/vjudge/raw/master/vjudge.war 5 | cp vjudge.war /var/lib/tomcat8/webapps/ 6 | echo "waiting for tomcat8 deploying vjudge.war ... 8s count down" 7 | sleep 8 8 | DBUSER=`cat /etc/mysql/debian.cnf | grep user|awk '{print $3}'|head -1` 9 | DBPASS=`cat /etc/mysql/debian.cnf | grep password|awk '{print $3}'|head -1` 10 | SQL=`find /var/lib/tomcat8/webapps/vjudge -name "*.sql"` 11 | cat $SQL | mysql -u$DBUSER -p$DBPASS 12 | cd /var/lib/tomcat8/webapps/vjudge/WEB-INF/classes 13 | sed -i "s/jdbc.username= root/jdbc.username=$DBUSER/g" config.properties 14 | sed -i "s/jdbc.password= /jdbc.password=$DBPASS/g" config.properties 15 | 16 | service tomcat8 restart 17 | -------------------------------------------------------------------------------- /vjudge.war: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge.war -------------------------------------------------------------------------------- /vjudge2016/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /vjudge2016/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | vjudge2016 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.wst.jsdt.core.javascriptValidator 10 | 11 | 12 | 13 | 14 | org.eclipse.jdt.core.javabuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.wst.common.project.facet.core.builder 20 | 21 | 22 | 23 | 24 | org.eclipse.wst.validation.validationbuilder 25 | 26 | 27 | 28 | 29 | 30 | org.eclipse.jem.workbench.JavaEMFNature 31 | org.eclipse.wst.common.modulecore.ModuleCoreNature 32 | org.eclipse.wst.common.project.facet.core.nature 33 | org.eclipse.jdt.core.javanature 34 | org.eclipse.wst.jsdt.core.jsNature 35 | 36 | 37 | -------------------------------------------------------------------------------- /vjudge2016/.settings/.jsdtscope: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /vjudge2016/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding/=UTF-8 3 | -------------------------------------------------------------------------------- /vjudge2016/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate 4 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 5 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 6 | org.eclipse.jdt.core.compiler.compliance=1.7 7 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate 8 | org.eclipse.jdt.core.compiler.debug.localVariable=generate 9 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate 10 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 11 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 12 | org.eclipse.jdt.core.compiler.source=1.7 13 | -------------------------------------------------------------------------------- /vjudge2016/.settings/org.eclipse.wst.common.component: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /vjudge2016/.settings/org.eclipse.wst.common.project.facet.core.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /vjudge2016/.settings/org.eclipse.wst.jsdt.ui.superType.container: -------------------------------------------------------------------------------- 1 | org.eclipse.wst.jsdt.launching.baseBrowserLibrary -------------------------------------------------------------------------------- /vjudge2016/.settings/org.eclipse.wst.jsdt.ui.superType.name: -------------------------------------------------------------------------------- 1 | Window -------------------------------------------------------------------------------- /vjudge2016/WebContent/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Class-Path: 3 | 4 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/META-INF/context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/dwr.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/ant-1.9.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/ant-1.9.4.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/ant-launcher-1.9.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/ant-launcher-1.9.4.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/antlr-2.7.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/antlr-2.7.6.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/aopalliance-1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/aopalliance-1.0.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/asm-3.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/asm-3.3.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/asm-commons-3.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/asm-commons-3.3.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/asm-tree-3.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/asm-tree-3.3.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/commons-codec-1.9.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/commons-codec-1.9.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/commons-collections-3.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/commons-collections-3.1.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/commons-dbcp-1.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/commons-dbcp-1.4.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/commons-fileupload-1.3.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/commons-fileupload-1.3.1.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/commons-io-2.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/commons-io-2.2.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/commons-lang3-3.3.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/commons-lang3-3.3.2.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/commons-logging-1.1.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/commons-logging-1.1.3.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/commons-pool-1.5.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/commons-pool-1.5.4.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/commons-pool2-2.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/commons-pool2-2.0.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/dom4j-1.6.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/dom4j-1.6.1.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/dwr-2.0.10.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/dwr-2.0.10.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/freemarker-2.3.22.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/freemarker-2.3.22.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/gson-2.2.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/gson-2.2.4.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/hibernate-commons-annotations-3.2.0.Final.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/hibernate-commons-annotations-3.2.0.Final.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/hibernate-core-3.6.9.Final.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/hibernate-core-3.6.9.Final.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/hibernate-jpa-2.0-api-1.0.1.Final.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/hibernate-jpa-2.0-api-1.0.1.Final.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/httpclient-4.4-alpha1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/httpclient-4.4-alpha1.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/httpcore-4.4-alpha1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/httpcore-4.4-alpha1.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/httpmime-4.3.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/httpmime-4.3.1.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/javassist-3.11.0.GA.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/javassist-3.11.0.GA.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/jaxen-1.1.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/jaxen-1.1.4.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/jcl-over-slf4j-1.7.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/jcl-over-slf4j-1.7.7.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/jedis-2.6.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/jedis-2.6.0.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/jsoup-1.7.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/jsoup-1.7.3.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/jstl-1.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/jstl-1.2.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/jta-1.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/jta-1.1.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/jxl-2.6.12.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/jxl-2.6.12.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/log4j-1.2.17.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/log4j-1.2.17.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/mysql-connector-java-5.1.40-bin.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/mysql-connector-java-5.1.40-bin.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/ognl-3.0.19.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/ognl-3.0.19.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/quartz-1.5.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/quartz-1.5.2.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/servlet-api.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/servlet-api.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/slf4j-api-1.6.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/slf4j-api-1.6.1.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/slf4j-log4j12-1.7.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/slf4j-log4j12-1.7.7.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/spring-aop-4.0.6.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/spring-aop-4.0.6.RELEASE.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/spring-beans-4.0.6.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/spring-beans-4.0.6.RELEASE.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/spring-context-4.0.6.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/spring-context-4.0.6.RELEASE.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/spring-context-support-4.0.6.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/spring-context-support-4.0.6.RELEASE.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/spring-core-4.0.6.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/spring-core-4.0.6.RELEASE.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/spring-expression-4.0.6.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/spring-expression-4.0.6.RELEASE.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/spring-jdbc-4.0.6.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/spring-jdbc-4.0.6.RELEASE.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/spring-orm-4.0.6.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/spring-orm-4.0.6.RELEASE.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/spring-oxm-4.0.6.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/spring-oxm-4.0.6.RELEASE.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/spring-tx-4.0.6.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/spring-tx-4.0.6.RELEASE.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/spring-web-4.0.6.RELEASE.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/spring-web-4.0.6.RELEASE.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/struts2-convention-plugin-2.3.32.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/struts2-convention-plugin-2.3.32.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/struts2-core-2.3.32.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/struts2-core-2.3.32.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/struts2-json-plugin-2.3.32.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/struts2-json-plugin-2.3.32.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/struts2-spring-plugin-2.3.32.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/struts2-spring-plugin-2.3.32.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/tomcat-jdbc-7.0.57.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/tomcat-jdbc-7.0.57.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/tomcat-juli-7.0.57.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/tomcat-juli-7.0.57.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/xml-apis-1.0.b2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/xml-apis-1.0.b2.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/WEB-INF/lib/xwork-core-2.3.32.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/WEB-INF/lib/xwork-core-2.3.32.jar -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/.htaccess: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 | # For licensing, see LICENSE.html or http://ckeditor.com/license 4 | # 5 | 6 | # 7 | # On some specific Linux installations you could face problems with Firefox. 8 | # It could give you errors when loading the editor saying that some illegal 9 | # characters were found (three strange chars in the beginning of the file). 10 | # This could happen if you map the .js or .css files to PHP, for example. 11 | # 12 | # Those characters are the Byte Order Mask (BOM) of the Unicode encoded files. 13 | # All FCKeditor files are Unicode encoded. 14 | # 15 | 16 | AddType application/x-javascript .js 17 | AddType text/css .css 18 | 19 | # 20 | # If PHP is mapped to handle XML files, you could have some issues. The 21 | # following will disable it. 22 | # 23 | 24 | AddType text/xml .xml 25 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_samples/api_dialog/my_dialog.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | CKEDITOR.dialog.add( 'myDialog', function( editor ) 7 | { 8 | return { 9 | title : 'My Dialog', 10 | minWidth : 400, 11 | minHeight : 200, 12 | contents : [ 13 | { 14 | id : 'tab1', 15 | label : 'First Tab', 16 | title : 'First Tab', 17 | elements : 18 | [ 19 | { 20 | id : 'input1', 21 | type : 'text', 22 | label : 'Input 1' 23 | } 24 | ] 25 | } 26 | ] 27 | }; 28 | } ); 29 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/core/dom.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | /** 7 | * @fileOverview Defines the {@link CKEDITOR.dom} object, which contains DOM 8 | * manipulation objects and function. 9 | */ 10 | 11 | /** 12 | * DOM manipulation objects and function.

13 | * @see CKEDITOR.dom.element 14 | * @see CKEDITOR.dom.node 15 | * @namespace 16 | * @example 17 | */ 18 | CKEDITOR.dom = 19 | {}; 20 | 21 | // PACKAGER_RENAME( CKEDITOR.dom ) 22 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/core/dom/comment.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | /** 7 | * @fileOverview Defines the {@link CKEDITOR.dom.comment} class, which represents 8 | * a DOM comment node. 9 | */ 10 | 11 | CKEDITOR.dom.comment = CKEDITOR.tools.createClass( 12 | { 13 | base : CKEDITOR.dom.node, 14 | 15 | $ : function( text, ownerDocument ) 16 | { 17 | if ( typeof text == 'string' ) 18 | text = ( ownerDocument ? ownerDocument.$ : document ).createComment( text ); 19 | 20 | this.base( text ); 21 | }, 22 | 23 | proto : 24 | { 25 | type : CKEDITOR.NODE_COMMENT, 26 | 27 | getOuterHtml : function() 28 | { 29 | return ''; 30 | } 31 | } 32 | }); 33 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/core/dom/nodelist.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | CKEDITOR.dom.nodeList = function( nativeList ) 7 | { 8 | this.$ = nativeList; 9 | }; 10 | 11 | CKEDITOR.dom.nodeList.prototype = 12 | { 13 | count : function() 14 | { 15 | return this.$.length; 16 | }, 17 | 18 | getItem : function( index ) 19 | { 20 | var $node = this.$[ index ]; 21 | return $node ? new CKEDITOR.dom.node( $node ) : null; 22 | } 23 | }; 24 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/core/htmlparser/cdata.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | (function() 7 | { 8 | 9 | /** 10 | * A lightweight representation of HTML text. 11 | * @constructor 12 | * @example 13 | */ 14 | CKEDITOR.htmlParser.cdata = function( value ) 15 | { 16 | /** 17 | * The CDATA value. 18 | * @type String 19 | * @example 20 | */ 21 | this.value = value; 22 | }; 23 | 24 | CKEDITOR.htmlParser.cdata.prototype = 25 | { 26 | /** 27 | * CDATA has the same type as {@link CKEDITOR.htmlParser.text} This is 28 | * a constant value set to {@link CKEDITOR.NODE_TEXT}. 29 | * @type Number 30 | * @example 31 | */ 32 | type : CKEDITOR.NODE_TEXT, 33 | 34 | /** 35 | * Writes write the CDATA with no special manipulations. 36 | * @param {CKEDITOR.htmlWriter} writer The writer to which write the HTML. 37 | */ 38 | writeHtml : function( writer ) 39 | { 40 | writer.write( this.value ); 41 | } 42 | }; 43 | })(); 44 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/core/themes.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | /** 7 | * @fileOverview Defines the {@link CKEDITOR.themes} object, which is used to 8 | * manage themes registration and loading. 9 | */ 10 | 11 | /** 12 | * Manages themes registration and loading. 13 | * @namespace 14 | * @augments CKEDITOR.resourceManager 15 | * @example 16 | */ 17 | CKEDITOR.themes = new CKEDITOR.resourceManager( 18 | '_source/'+ // @Packager.RemoveLine 19 | 'themes/', 'theme' ); 20 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/about/dialogs/logo_ckeditor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/about/dialogs/logo_ckeditor.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/about/plugin.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | CKEDITOR.plugins.add( 'about', 7 | { 8 | requires : [ 'dialog' ], 9 | init : function( editor ) 10 | { 11 | var command = editor.addCommand( 'about', new CKEDITOR.dialogCommand( 'about' ) ); 12 | command.modes = { wysiwyg:1, source:1 }; 13 | command.canUndo = false; 14 | 15 | editor.ui.addButton( 'About', 16 | { 17 | label : editor.lang.about.title, 18 | command : 'about' 19 | }); 20 | 21 | CKEDITOR.dialog.add( 'about', this.path + 'dialogs/about.js' ); 22 | } 23 | }); 24 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/colordialog/plugin.js: -------------------------------------------------------------------------------- 1 | ( function() 2 | { 3 | CKEDITOR.plugins.colordialog = 4 | { 5 | init : function( editor ) 6 | { 7 | editor.addCommand( 'colordialog', new CKEDITOR.dialogCommand( 'colordialog' ) ); 8 | CKEDITOR.dialog.add( 'colordialog', this.path + 'dialogs/colordialog.js' ); 9 | } 10 | }; 11 | 12 | CKEDITOR.plugins.add( 'colordialog', CKEDITOR.plugins.colordialog ); 13 | } )(); 14 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/flash/images/placeholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/flash/images/placeholder.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/forms/images/hiddenfield.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/forms/images/hiddenfield.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/horizontalrule/plugin.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | /** 7 | * @file Horizontal Rule plugin. 8 | */ 9 | 10 | (function() 11 | { 12 | var horizontalruleCmd = 13 | { 14 | canUndo : false, // The undo snapshot will be handled by 'insertElement'. 15 | exec : function( editor ) 16 | { 17 | editor.insertElement( editor.document.createElement( 'hr' ) ); 18 | } 19 | }; 20 | 21 | var pluginName = 'horizontalrule'; 22 | 23 | // Register a plugin named "horizontalrule". 24 | CKEDITOR.plugins.add( pluginName, 25 | { 26 | init : function( editor ) 27 | { 28 | editor.addCommand( pluginName, horizontalruleCmd ); 29 | editor.ui.addButton( 'HorizontalRule', 30 | { 31 | label : editor.lang.horizontalrule, 32 | command : pluginName 33 | }); 34 | } 35 | }); 36 | })(); 37 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/link/images/anchor.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/link/images/anchor.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/pagebreak/images/pagebreak.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/pagebreak/images/pagebreak.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/print/plugin.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | /** 7 | * @file Print Plugin 8 | */ 9 | 10 | CKEDITOR.plugins.add( 'print', 11 | { 12 | init : function( editor ) 13 | { 14 | var pluginName = 'print'; 15 | 16 | // Register the command. 17 | var command = editor.addCommand( pluginName, CKEDITOR.plugins.print ); 18 | 19 | // Register the toolbar button. 20 | editor.ui.addButton( 'Print', 21 | { 22 | label : editor.lang.print, 23 | command : pluginName 24 | }); 25 | } 26 | } ); 27 | 28 | CKEDITOR.plugins.print = 29 | { 30 | exec : function( editor ) 31 | { 32 | if ( CKEDITOR.env.opera ) 33 | return; 34 | else if ( CKEDITOR.env.gecko ) 35 | editor.window.$.print(); 36 | else 37 | editor.document.$.execCommand( "Print" ); 38 | }, 39 | canUndo : false, 40 | modes : { wysiwyg : !( CKEDITOR.env.opera ) } // It is imposible to print the inner document in Opera. 41 | }; 42 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/showblocks/images/block_address.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/showblocks/images/block_address.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/showblocks/images/block_blockquote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/showblocks/images/block_blockquote.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/showblocks/images/block_div.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/showblocks/images/block_div.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/showblocks/images/block_h1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/showblocks/images/block_h1.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/showblocks/images/block_h2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/showblocks/images/block_h2.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/showblocks/images/block_h3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/showblocks/images/block_h3.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/showblocks/images/block_h4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/showblocks/images/block_h4.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/showblocks/images/block_h5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/showblocks/images/block_h5.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/showblocks/images/block_h6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/showblocks/images/block_h6.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/showblocks/images/block_p.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/showblocks/images/block_p.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/showblocks/images/block_pre.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/showblocks/images/block_pre.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/angel_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/angel_smile.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/angry_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/angry_smile.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/broken_heart.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/broken_heart.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/confused_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/confused_smile.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/cry_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/cry_smile.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/devil_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/devil_smile.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/embaressed_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/embaressed_smile.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/envelope.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/envelope.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/heart.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/heart.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/kiss.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/kiss.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/lightbulb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/lightbulb.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/omg_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/omg_smile.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/regular_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/regular_smile.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/sad_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/sad_smile.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/shades_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/shades_smile.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/teeth_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/teeth_smile.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/thumbs_down.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/thumbs_down.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/thumbs_up.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/thumbs_up.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/tounge_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/tounge_smile.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/whatchutalkingabout_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/whatchutalkingabout_smile.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/wink_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/smiley/images/wink_smile.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/specialchar/plugin.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | /** 7 | * @file Special Character plugin 8 | */ 9 | 10 | CKEDITOR.plugins.add( 'specialchar', 11 | { 12 | init : function( editor ) 13 | { 14 | var pluginName = 'specialchar'; 15 | 16 | // Register the dialog. 17 | CKEDITOR.dialog.add( pluginName, this.path + 'dialogs/specialchar.js' ); 18 | 19 | // Register the command. 20 | editor.addCommand( pluginName, new CKEDITOR.dialogCommand( pluginName ) ); 21 | 22 | // Register the toolbar button. 23 | editor.ui.addButton( 'SpecialChar', 24 | { 25 | label : editor.lang.specialChar.toolbar, 26 | command : pluginName 27 | }); 28 | } 29 | } ); 30 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/templates/templates/images/template1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/templates/templates/images/template1.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/templates/templates/images/template2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/templates/templates/images/template2.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/templates/templates/images/template3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/templates/templates/images/template3.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/uicolor/lang/en.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | CKEDITOR.plugins.setLang( 'uicolor', 'en', 7 | { 8 | uicolor : 9 | { 10 | title : 'UI Color Picker', 11 | preview : 'Live preview', 12 | config : 'Paste this string into your config.js file', 13 | predefined : 'Predefined color sets' 14 | } 15 | }); 16 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/uicolor/plugin.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | CKEDITOR.plugins.add( 'uicolor', 7 | { 8 | requires : [ 'dialog' ], 9 | lang : [ 'en' ], 10 | 11 | init : function( editor ) 12 | { 13 | if ( CKEDITOR.env.ie6Compat ) 14 | return; 15 | 16 | editor.addCommand( 'uicolor', new CKEDITOR.dialogCommand( 'uicolor' ) ); 17 | editor.ui.addButton( 'UIColor', 18 | { 19 | label : editor.lang.uicolor.title, 20 | command : 'uicolor', 21 | icon : this.path + 'uicolor.gif' 22 | }); 23 | CKEDITOR.dialog.add( 'uicolor', this.path + 'dialogs/uicolor.js' ); 24 | 25 | // Load YUI js files. 26 | CKEDITOR.scriptLoader.load( CKEDITOR.getUrl( 27 | '_source/' + // @Packager.RemoveLine 28 | 'plugins/uicolor/yui/yui.js' 29 | )); 30 | 31 | // Load YUI css files. 32 | editor.element.getDocument().appendStyleSheet( CKEDITOR.getUrl( 33 | '_source/' + // @Packager.RemoveLine 34 | 'plugins/uicolor/yui/assets/yui.css' 35 | )); 36 | } 37 | } ); 38 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/uicolor/uicolor.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/uicolor/uicolor.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/uicolor/yui/assets/hue_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/uicolor/yui/assets/hue_bg.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/uicolor/yui/assets/hue_thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/uicolor/yui/assets/hue_thumb.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/uicolor/yui/assets/picker_mask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/uicolor/yui/assets/picker_mask.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/uicolor/yui/assets/picker_thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/plugins/uicolor/yui/assets/picker_thumb.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/plugins/wsc/plugin.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | /** 7 | * @file Spell checker 8 | */ 9 | 10 | // Register a plugin named "wsc". 11 | CKEDITOR.plugins.add( 'wsc', 12 | { 13 | requires : [ 'dialog' ], 14 | init : function( editor ) 15 | { 16 | var commandName = 'checkspell'; 17 | 18 | var command = editor.addCommand( commandName, new CKEDITOR.dialogCommand( commandName ) ); 19 | 20 | // SpellChecker doesn't work in Opera and with custom domain 21 | command.modes = { wysiwyg : ( !CKEDITOR.env.opera && document.domain == window.location.hostname ) }; 22 | 23 | editor.ui.addButton( 'SpellChecker', 24 | { 25 | label : editor.lang.spellCheck.toolbar, 26 | command : commandName 27 | }); 28 | CKEDITOR.dialog.add( commandName, this.path + 'dialogs/wsc.js' ); 29 | } 30 | }); 31 | 32 | CKEDITOR.config.wsc_customerId = CKEDITOR.config.wsc_customerId || '1:ua3xw1-2XyGJ3-GWruD3-6OFNT1-oXcuB1-nR6Bp4-hgQHc-EcYng3-sdRXG3-NOfFk' ; 33 | CKEDITOR.config.wsc_customLoaderScript = CKEDITOR.config.wsc_customLoaderScript || null; 34 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/kama/editor.css: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | @import url("reset.css"); 7 | @import url("mainui.css"); 8 | @import url("panel.css"); 9 | @import url("toolbar.css"); 10 | @import url("menu.css"); 11 | @import url("richcombo.css"); 12 | @import url("elementspath.css"); 13 | @import url("icons.css"); 14 | @import url("presets.css"); 15 | 16 | /* Restore the container visibility */ 17 | html .cke_skin_kama 18 | { 19 | visibility: inherit; 20 | } 21 | 22 | html.cke_skin_kama_container 23 | { 24 | visibility: visible; 25 | } 26 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/kama/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/skins/kama/icons.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/kama/images/dialog_sides.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/skins/kama/images/dialog_sides.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/kama/images/dialog_sides.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/skins/kama/images/dialog_sides.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/kama/images/dialog_sides_rtl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/skins/kama/images/dialog_sides_rtl.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/kama/images/mini.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/skins/kama/images/mini.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/kama/images/noimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/skins/kama/images/noimage.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/kama/images/sprites.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/skins/kama/images/sprites.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/kama/images/sprites_ie6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/skins/kama/images/sprites_ie6.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/kama/images/toolbar_start.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/skins/kama/images/toolbar_start.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/kama/presets.css: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | /* "Source" button label */ 7 | .cke_skin_kama .cke_button_source .cke_label 8 | { 9 | display: inline; 10 | } 11 | 12 | /* "Styles" panel size */ 13 | .cke_skin_kama .cke_styles_panel 14 | { 15 | width: 150px; 16 | height: 170px; 17 | } 18 | 19 | /* "Format" panel size */ 20 | .cke_skin_kama .cke_format_panel 21 | { 22 | width: 150px; 23 | height: 170px; 24 | } 25 | 26 | /* "Font" panel size */ 27 | .cke_skin_kama .cke_font_panel 28 | { 29 | width: 150px; 30 | height: 170px; 31 | } 32 | 33 | /* "Font Size" panel size */ 34 | .cke_skin_kama .cke_fontSize_panel 35 | { 36 | height: 170px; 37 | } 38 | 39 | /* "Font Size" combo width */ 40 | .cke_skin_kama .cke_fontSize .cke_text 41 | { 42 | width: 25px; 43 | } 44 | 45 | /* "Font Size" combo width (IE Quirks) */ 46 | .cke_skin_kama .cke_browser_iequirks .cke_fontSize .cke_text 47 | { 48 | width: 32px; 49 | } 50 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/office2003/editor.css: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | @import url("reset.css"); 7 | @import url("mainui.css"); 8 | @import url("panel.css"); 9 | @import url("toolbar.css"); 10 | @import url("menu.css"); 11 | @import url("richcombo.css"); 12 | @import url("elementspath.css"); 13 | @import url("icons.css"); 14 | @import url("presets.css"); 15 | 16 | /* Restore the container visibility */ 17 | html .cke_skin_office2003 18 | { 19 | visibility: inherit; 20 | } 21 | 22 | html.cke_skin_office2003_container 23 | { 24 | visibility: visible; 25 | } 26 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/office2003/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/skins/office2003/icons.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/office2003/images/dialog_sides.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/skins/office2003/images/dialog_sides.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/office2003/images/dialog_sides.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/skins/office2003/images/dialog_sides.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/office2003/images/dialog_sides_rtl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/skins/office2003/images/dialog_sides_rtl.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/office2003/images/mini.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/skins/office2003/images/mini.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/office2003/images/noimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/skins/office2003/images/noimage.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/office2003/images/sprites.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/skins/office2003/images/sprites.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/office2003/images/sprites_ie6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/skins/office2003/images/sprites_ie6.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/office2003/presets.css: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | /* "Source" button label */ 7 | .cke_skin_office2003 .cke_button_source .cke_label 8 | { 9 | display: inline; 10 | } 11 | 12 | /* "Styles" panel size */ 13 | .cke_skin_office2003 .cke_styles_panel 14 | { 15 | width: 150px; 16 | height: 170px; 17 | } 18 | 19 | /* "Format" panel size */ 20 | .cke_skin_office2003 .cke_format_panel 21 | { 22 | width: 150px; 23 | height: 170px; 24 | } 25 | 26 | /* "Font" panel size */ 27 | .cke_skin_office2003 .cke_font_panel 28 | { 29 | width: 150px; 30 | height: 170px; 31 | } 32 | 33 | /* "Font Size" panel size */ 34 | .cke_skin_office2003 .cke_fontSize_panel 35 | { 36 | height: 170px; 37 | } 38 | 39 | /* "Font Size" combo width */ 40 | .cke_skin_office2003 .cke_fontSize .cke_text 41 | { 42 | width: 20px; 43 | } 44 | 45 | /* "Font Size" combo width (IE Quirks) */ 46 | .cke_skin_office2003 .cke_browser_iequirks .cke_fontSize .cke_text 47 | { 48 | width: 32px; 49 | } 50 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/v2/editor.css: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | @import url("reset.css"); 7 | @import url("mainui.css"); 8 | @import url("panel.css"); 9 | @import url("toolbar.css"); 10 | @import url("menu.css"); 11 | @import url("richcombo.css"); 12 | @import url("elementspath.css"); 13 | @import url("icons.css"); 14 | @import url("presets.css"); 15 | 16 | /* Restore the container visibility */ 17 | html .cke_skin_v2 18 | { 19 | visibility: inherit; 20 | } 21 | 22 | html.cke_skin_v2_container 23 | { 24 | visibility: visible; 25 | } 26 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/v2/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/skins/v2/icons.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/v2/images/dialog_sides.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/skins/v2/images/dialog_sides.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/v2/images/dialog_sides.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/skins/v2/images/dialog_sides.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/v2/images/dialog_sides_rtl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/skins/v2/images/dialog_sides_rtl.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/v2/images/mini.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/skins/v2/images/mini.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/v2/images/noimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/skins/v2/images/noimage.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/v2/images/sprites.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/skins/v2/images/sprites.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/v2/images/sprites_ie6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/skins/v2/images/sprites_ie6.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/v2/images/toolbar_start.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/_source/skins/v2/images/toolbar_start.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/_source/skins/v2/presets.css: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | /* "Source" button label */ 7 | .cke_skin_v2 .cke_button_source .cke_label 8 | { 9 | display: inline; /* FF2 */ 10 | display: inline-block; 11 | } 12 | 13 | /* "Styles" panel size */ 14 | .cke_skin_v2 .cke_styles_panel 15 | { 16 | width: 150px; 17 | height: 170px; 18 | } 19 | 20 | /* "Format" panel size */ 21 | .cke_skin_v2 .cke_format_panel 22 | { 23 | width: 150px; 24 | height: 170px; 25 | } 26 | 27 | /* "Font" panel size */ 28 | .cke_skin_v2 .cke_font_panel 29 | { 30 | width: 150px; 31 | height: 170px; 32 | } 33 | 34 | /* "Font Size" panel size */ 35 | .cke_skin_v2 .cke_fontSize_panel 36 | { 37 | height: 170px; 38 | } 39 | 40 | /* "Font Size" combo width */ 41 | .cke_skin_v2 .cke_fontSize .cke_text 42 | { 43 | width: 20px; 44 | } 45 | 46 | /* "Font Size" combo width (IE Quirks) */ 47 | .cke_skin_v2 .cke_browser_iequirks .cke_fontSize .cke_text 48 | { 49 | width: 32px; 50 | } 51 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/ckeditor.php: -------------------------------------------------------------------------------- 1 | CKEditor web site to find more information about the editor. 10 | * \section install_sec Installation 11 | * \subsection step1 Include ckeditor.php in your PHP web site. 12 | * @code 13 | * 16 | * @endcode 17 | * \subsection step2 Create CKEditor class instance and use one of available methods to insert CKEditor. 18 | * @code 19 | * textarea("field1", "

Initial value.

"); 22 | * ?> 23 | * @endcode 24 | */ 25 | 26 | if ( !function_exists('version_compare') || version_compare( phpversion(), '5', '<' ) ) 27 | include_once( 'ckeditor_php4.php' ) ; 28 | else 29 | include_once( 'ckeditor_php5.php' ) ; 30 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/config.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | CKEDITOR.editorConfig = function( config ) 7 | { 8 | // Define changes to default configuration here. For example: 9 | // config.language = 'fr'; 10 | // config.uiColor = '#AADC6E'; 11 | config.width = 960; 12 | config.height = 400; 13 | config.resize_enabled = true; 14 | config.toolbar = 'Full'; 15 | }; 16 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/contents.css: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | body 7 | { 8 | /* Font 9 | font-family: Arial, Verdana, sans-serif; 10 | font-size: 12px;*/ 11 | 12 | /* Text color */ 13 | color: #222; 14 | 15 | /* Remove the background color to make it transparent */ 16 | background-color: #fff; 17 | } 18 | 19 | html 20 | { 21 | /* #3658: [IE6] Editor document has horizontal scrollbar on long lines 22 | To prevent this misbehavior, we show the scrollbar always */ 23 | _overflow-y: scroll 24 | } 25 | 26 | img:-moz-broken 27 | { 28 | -moz-force-broken-image-icon : 1; 29 | width : 24px; 30 | height : 24px; 31 | } 32 | img, input, textarea 33 | { 34 | cursor: default; 35 | } 36 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/images/spacer.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/images/spacer.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/lang/_languages.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | var CKEDITOR_LANGS=(function(){var b={af:'Afrikaans',ar:'Arabic',bg:'Bulgarian',bn:'Bengali/Bangla',bs:'Bosnian',ca:'Catalan',cs:'Czech',cy:'Welsh',da:'Danish',de:'German',el:'Greek',en:'English','en-au':'English (Australia)','en-ca':'English (Canadian)','en-gb':'English (United Kingdom)',eo:'Esperanto',es:'Spanish',et:'Estonian',eu:'Basque',fa:'Persian',fi:'Finnish',fo:'Faroese',fr:'French','fr-ca':'French (Canada)',gl:'Galician',gu:'Gujarati',he:'Hebrew',hi:'Hindi',hr:'Croatian',hu:'Hungarian',is:'Icelandic',it:'Italian',ja:'Japanese',km:'Khmer',ko:'Korean',lt:'Lithuanian',lv:'Latvian',mn:'Mongolian',ms:'Malay',nb:'Norwegian Bokmal',nl:'Dutch',no:'Norwegian',pl:'Polish',pt:'Portuguese (Portugal)','pt-br':'Portuguese (Brazil)',ro:'Romanian',ru:'Russian',sk:'Slovak',sl:'Slovenian',sr:'Serbian (Cyrillic)','sr-latn':'Serbian (Latin)',sv:'Swedish',th:'Thai',tr:'Turkish',uk:'Ukrainian',vi:'Vietnamese',zh:'Chinese Traditional','zh-cn':'Chinese Simplified'},c=[];for(var d in b)c.push({code:d,name:b[d]});c.sort(function(e,f){return e.name'+a.lang.clipboard.pasteMsg+''},{type:'html',id:'content',style:'width:340px;height:170px',html:'',onLoad:function(){var b=this.getDialog().getContentElement('general','pasteMsg').getElement(),c=this.getElement();c.setAttribute('aria-labelledby',b.$.id);},focus:function(){this.getElement().focus();}}]}]};});})(); 7 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/showblocks/images/block_address.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/showblocks/images/block_address.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/showblocks/images/block_blockquote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/showblocks/images/block_blockquote.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/showblocks/images/block_div.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/showblocks/images/block_div.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/showblocks/images/block_h1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/showblocks/images/block_h1.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/showblocks/images/block_h2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/showblocks/images/block_h2.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/showblocks/images/block_h3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/showblocks/images/block_h3.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/showblocks/images/block_h4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/showblocks/images/block_h4.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/showblocks/images/block_h5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/showblocks/images/block_h5.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/showblocks/images/block_h6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/showblocks/images/block_h6.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/showblocks/images/block_p.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/showblocks/images/block_p.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/showblocks/images/block_pre.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/showblocks/images/block_pre.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/smiley/images/angel_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/smiley/images/angel_smile.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/smiley/images/angry_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/smiley/images/angry_smile.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/smiley/images/broken_heart.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/smiley/images/broken_heart.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/smiley/images/confused_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/smiley/images/confused_smile.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/smiley/images/cry_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/smiley/images/cry_smile.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/smiley/images/devil_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/smiley/images/devil_smile.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/smiley/images/embaressed_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/smiley/images/embaressed_smile.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/smiley/images/envelope.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/smiley/images/envelope.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/smiley/images/heart.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/smiley/images/heart.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/smiley/images/kiss.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/smiley/images/kiss.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/smiley/images/lightbulb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/smiley/images/lightbulb.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/smiley/images/omg_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/smiley/images/omg_smile.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/smiley/images/regular_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/smiley/images/regular_smile.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/smiley/images/sad_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/smiley/images/sad_smile.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/smiley/images/shades_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/smiley/images/shades_smile.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/smiley/images/teeth_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/smiley/images/teeth_smile.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/smiley/images/thumbs_down.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/smiley/images/thumbs_down.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/smiley/images/thumbs_up.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/smiley/images/thumbs_up.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/smiley/images/tounge_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/smiley/images/tounge_smile.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/smiley/images/wink_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/smiley/images/wink_smile.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/templates/templates/images/template1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/templates/templates/images/template1.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/templates/templates/images/template2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/templates/templates/images/template2.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/templates/templates/images/template3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/templates/templates/images/template3.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/uicolor/lang/en.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | CKEDITOR.plugins.setLang('uicolor','en',{uicolor:{title:'UI Color Picker',preview:'Live preview',config:'Paste this string into your config.js file',predefined:'Predefined color sets'}}); 7 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/uicolor/plugin.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | CKEDITOR.plugins.add('uicolor',{requires:['dialog'],lang:['en'],init:function(a){if(CKEDITOR.env.ie6Compat)return;a.addCommand('uicolor',new CKEDITOR.dialogCommand('uicolor'));a.ui.addButton('UIColor',{label:a.lang.uicolor.title,command:'uicolor',icon:this.path+'uicolor.gif'});CKEDITOR.dialog.add('uicolor',this.path+'dialogs/uicolor.js');CKEDITOR.scriptLoader.load(CKEDITOR.getUrl('plugins/uicolor/yui/yui.js'));a.element.getDocument().appendStyleSheet(CKEDITOR.getUrl('plugins/uicolor/yui/assets/yui.css'));}}); 7 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/uicolor/uicolor.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/uicolor/uicolor.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/uicolor/yui/assets/hue_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/uicolor/yui/assets/hue_bg.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/uicolor/yui/assets/picker_mask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/uicolor/yui/assets/picker_mask.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/plugins/wsc/dialogs/wsc.css: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | html,body{background-color:transparent;margin:0;padding:0;}body{padding:10px;}body,td,input,select,textarea{font-size:11px;font-family:'Microsoft Sans Serif',Arial,Helvetica,Verdana;}.midtext{padding:0;margin:10px;}.midtext p{padding:0;margin:10px;}.Button{border:#737357 1px solid;color:#3b3b1f;background-color:#c7c78f;}.PopupTabArea{color:#737357;background-color:#e3e3c7;}.PopupTitleBorder{border-bottom:#d5d59d 1px solid;}.PopupTabEmptyArea{padding-left:10px;border-bottom:#d5d59d 1px solid;}.PopupTab,.PopupTabSelected{border-right:#d5d59d 1px solid;border-top:#d5d59d 1px solid;border-left:#d5d59d 1px solid;padding:3px 5px 3px 5px;color:#737357;}.PopupTab{margin-top:1px;border-bottom:#d5d59d 1px solid;cursor:pointer;cursor:hand;}.PopupTabSelected{font-weight:bold;cursor:default;padding-top:4px;border-bottom:#f1f1e3 1px solid;background-color:#f1f1e3;} 7 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/skins/kama/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/skins/kama/icons.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/skins/kama/images/dialog_sides.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/skins/kama/images/dialog_sides.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/skins/kama/images/dialog_sides.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/skins/kama/images/dialog_sides.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/skins/kama/images/dialog_sides_rtl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/skins/kama/images/dialog_sides_rtl.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/skins/kama/images/mini.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/skins/kama/images/mini.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/skins/kama/images/noimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/skins/kama/images/noimage.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/skins/kama/images/sprites.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/skins/kama/images/sprites.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/skins/kama/images/sprites_ie6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/skins/kama/images/sprites_ie6.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/skins/kama/images/toolbar_start.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/skins/kama/images/toolbar_start.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/skins/office2003/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/skins/office2003/icons.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/skins/office2003/images/dialog_sides.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/skins/office2003/images/dialog_sides.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/skins/office2003/images/dialog_sides.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/skins/office2003/images/dialog_sides.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/skins/office2003/images/dialog_sides_rtl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/skins/office2003/images/dialog_sides_rtl.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/skins/office2003/images/mini.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/skins/office2003/images/mini.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/skins/office2003/images/noimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/skins/office2003/images/noimage.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/skins/office2003/images/sprites.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/skins/office2003/images/sprites.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/skins/office2003/images/sprites_ie6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/skins/office2003/images/sprites_ie6.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/skins/office2003/skin.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | CKEDITOR.skins.add('office2003',(function(){var a=[];if(CKEDITOR.env.ie&&CKEDITOR.env.version<7)a.push('icons.png','images/sprites_ie6.png','images/dialog_sides.gif');return{preload:a,editor:{css:['editor.css']},dialog:{css:['dialog.css']},templates:{css:['templates.css']},margins:[0,14,18,14]};})());(function(){CKEDITOR.dialog?a():CKEDITOR.on('dialogPluginReady',a);function a(){CKEDITOR.dialog.on('resize',function(b){var c=b.data,d=c.width,e=c.height,f=c.dialog,g=f.parts.contents;if(c.skin!='office2003')return;g.setStyles({width:d+'px',height:e+'px'});if(!CKEDITOR.env.ie)return;var h=function(){var i=f.parts.dialog.getChild([0,0,0]),j=i.getChild(0),k=i.getChild(2);k.setStyle('width',j.$.offsetWidth+'px');k=i.getChild(7);k.setStyle('width',j.$.offsetWidth-28+'px');k=i.getChild(4);k.setStyle('height',j.$.offsetHeight-31-14+'px');k=i.getChild(5);k.setStyle('height',j.$.offsetHeight-31-14+'px');};setTimeout(h,100);if(b.editor.lang.dir=='rtl')setTimeout(h,1000);});};})(); 7 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/skins/v2/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/skins/v2/icons.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/skins/v2/images/dialog_sides.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/skins/v2/images/dialog_sides.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/skins/v2/images/dialog_sides.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/skins/v2/images/dialog_sides.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/skins/v2/images/dialog_sides_rtl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/skins/v2/images/dialog_sides_rtl.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/skins/v2/images/mini.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/skins/v2/images/mini.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/skins/v2/images/noimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/skins/v2/images/noimage.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/skins/v2/images/sprites.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/skins/v2/images/sprites.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/skins/v2/images/sprites_ie6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/skins/v2/images/sprites_ie6.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/skins/v2/images/toolbar_start.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/ckeditor/skins/v2/images/toolbar_start.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/ckeditor/skins/v2/skin.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | CKEDITOR.skins.add('v2',(function(){var a=[];if(CKEDITOR.env.ie&&CKEDITOR.env.version<7)a.push('icons.png','images/sprites_ie6.png','images/dialog_sides.gif');return{preload:a,editor:{css:['editor.css']},dialog:{css:['dialog.css']},templates:{css:['templates.css']},margins:[0,14,18,14]};})());(function(){CKEDITOR.dialog?a():CKEDITOR.on('dialogPluginReady',a);function a(){CKEDITOR.dialog.on('resize',function(b){var c=b.data,d=c.width,e=c.height,f=c.dialog,g=f.parts.contents;if(c.skin!='v2')return;g.setStyles({width:d+'px',height:e+'px'});if(!CKEDITOR.env.ie)return;setTimeout(function(){var h=f.parts.dialog.getChild([0,0,0]),i=h.getChild(0),j=h.getChild(2);j.setStyle('width',i.$.offsetWidth+'px');j=h.getChild(7);j.setStyle('width',i.$.offsetWidth-28+'px');j=h.getChild(4);j.setStyle('height',i.$.offsetHeight-31-14+'px');j=h.getChild(5);j.setStyle('height',i.$.offsetHeight-31-14+'px');},100);});};})(); 7 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/contextPath.jsp: -------------------------------------------------------------------------------- 1 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 2 | 3 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/css/jqueryui.customize.css: -------------------------------------------------------------------------------- 1 | .ui-widget { 2 | font-size: 12px !important; 3 | } 4 | 5 | /* .ui-widget-content { 6 | background: url("../jquery-ui-1.11.1.custom/images/ui-bg_flat_75_ffffff_40x100.png") repeat-x scroll 5% top #EEEEEE !important; 7 | border: 1px solid #DDDDDD; 8 | color: #333333 !important; 9 | } 10 | */ -------------------------------------------------------------------------------- /vjudge2016/WebContent/css/shx_main.min.css: -------------------------------------------------------------------------------- 1 | pre.sh-sourceCode{margin:0;padding:5px 5px 5px 7px;display:block;overflow:auto}pre.sh-sourceCode span{margin:0;padding:0;line-height:1.1em}.shx-wrapper{border:1px solid #d8d8d8}.shx-innerWrapper{overflow:hidden;white-space:nowrap;line-height:1.1em;font-size:16px}.shx-topbar{background-color:#e8e8e8;border-bottom:1px solid #d8d8d8;background-image:url('img/toolbar.png');background-repeat:repeat-x;font-family:Helvetica;font-size:16px;margin:0;padding:0 3px 0 7px;position:relative;line-height:1.5em;color:#606060}.shx-actions{margin:0;padding:3px;text-align:right;position:absolute;right:0;line-height:1em}.shx-actions span{color:#0077e6;cursor:pointer;display:inline-block;font-weight:bold;margin-right:3px;user-select:none;-khtml-user-select:none;-o-user-select:none;-moz-user-select:-moz-none;-webkit-user-select:none}div.shx-actions:hover span{text-decoration:underline}.shx-hilit{background-color:#80ff80}.shx-hilit-brace{color:#f00;font-weight:bold;background-color:#80ff80}.shx-linenum{color:#606060;font-style:normal;font-weight:normal;font-family:monospace;background-color:#f8f8f8;padding:5px 7px 5px 5px;margin:0;unicode-bidi:embed;background:#e8e8e8;text-align:right;float:left} -------------------------------------------------------------------------------- /vjudge2016/WebContent/customize.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" import="judge.tool.Customize" pageEncoding="UTF-8"%> 2 | <% Customize.xx(); %> -------------------------------------------------------------------------------- /vjudge2016/WebContent/facebox/closelabel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/facebox/closelabel.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/facebox/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/facebox/loading.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/Sorting icons.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/Sorting icons.psd -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/back_disabled.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/back_disabled.jpg -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/back_enabled.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/back_enabled.jpg -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/beiju.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/beiju.jpg -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/beiju1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/beiju1.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/beiju2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/beiju2.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/beiju3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/beiju3.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/btn_discuss_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/btn_discuss_1.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/btn_discuss_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/btn_discuss_2.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/btn_suggestion_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/btn_suggestion_1.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/btn_suggestion_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/btn_suggestion_2.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/config.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/content_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/content_bg.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/contest.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/contest.jpg -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/find_me.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/find_me.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/forward_disabled.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/forward_disabled.jpg -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/forward_enabled.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/forward_enabled.jpg -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/go_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/go_top.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/ico_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/ico_add.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/ico_delete.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/ico_delete.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/ico_edit.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/ico_edit.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/icon_quote_e.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/icon_quote_e.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/icon_quote_s.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/icon_quote_s.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/loader.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/logo.ico -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/lr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/lr.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/no.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/recycle.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/recycle.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/refresh.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/remote_oj/ACdream_favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/remote_oj/ACdream_favicon.ico -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/remote_oj/Aizu_favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/remote_oj/Aizu_favicon.ico -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/remote_oj/CSU_favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/remote_oj/CSU_favicon.ico -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/remote_oj/CodeForces_favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/remote_oj/CodeForces_favicon.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/remote_oj/FZU_favicon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/remote_oj/FZU_favicon.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/remote_oj/HDU_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/remote_oj/HDU_icon.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/remote_oj/HUST_icon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/remote_oj/HUST_icon.jpg -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/remote_oj/HYSBZ_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/remote_oj/HYSBZ_icon.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/remote_oj/NBUT_icon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/remote_oj/NBUT_icon.jpg -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/remote_oj/SCU_favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/remote_oj/SCU_favicon.ico -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/remote_oj/SGU_favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/remote_oj/SGU_favicon.ico -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/remote_oj/SPOJ_favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/remote_oj/SPOJ_favicon.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/remote_oj/Tyvj_favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/remote_oj/Tyvj_favicon.ico -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/remote_oj/UESTC_favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/remote_oj/UESTC_favicon.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/remote_oj/URAL_favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/remote_oj/URAL_favicon.ico -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/remote_oj/UVA_favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/remote_oj/UVA_favicon.ico -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/remote_oj/ZOJ_favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/remote_oj/ZOJ_favicon.ico -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/remote_oj/icon-icpc-small.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/remote_oj/icon-icpc-small.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/remote_oj/poj.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/remote_oj/poj.ico -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/replay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/replay.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/rl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/rl.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/sort_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/sort_asc.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/sort_asc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/sort_asc_disabled.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/sort_both.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/sort_both.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/sort_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/sort_desc.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/sort_desc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/sort_desc_disabled.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/statistics.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/statistics.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/thumb_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/thumb_up.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/to_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/to_left.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/to_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/to_right.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/warning.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/wrench.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/wrench.gif -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/yes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/yes.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/images/youtube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/images/youtube.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/javascript/submit.js: -------------------------------------------------------------------------------- 1 | $(function() { 2 | if ($("#js_require_submit").length == 0) { 3 | return; 4 | } 5 | 6 | 7 | var oj = $("input[name=oj]").val(); 8 | 9 | if ($.cookie("lang_" + oj)) { 10 | $("select#language").val($.cookie("lang_" + oj)); 11 | } 12 | 13 | $("select#language").change(function(){ 14 | $.cookie("lang_" + oj, $(this).val(), {expires:30, path:'/'}); 15 | }); 16 | 17 | $("#form").submit(function(){ 18 | console.log($("textarea[name='tmp_source']").val()); 19 | $("#submit").attr("disabled", true); 20 | $("textarea[name='tmp_source']").attr("disabled", true); 21 | $("input[name='source']").val(Base64.encode($("textarea[name='tmp_source']").val())); 22 | return true; 23 | }); 24 | }); 25 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/javascript/viewSource.js: -------------------------------------------------------------------------------- 1 | $(function() { 2 | if ($("#js_require_viewSource").length == 0) { 3 | return; 4 | } 5 | 6 | var showInfo = function() { 7 | if ($("input[name=open]:checked").val() == 1){ 8 | $("p#info").css("visibility", "visible"); 9 | } else { 10 | $("p#info").css("visibility", "hidden"); 11 | } 12 | }; 13 | showInfo(); 14 | $("input[name=open]").change(function(){ 15 | $.post(basePath + "/problem/toggleOpen.action?id=" + $("[name=sid]").val(), showInfo); 16 | }); 17 | 18 | sh_highlightDocument(basePath + '/shjsx/', '.min.js'); 19 | _showDiscuss(); 20 | }); 21 | -------------------------------------------------------------------------------- /vjudge2016/WebContent/jquery-ui-1.11.1.custom/images/ui-bg_flat_0_aaaaaa_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/jquery-ui-1.11.1.custom/images/ui-bg_flat_0_aaaaaa_40x100.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/jquery-ui-1.11.1.custom/images/ui-bg_flat_75_ffffff_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/jquery-ui-1.11.1.custom/images/ui-bg_flat_75_ffffff_40x100.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/jquery-ui-1.11.1.custom/images/ui-bg_glass_55_fbf9ee_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/jquery-ui-1.11.1.custom/images/ui-bg_glass_55_fbf9ee_1x400.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/jquery-ui-1.11.1.custom/images/ui-bg_glass_65_ffffff_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/jquery-ui-1.11.1.custom/images/ui-bg_glass_65_ffffff_1x400.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/jquery-ui-1.11.1.custom/images/ui-bg_glass_75_c1a4ea_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/jquery-ui-1.11.1.custom/images/ui-bg_glass_75_c1a4ea_1x400.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/jquery-ui-1.11.1.custom/images/ui-bg_glass_75_e3e4f8_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/jquery-ui-1.11.1.custom/images/ui-bg_glass_75_e3e4f8_1x400.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/jquery-ui-1.11.1.custom/images/ui-bg_glass_95_fef1ec_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/jquery-ui-1.11.1.custom/images/ui-bg_glass_95_fef1ec_1x400.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/jquery-ui-1.11.1.custom/images/ui-bg_highlight-hard_75_c4c0d9_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/jquery-ui-1.11.1.custom/images/ui-bg_highlight-hard_75_c4c0d9_1x100.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/jquery-ui-1.11.1.custom/images/ui-icons_222222_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/jquery-ui-1.11.1.custom/images/ui-icons_222222_256x240.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/jquery-ui-1.11.1.custom/images/ui-icons_2e83ff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/jquery-ui-1.11.1.custom/images/ui-icons_2e83ff_256x240.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/jquery-ui-1.11.1.custom/images/ui-icons_454545_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/jquery-ui-1.11.1.custom/images/ui-icons_454545_256x240.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/jquery-ui-1.11.1.custom/images/ui-icons_888888_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/jquery-ui-1.11.1.custom/images/ui-icons_888888_256x240.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/jquery-ui-1.11.1.custom/images/ui-icons_cd0a0a_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/jquery-ui-1.11.1.custom/images/ui-icons_cd0a0a_256x240.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/shjsx/img/toolbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhblue/vjudge/f3c46b11c249d7852f1cbde7907a18725c5a47c8/vjudge2016/WebContent/shjsx/img/toolbar.png -------------------------------------------------------------------------------- /vjudge2016/WebContent/shjsx/lang/sh_caml.min.js: -------------------------------------------------------------------------------- 1 | if(!this.sh_languages){this.sh_languages={}}var lang="caml";sh_languages[lang]=[[[/\b(?:external|open|include|[A-Z][\w']*(?=\.))\b/g,"sh-preproc",-1],[/\b[+-]?(?:(?:0x[A-Fa-f0-9]+)|(?:(?:[\d]*\.)?[\d]+(?:[eE][+-]?[\d]+)?))u?(?:(?:int(?:8|16|32|64))|L)?\b/g,"sh-number",-1],[/"/g,"sh-string",1],[/\b(?:and|as|assert|asr|begin|class|closed|constraint|do|done|downto|else|end|exception|false|for|fun|function|functor|if|in|inherit|initializer|land|lazy|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|object|of|or|parser|private|rec|sig|struct|then|to|true|try|type|val|virtual|when|while|with)\b/g,"sh-keyword",-1],[/\(\*/g,"sh-comment",2],[/\b(?:[A-Z][\w']*(?!\.)|int|int32|int64|nativeint|bool|char|exn|option|float|unit|string|list|array|ref|format|format4|lazy_t|in_channel|out_channel)\b/g,"sh-type",-1],[/~|!|%|\^|\*|\(|\)|-|\+|=|\[|\]|\\|:|;|,|\.|\/|\?|&|<|>|\|/g,"sh-symbol",-1],[/\{|\}/g,"sh-cbracket",-1]],[[/$/g,null,-2],[/\\(?:\\|")/g,null,-1],[/"/g,"sh-string",-2]],[[/\*\)/g,"sh-comment",-2],[/\(\*/g,"sh-comment",2]]];if(sh_afterLoad){sh_afterLoad(lang)}; -------------------------------------------------------------------------------- /vjudge2016/WebContent/shjsx/lang/sh_changelog.min.js: -------------------------------------------------------------------------------- 1 | if(!this.sh_languages){this.sh_languages={}}var lang="changelog";sh_languages[lang]=[[[/[\d]{2,4}-?[\d]{2}-?[\d]{2}/g,"sh-date",1,1],[/(^[ \t]+)(\*)([ \t]+)((?:[^:]+\:)?)/g,["sh-normal","sh-symbol","sh-normal","sh-file"],-1],[/(^[ \t]+)((?:[^:]+\:)?)/g,["sh-normal","sh-file"],-1]],[[/$/g,null,-2],[/(?:?)|(?:?)/g,"sh-url",-1],[/(?:[A-Za-z0-9_]|[`~!@#$%&*()_=+{}|;:",<.>\/?'\\[\]\^\-])+/g,"sh-name",-1]]];if(sh_afterLoad){sh_afterLoad(lang)}; -------------------------------------------------------------------------------- /vjudge2016/WebContent/shjsx/lang/sh_desktop.min.js: -------------------------------------------------------------------------------- 1 | if(!this.sh_languages){this.sh_languages={}}var lang="desktop";sh_languages[lang]=[[[/#/g,"sh-comment",1],[/\[.*\]/g,"sh-section",1],[/([^="\[]+)((?:\[.+\])*)([ \t]*)(=)/g,["sh-type","sh-paren","sh-normal","sh-symbol"],-1]],[[/$/g,null,-2]]];if(sh_afterLoad){sh_afterLoad(lang)}; -------------------------------------------------------------------------------- /vjudge2016/WebContent/shjsx/lang/sh_diff.min.js: -------------------------------------------------------------------------------- 1 | if(!this.sh_languages){this.sh_languages={}}var lang="diff";sh_languages[lang]=[[[/(?=^[-]{3})/g,"sh-oldfile",1,1],[/(?=^[*]{3})/g,"sh-oldfile",3,1],[/(?=^[\d])/g,"sh-difflines",6,1]],[[/^[-]{3}/g,"sh-oldfile",2],[/^[-]/g,"sh-oldfile",2],[/^[+]/g,"sh-newfile",2],[/^@@/g,"sh-difflines",2]],[[/$/g,null,-2]],[[/^[*]{3}[ \t]+[\d]/g,"sh-oldfile",4],[/^[*]{3}/g,"sh-oldfile",2],[/^[-]{3}[ \t]+[\d]/g,"sh-newfile",5],[/^[-]{3}/g,"sh-newfile",2]],[[/^[\s]/g,"sh-normal",2],[/(?=^[-]{3})/g,"sh-newfile",-2]],[[/^[\s]/g,"sh-normal",2],[/(?=^[*]{3})/g,"sh-newfile",-2],[/^diff/g,"sh-normal",2]],[[/^[\d]/g,"sh-difflines",2],[/^[<]/g,"sh-oldfile",2],[/^[>]/g,"sh-newfile",2]]];if(sh_afterLoad){sh_afterLoad(lang)}; -------------------------------------------------------------------------------- /vjudge2016/WebContent/shjsx/lang/sh_html.min.js: -------------------------------------------------------------------------------- 1 | if(!this.sh_languages){this.sh_languages={}}var lang="html";sh_languages[lang]=[[[/<\?xml/g,"sh-preproc",1,1],[//g,"sh-keyword",-1],[/<(?:\/)?[A-Za-z](?:[A-Za-z0-9_:.-]*)/g,"sh-keyword",5,1],[/&(?:[A-Za-z0-9]+);/g,"sh-preproc",-1],[/<(?:\/)?[A-Za-z][A-Za-z0-9]*(?:\/)?>/g,"sh-keyword",-1],[/<(?:\/)?[A-Za-z][A-Za-z0-9]*/g,"sh-keyword",5,1]],[[/\?>/g,"sh-preproc",-2],[/([^=" \t>]+)([ \t]*)(=?)/g,["sh-type","sh-normal","sh-symbol"],-1],[/"/g,"sh-string",2]],[[/\\(?:\\|")/g,null,-1],[/"/g,"sh-string",-2]],[[/>/g,"sh-preproc",-2],[/([^=" \t>]+)([ \t]*)(=?)/g,["sh-type","sh-normal","sh-symbol"],-1],[/"/g,"sh-string",2]],[[/-->/g,"sh-comment",-2],[//g,"sh-comment",-2],[/ 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/bean/ReplayStatus.java: -------------------------------------------------------------------------------- 1 | package judge.bean; 2 | 3 | import java.util.Set; 4 | 5 | /** 6 | * 比赛回放信息 7 | * @author Isun 8 | * 9 | */ 10 | public class ReplayStatus { 11 | private int id; 12 | private String data; 13 | 14 | private Set contests; 15 | 16 | 17 | public int getId() { 18 | return id; 19 | } 20 | public void setId(int id) { 21 | this.id = id; 22 | } 23 | public String getData() { 24 | return data; 25 | } 26 | public void setData(String data) { 27 | this.data = data; 28 | } 29 | public Set getContests() { 30 | return contests; 31 | } 32 | public void setContests(Set contests) { 33 | this.contests = contests; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/dao/IBaseDao.java: -------------------------------------------------------------------------------- 1 | package judge.dao; 2 | 3 | import java.io.Serializable; 4 | import java.util.List; 5 | import java.util.Map; 6 | 7 | import org.hibernate.Session; 8 | 9 | @SuppressWarnings("unchecked") 10 | public interface IBaseDao { 11 | public void addOrModify(Object entity); 12 | 13 | public void delete(Object entity); 14 | public void delete(Class entityClass, Serializable id); 15 | 16 | public Object query(Class entityClass, Serializable id); 17 | public List query(String hql); 18 | public List query(String queryString, int FirstResult, int MaxResult); 19 | public List query(String hql, Map parMap); 20 | public List query(String hql, Map parMap, int FirstResult, int MaxResult); 21 | 22 | public void execute(String statement); 23 | public void execute(String statement, Map parMap); 24 | 25 | public Session createSession(); 26 | public void closeSession(Session session); 27 | } 28 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/executor/ExecutorTaskType.java: -------------------------------------------------------------------------------- 1 | package judge.executor; 2 | 3 | public enum ExecutorTaskType { 4 | GENERAL(50, 600), 5 | UPDATE_PROBLEM_INFO(40, 300), 6 | SUBMIT_CODE(40, 300), 7 | QUERY_SUBMISSION_STATUS(40, 300), 8 | INIT_UVA_LIVE_PROBLEM_ID_MAP(40, 60), 9 | INIT_UVA_PROBLEM_ID_MAP(40, 60), 10 | 11 | 12 | 13 | 14 | ; 15 | int maximumConcurrency; 16 | int keepAliveSeconds; 17 | ExecutorTaskType(int maximumConcurrency, int keepAliveSeconds) { 18 | this.maximumConcurrency = maximumConcurrency; 19 | this.keepAliveSeconds = keepAliveSeconds; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/httpclient/HttpBodyValidator.java: -------------------------------------------------------------------------------- 1 | package judge.httpclient; 2 | 3 | import org.apache.commons.lang3.Validate; 4 | 5 | public class HttpBodyValidator implements SimpleHttpResponseValidator { 6 | 7 | private String subString; 8 | private boolean negate; 9 | 10 | public HttpBodyValidator(String subString) { 11 | this(subString, false); 12 | } 13 | 14 | public HttpBodyValidator(String subString, boolean negate) { 15 | this.subString = subString; 16 | this.negate = negate; 17 | } 18 | 19 | @Override 20 | public void validate(SimpleHttpResponse response) throws Exception { 21 | try { 22 | Validate.isTrue(response.getBody().contains(subString) ^ negate); 23 | } catch (Exception e) { 24 | // System.err.println(response.getBody()); 25 | throw new RuntimeException(e); 26 | } 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/httpclient/Mapper.java: -------------------------------------------------------------------------------- 1 | package judge.httpclient; 2 | 3 | public interface Mapper { 4 | 5 | T map(S value) throws Exception; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/httpclient/SimpleHttpResponseMapper.java: -------------------------------------------------------------------------------- 1 | package judge.httpclient; 2 | 3 | public interface SimpleHttpResponseMapper extends Mapper { 4 | 5 | T map(SimpleHttpResponse response) throws Exception; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/httpclient/SimpleHttpResponseValidator.java: -------------------------------------------------------------------------------- 1 | package judge.httpclient; 2 | 3 | 4 | public interface SimpleHttpResponseValidator { 5 | 6 | void validate(SimpleHttpResponse response) throws Exception; 7 | 8 | 9 | /////////////////////////////////////////////////////////////// 10 | 11 | 12 | final SimpleHttpResponseValidator DUMMY_VALIDATOR = new SimpleHttpResponseValidator() { 13 | @Override 14 | public void validate(SimpleHttpResponse response) { 15 | // Validate nothing. Pass all the time. 16 | } 17 | }; 18 | 19 | } 20 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/httpclient/SimpleNameValueEntityFactory.java: -------------------------------------------------------------------------------- 1 | package judge.httpclient; 2 | 3 | import java.nio.charset.Charset; 4 | import java.util.ArrayList; 5 | import java.util.List; 6 | 7 | import org.apache.http.NameValuePair; 8 | import org.apache.http.client.entity.UrlEncodedFormEntity; 9 | import org.apache.http.message.BasicNameValuePair; 10 | 11 | public class SimpleNameValueEntityFactory { 12 | 13 | /** 14 | * 15 | * @param keyValue if size is odd, the last one is charset 16 | * @return 17 | */ 18 | public static UrlEncodedFormEntity create(String... keyValues) { 19 | List nvps = new ArrayList(); 20 | for (int i = 0; i + 1 < keyValues.length; i += 2) { 21 | nvps.add(new BasicNameValuePair(keyValues[i], keyValues[i + 1])); 22 | } 23 | String charset = keyValues.length % 2 == 1 ? keyValues[keyValues.length - 1] : "UTF-8"; 24 | return new UrlEncodedFormEntity(nvps, Charset.forName(charset)); 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/RemoteOj.java: -------------------------------------------------------------------------------- 1 | package judge.remote; 2 | 3 | 4 | public enum RemoteOj { 5 | 6 | ACdream, // 7 | Aizu, // 8 | CFGym,// 9 | CodeForces, // 10 | CSU, // 11 | FZU, // 12 | HDU, // 13 | HUST, // 14 | HYSBZ, // 15 | LightOJ, // 16 | NBUT, // 17 | POJ, // 18 | SCU, // 19 | SGU, // 20 | SPOJ, // 21 | Tyvj, 22 | UESTC, // 23 | UESTCOld, // 24 | URAL, // 25 | UVA, // 26 | UVALive, // 27 | ZOJ, // 28 | ZTrening, LOCAL, // 29 | 30 | } 31 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/RemoteOjAware.java: -------------------------------------------------------------------------------- 1 | package judge.remote; 2 | 3 | 4 | public interface RemoteOjAware { 5 | 6 | RemoteOjInfo getOjInfo(); 7 | 8 | } 9 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/SubmissionConverter.java: -------------------------------------------------------------------------------- 1 | package judge.remote; 2 | 3 | import judge.bean.Submission; 4 | import judge.remote.submitter.SubmissionInfo; 5 | 6 | public class SubmissionConverter { 7 | 8 | public static SubmissionInfo toInfo(Submission submission) { 9 | SubmissionInfo info = new SubmissionInfo(); 10 | info.remoteAccountId = submission.getRemoteAccountId(); 11 | info.remotelanguage = submission.getLanguage(); 12 | info.remoteOj = RemoteOj.valueOf(submission.getOriginOJ()); 13 | info.remoteProblemId = submission.getOriginProb(); 14 | info.remoteRunId = submission.getRealRunId(); 15 | info.remoteSubmitTime = submission.getRemoteSubmitTime(); 16 | info.sourceCode = submission.getSource(); 17 | return info; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/account/RemoteAccount.java: -------------------------------------------------------------------------------- 1 | package judge.remote.account; 2 | 3 | import judge.remote.RemoteOj; 4 | 5 | import org.apache.http.protocol.HttpContext; 6 | 7 | public class RemoteAccount { 8 | 9 | private final RemoteOj remoteOj; 10 | private final String accountId; 11 | private final String password; 12 | private final String exclusiveCode; 13 | private final HttpContext context; 14 | 15 | public RemoteAccount(RemoteOj remoteOj, String accountId, String password, String exclusiveCode, HttpContext context) { 16 | super(); 17 | this.remoteOj = remoteOj; 18 | this.accountId = accountId; 19 | this.password = password; 20 | this.exclusiveCode = exclusiveCode; 21 | this.context = context; 22 | } 23 | 24 | public RemoteOj getRemoteOj() { 25 | return remoteOj; 26 | } 27 | public String getAccountId() { 28 | return accountId; 29 | } 30 | public String getPassword() { 31 | return password; 32 | } 33 | public String getExclusiveCode() { 34 | return exclusiveCode; 35 | } 36 | public HttpContext getContext() { 37 | return context; 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/account/config/RemoteAccountConfig.java: -------------------------------------------------------------------------------- 1 | package judge.remote.account.config; 2 | 3 | public class RemoteAccountConfig { 4 | 5 | public String id; 6 | public String password; 7 | public boolean isPublic = true; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/account/config/RemoteAccountOJConfig.java: -------------------------------------------------------------------------------- 1 | package judge.remote.account.config; 2 | 3 | import java.util.List; 4 | 5 | public class RemoteAccountOJConfig { 6 | 7 | public int contextNumber = 1; 8 | public List accounts; 9 | 10 | } 11 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/crawler/Crawler.java: -------------------------------------------------------------------------------- 1 | package judge.remote.crawler; 2 | 3 | import judge.remote.RemoteOjAware; 4 | import judge.tool.Handler; 5 | 6 | /** 7 | * Implementation should be stateless. 8 | * 9 | * @author Isun 10 | */ 11 | public interface Crawler extends RemoteOjAware { 12 | 13 | /** 14 | * @param problemId 15 | * @param handler 16 | * @throws Exception 17 | */ 18 | void crawl(String problemId, Handler handler) throws Exception; 19 | 20 | } 21 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/crawler/RawProblemInfo.java: -------------------------------------------------------------------------------- 1 | package judge.remote.crawler; 2 | 3 | /** 4 | * Direct crawling result from original OJ 5 | * @author Isun 6 | * 7 | */ 8 | public class RawProblemInfo { 9 | 10 | public String title; //标题 11 | 12 | public int timeLimit; //时间限制(ms) 13 | public int memoryLimit; //内存限制(KB) 14 | 15 | public String description; //题面描述 16 | public String input; //输入介绍 17 | public String output; //输出介绍 18 | public String sampleInput; //样例输入 19 | public String sampleOutput;//样例输出 20 | public String hint; //提示 21 | public String source; //出处 22 | 23 | public String url; //题面原始url 24 | 25 | } 26 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/crawler/SyncCrawler.java: -------------------------------------------------------------------------------- 1 | package judge.remote.crawler; 2 | 3 | import org.springframework.beans.factory.annotation.Autowired; 4 | 5 | import judge.httpclient.DedicatedHttpClientFactory; 6 | import judge.tool.Handler; 7 | 8 | /** 9 | * No dependence on any other resource, just do it in invoking thread. 10 | * 11 | * @author Isun 12 | */ 13 | public abstract class SyncCrawler implements Crawler { 14 | 15 | @Autowired 16 | protected DedicatedHttpClientFactory dedicatedHttpClientFactory; 17 | 18 | @Override 19 | public void crawl(String problemId, Handler handler) throws Exception { 20 | RawProblemInfo info = null; 21 | try { 22 | info = crawl(problemId); 23 | } catch (Throwable t) { 24 | handler.onError(t); 25 | return; 26 | } 27 | handler.handle(info); 28 | } 29 | 30 | abstract protected RawProblemInfo crawl(String problemId) throws Exception; 31 | 32 | } 33 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/loginer/Loginer.java: -------------------------------------------------------------------------------- 1 | package judge.remote.loginer; 2 | 3 | import judge.remote.RemoteOjAware; 4 | import judge.remote.account.RemoteAccount; 5 | 6 | /** 7 | * Implementation should be stateless. 8 | * @author Isun 9 | * 10 | */ 11 | public interface Loginer extends RemoteOjAware { 12 | 13 | void login(RemoteAccount account) throws Exception; 14 | 15 | } 16 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/acdream/ACdreamInfo.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.acdream; 2 | 3 | import judge.remote.RemoteOj; 4 | import judge.remote.RemoteOjInfo; 5 | import org.apache.http.HttpHost; 6 | 7 | public class ACdreamInfo { 8 | 9 | public static final RemoteOjInfo INFO = new RemoteOjInfo( // 10 | RemoteOj.ACdream, // 11 | "ACdream", // 12 | new HttpHost("acdream.info") // 13 | ); 14 | 15 | static { 16 | INFO.faviconUrl = "images/remote_oj/ACdream_favicon.ico"; 17 | INFO._64IntIoFormat = "%lld & %llu"; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/acdream/ACdreamLoginer.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.acdream; 2 | 3 | import judge.httpclient.DedicatedHttpClient; 4 | import judge.httpclient.HttpBodyValidator; 5 | import judge.httpclient.SimpleNameValueEntityFactory; 6 | import judge.remote.RemoteOjInfo; 7 | import judge.remote.account.RemoteAccount; 8 | import judge.remote.loginer.RetentiveLoginer; 9 | import org.apache.http.HttpEntity; 10 | import org.springframework.stereotype.Component; 11 | 12 | @Component 13 | public class ACdreamLoginer extends RetentiveLoginer { 14 | 15 | @Override 16 | public RemoteOjInfo getOjInfo() { 17 | return ACdreamInfo.INFO; 18 | } 19 | 20 | @Override 21 | protected void loginEnforce(RemoteAccount account, DedicatedHttpClient client) { 22 | if (client.get("/").getBody().contains(">Logout<")) { 23 | return; 24 | } 25 | 26 | HttpEntity entity = SimpleNameValueEntityFactory.create( // 27 | "remember", "true", // 28 | "password", account.getPassword(), // 29 | "username", account.getAccountId()); 30 | client.post("/login", entity, new HttpBodyValidator("1", true)); 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/aizu/AizuInfo.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.aizu; 2 | 3 | import judge.remote.RemoteOj; 4 | import judge.remote.RemoteOjInfo; 5 | 6 | import org.apache.http.HttpHost; 7 | 8 | public class AizuInfo { 9 | 10 | public static final RemoteOjInfo INFO = new RemoteOjInfo( // 11 | RemoteOj.Aizu, // 12 | "Aizu", // 13 | new HttpHost("judge.u-aizu.ac.jp") // 14 | ); 15 | 16 | static { 17 | INFO.faviconUrl = "images/remote_oj/Aizu_favicon.ico"; 18 | INFO._64IntIoFormat = "%lld & %llu"; 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/codeforces/CodeForcesCrawler.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.codeforces; 2 | 3 | import org.apache.commons.lang3.Validate; 4 | import org.springframework.stereotype.Component; 5 | 6 | import judge.remote.RemoteOjInfo; 7 | import judge.remote.shared.codeforces.CFStyleCrawler; 8 | 9 | @Component 10 | public class CodeForcesCrawler extends CFStyleCrawler { 11 | 12 | @Override 13 | public RemoteOjInfo getOjInfo() { 14 | return CodeForcesInfo.INFO; 15 | } 16 | 17 | @Override 18 | protected String getProblemUrl(String problemId) { 19 | String contestNum = problemId.replaceAll("\\D.*", ""); 20 | String problemNum = problemId.replaceAll("^\\d*", ""); 21 | return getHost().toURI() + "/problemset/problem/" + contestNum + "/" + problemNum; 22 | } 23 | 24 | @Override 25 | protected void preValidate(String problemId) { 26 | Validate.isTrue(problemId.matches("[1-9]\\w*")); 27 | Validate.isTrue(problemId.toUpperCase().equals(problemId)); 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/codeforces/CodeForcesInfo.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.codeforces; 2 | 3 | import judge.remote.RemoteOj; 4 | import judge.remote.RemoteOjInfo; 5 | 6 | import org.apache.http.HttpHost; 7 | 8 | public class CodeForcesInfo { 9 | 10 | public static final RemoteOjInfo INFO = new RemoteOjInfo( // 11 | RemoteOj.CodeForces, // 12 | "CodeForces", // 13 | new HttpHost("codeforces.com") // 14 | ); 15 | 16 | static { 17 | INFO.faviconUrl = "images/remote_oj/CodeForces_favicon.png"; 18 | INFO._64IntIoFormat = "%I64d & %I64u"; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/codeforces/CodeForcesLanguageFinder.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.codeforces; 2 | 3 | import judge.remote.RemoteOjInfo; 4 | import judge.remote.shared.codeforces.CFStyleLanguageFinder; 5 | 6 | import org.springframework.stereotype.Component; 7 | 8 | @Component 9 | public class CodeForcesLanguageFinder extends CFStyleLanguageFinder { 10 | 11 | @Override 12 | public RemoteOjInfo getOjInfo() { 13 | return CodeForcesInfo.INFO; 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/codeforces/CodeForcesLoginer.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.codeforces; 2 | 3 | import org.springframework.stereotype.Component; 4 | 5 | import judge.remote.RemoteOjInfo; 6 | import judge.remote.shared.codeforces.CFStyleLoginer; 7 | 8 | @Component 9 | public class CodeForcesLoginer extends CFStyleLoginer { 10 | 11 | @Override 12 | public RemoteOjInfo getOjInfo() { 13 | return CodeForcesInfo.INFO; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/codeforces/CodeForcesQuerier.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.codeforces; 2 | 3 | import judge.remote.RemoteOjInfo; 4 | import judge.remote.shared.codeforces.CFStyleQuerier; 5 | 6 | import org.springframework.stereotype.Component; 7 | 8 | @Component 9 | public class CodeForcesQuerier extends CFStyleQuerier { 10 | 11 | @Override 12 | public RemoteOjInfo getOjInfo() { 13 | return CodeForcesInfo.INFO; 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/codeforces/CodeForcesSubmitter.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.codeforces; 2 | 3 | import judge.remote.RemoteOjInfo; 4 | import judge.remote.shared.codeforces.CFStyleSubmitter; 5 | 6 | import org.springframework.stereotype.Component; 7 | 8 | 9 | @Component 10 | public class CodeForcesSubmitter extends CFStyleSubmitter { 11 | 12 | @Override 13 | public RemoteOjInfo getOjInfo() { 14 | return CodeForcesInfo.INFO; 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/codeforcesgym/CodeForcesGymInfo.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.codeforcesgym; 2 | 3 | import judge.remote.RemoteOj; 4 | import judge.remote.RemoteOjInfo; 5 | 6 | import org.apache.http.HttpHost; 7 | 8 | public class CodeForcesGymInfo { 9 | 10 | public static final RemoteOjInfo INFO = new RemoteOjInfo( // 11 | RemoteOj.CFGym, // 12 | "CFGym", // 13 | new HttpHost("codeforces.com") // 14 | ); 15 | 16 | static { 17 | INFO.faviconUrl = "images/remote_oj/CodeForces_favicon.png"; 18 | INFO._64IntIoFormat = "%I64d & %I64u"; 19 | INFO.urlForIndexDisplay = "http://codeforces.com/gyms"; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/codeforcesgym/CodeForcesGymLanguageFinder.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.codeforcesgym; 2 | 3 | import org.springframework.stereotype.Component; 4 | 5 | import judge.remote.RemoteOjInfo; 6 | import judge.remote.shared.codeforces.CFStyleLanguageFinder; 7 | 8 | @Component 9 | public class CodeForcesGymLanguageFinder extends CFStyleLanguageFinder { 10 | 11 | @Override 12 | public RemoteOjInfo getOjInfo() { 13 | return CodeForcesGymInfo.INFO; 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/codeforcesgym/CodeForcesGymLoginer.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.codeforcesgym; 2 | 3 | import org.springframework.stereotype.Component; 4 | 5 | import judge.remote.RemoteOjInfo; 6 | import judge.remote.shared.codeforces.CFStyleLoginer; 7 | 8 | @Component 9 | public class CodeForcesGymLoginer extends CFStyleLoginer { 10 | 11 | @Override 12 | public RemoteOjInfo getOjInfo() { 13 | return CodeForcesGymInfo.INFO; 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/codeforcesgym/CodeForcesGymQuerier.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.codeforcesgym; 2 | 3 | import org.springframework.stereotype.Component; 4 | 5 | import judge.remote.RemoteOjInfo; 6 | import judge.remote.shared.codeforces.CFStyleSubmitter; 7 | 8 | @Component 9 | public class CodeForcesGymQuerier extends CFStyleSubmitter { 10 | @Override 11 | public RemoteOjInfo getOjInfo() { 12 | return CodeForcesGymInfo.INFO; 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/codeforcesgym/CodeForcesGymSubmitter.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.codeforcesgym; 2 | 3 | import org.springframework.stereotype.Component; 4 | 5 | import judge.remote.RemoteOjInfo; 6 | import judge.remote.shared.codeforces.CFStyleQuerier; 7 | 8 | @Component 9 | public class CodeForcesGymSubmitter extends CFStyleQuerier { 10 | 11 | @Override 12 | public RemoteOjInfo getOjInfo() { 13 | return CodeForcesGymInfo.INFO; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/csu/CSUInfo.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.csu; 2 | 3 | import judge.remote.RemoteOj; 4 | import judge.remote.RemoteOjInfo; 5 | 6 | import org.apache.http.HttpHost; 7 | 8 | public class CSUInfo { 9 | 10 | public static final RemoteOjInfo INFO = new RemoteOjInfo( // 11 | RemoteOj.CSU, // 12 | "CSU", // 13 | new HttpHost("acm.csu.edu.cn") // 14 | ); 15 | 16 | static { 17 | INFO.faviconUrl = "images/remote_oj/CSU_favicon.ico"; 18 | INFO._64IntIoFormat = "%lld & %llu"; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/csu/CSULoginer.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.csu; 2 | 3 | import judge.httpclient.DedicatedHttpClient; 4 | import judge.httpclient.HttpBodyValidator; 5 | import judge.httpclient.SimpleNameValueEntityFactory; 6 | import judge.remote.RemoteOjInfo; 7 | import judge.remote.account.RemoteAccount; 8 | import judge.remote.loginer.RetentiveLoginer; 9 | 10 | import org.apache.http.HttpEntity; 11 | import org.springframework.stereotype.Component; 12 | 13 | @Component 14 | public class CSULoginer extends RetentiveLoginer { 15 | 16 | @Override 17 | public RemoteOjInfo getOjInfo() { 18 | return CSUInfo.INFO; 19 | } 20 | 21 | @Override 22 | protected void loginEnforce(RemoteAccount account, DedicatedHttpClient client) { 23 | if (client.get("/").getBody().contains("Logout")) { 24 | return; 25 | } 26 | 27 | HttpEntity entity = SimpleNameValueEntityFactory.create( // 28 | "user_id", account.getAccountId(), // 29 | "password", account.getPassword()); 30 | client.post("/csuoj/user/login_ajax", entity, new HttpBodyValidator("Login successful")); 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/fzu/FZUInfo.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.fzu; 2 | 3 | import judge.remote.RemoteOj; 4 | import judge.remote.RemoteOjInfo; 5 | 6 | import org.apache.http.HttpHost; 7 | 8 | public class FZUInfo { 9 | 10 | public static final RemoteOjInfo INFO = new RemoteOjInfo( // 11 | RemoteOj.FZU, // 12 | "FZU", // 13 | new HttpHost("acm.fzu.edu.cn") // 14 | ); 15 | 16 | static { 17 | INFO.faviconUrl = "images/remote_oj/FZU_favicon.gif"; 18 | INFO._64IntIoFormat = "%I64d & %I64u"; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/fzu/FZULoginer.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.fzu; 2 | 3 | import judge.httpclient.DedicatedHttpClient; 4 | import judge.httpclient.HttpBodyValidator; 5 | import judge.httpclient.SimpleNameValueEntityFactory; 6 | import judge.remote.RemoteOjInfo; 7 | import judge.remote.account.RemoteAccount; 8 | import judge.remote.loginer.RetentiveLoginer; 9 | 10 | import org.apache.http.HttpEntity; 11 | import org.springframework.stereotype.Component; 12 | 13 | @Component 14 | public class FZULoginer extends RetentiveLoginer { 15 | 16 | @Override 17 | public RemoteOjInfo getOjInfo() { 18 | return FZUInfo.INFO; 19 | } 20 | 21 | @Override 22 | protected void loginEnforce(RemoteAccount account, DedicatedHttpClient client) { 23 | if (client.get("/index.php").getBody().contains(">Logout")) { 24 | return; 25 | } 26 | 27 | HttpEntity entity = SimpleNameValueEntityFactory.create( // 28 | "uname", account.getAccountId(), // 29 | "upassword", account.getPassword()); 30 | client.post("/login.php?act=1", entity, new HttpBodyValidator("location.replace(\"index.php\")")); 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/hdu/HDUInfo.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.hdu; 2 | 3 | import judge.remote.RemoteOj; 4 | import judge.remote.RemoteOjInfo; 5 | 6 | import org.apache.http.HttpHost; 7 | 8 | public class HDUInfo { 9 | 10 | public static final RemoteOjInfo INFO = new RemoteOjInfo( // 11 | RemoteOj.HDU, // 12 | "HDU", // 13 | new HttpHost("acm.hdu.edu.cn") // 14 | ); 15 | 16 | static { 17 | INFO.defaultChaset = "gb2312"; 18 | INFO.maxInactiveInterval = 60000L; 19 | INFO.faviconUrl = "images/remote_oj/HDU_icon.png"; 20 | INFO._64IntIoFormat = "%I64d & %I64u"; 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/hust/HUSTInfo.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.hust; 2 | 3 | import judge.remote.RemoteOj; 4 | import judge.remote.RemoteOjInfo; 5 | 6 | import org.apache.http.HttpHost; 7 | 8 | public class HUSTInfo { 9 | 10 | public static final RemoteOjInfo INFO = new RemoteOjInfo( // 11 | RemoteOj.HUST, // 12 | "HUST", // 13 | new HttpHost("acm.hust.edu.cn") // 14 | ); 15 | 16 | static { 17 | INFO.faviconUrl = "images/remote_oj/HUST_icon.jpg"; 18 | INFO._64IntIoFormat = "%lld & %llu"; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/hust/HUSTLoginer.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.hust; 2 | 3 | import judge.httpclient.DedicatedHttpClient; 4 | import judge.httpclient.HttpStatusValidator; 5 | import judge.httpclient.SimpleNameValueEntityFactory; 6 | import judge.remote.RemoteOjInfo; 7 | import judge.remote.account.RemoteAccount; 8 | import judge.remote.loginer.RetentiveLoginer; 9 | 10 | import org.apache.http.HttpEntity; 11 | import org.springframework.stereotype.Component; 12 | 13 | @Component 14 | public class HUSTLoginer extends RetentiveLoginer { 15 | 16 | @Override 17 | public RemoteOjInfo getOjInfo() { 18 | return HUSTInfo.INFO; 19 | } 20 | 21 | @Override 22 | protected void loginEnforce(RemoteAccount account, DedicatedHttpClient client) { 23 | if (client.get("/").getBody().contains("/logout")) { 24 | return; 25 | } 26 | 27 | HttpEntity entity = SimpleNameValueEntityFactory.create( // 28 | "username", account.getAccountId(), // 29 | "pwd", account.getPassword(), // 30 | "code", ""); 31 | client.post("/user/login", entity, HttpStatusValidator.SC_MOVED_TEMPORARILY); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/hysbz/HYSBZInfo.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.hysbz; 2 | 3 | import judge.remote.RemoteOj; 4 | import judge.remote.RemoteOjInfo; 5 | 6 | import org.apache.http.HttpHost; 7 | 8 | public class HYSBZInfo { 9 | 10 | public static final RemoteOjInfo INFO = new RemoteOjInfo( // 11 | RemoteOj.HYSBZ, // 12 | "HYSBZ", // 13 | new HttpHost("www.lydsy.com") // 14 | ); 15 | 16 | static { 17 | INFO.faviconUrl = "images/remote_oj/HYSBZ_icon.png"; 18 | INFO._64IntIoFormat = "%lld & %llu"; 19 | INFO.urlForIndexDisplay = "http://www.lydsy.com/JudgeOnline/"; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/lightoj/LightOJInfo.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.lightoj; 2 | 3 | import judge.remote.RemoteOj; 4 | import judge.remote.RemoteOjInfo; 5 | 6 | import org.apache.http.HttpHost; 7 | 8 | public class LightOJInfo { 9 | 10 | public static final RemoteOjInfo INFO = new RemoteOjInfo( // 11 | RemoteOj.LightOJ, // 12 | "LightOJ", // 13 | new HttpHost("lightoj.com") // 14 | ); 15 | 16 | static { 17 | INFO.maxInactiveInterval = 0; 18 | INFO._64IntIoFormat = "%lld & %llu"; 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/nbut/NBUTInfo.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.nbut; 2 | 3 | import judge.remote.RemoteOj; 4 | import judge.remote.RemoteOjInfo; 5 | 6 | import org.apache.http.HttpHost; 7 | 8 | public class NBUTInfo { 9 | 10 | public static final RemoteOjInfo INFO = new RemoteOjInfo( // 11 | RemoteOj.NBUT, // 12 | "NBUT", // 13 | new HttpHost("ac.2333.moe", 443, "https") // 14 | ); 15 | 16 | static { 17 | INFO.faviconUrl = "images/remote_oj/NBUT_icon.jpg"; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/poj/POJInfo.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.poj; 2 | 3 | import judge.remote.RemoteOj; 4 | import judge.remote.RemoteOjInfo; 5 | 6 | import org.apache.http.HttpHost; 7 | 8 | public class POJInfo { 9 | 10 | public static final RemoteOjInfo INFO = new RemoteOjInfo( // 11 | RemoteOj.POJ, // 12 | "POJ", // 13 | new HttpHost("poj.org") // 14 | ); 15 | 16 | static { 17 | INFO.faviconUrl = "images/remote_oj/poj.ico"; 18 | INFO._64IntIoFormat = "%I64d & %I64u"; 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/scu/SCUInfo.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.scu; 2 | 3 | import judge.remote.RemoteOj; 4 | import judge.remote.RemoteOjInfo; 5 | 6 | import org.apache.http.HttpHost; 7 | 8 | public class SCUInfo { 9 | 10 | public static final RemoteOjInfo INFO = new RemoteOjInfo( // 11 | RemoteOj.SCU, // 12 | "SCU", // 13 | new HttpHost("acm.scu.edu.cn") // 14 | ); 15 | 16 | static { 17 | INFO.defaultChaset = "GBK"; 18 | INFO.faviconUrl = "images/remote_oj/SCU_favicon.ico"; 19 | INFO._64IntIoFormat = "%lld & %llu"; 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/sgu/SGUInfo.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.sgu; 2 | 3 | import judge.remote.RemoteOj; 4 | import judge.remote.RemoteOjInfo; 5 | 6 | import org.apache.http.HttpHost; 7 | 8 | public class SGUInfo { 9 | 10 | public static final RemoteOjInfo INFO = new RemoteOjInfo( // 11 | RemoteOj.SGU, // 12 | "SGU", // 13 | new HttpHost("acm.sgu.ru") // 14 | ); 15 | 16 | static { 17 | INFO.faviconUrl = "images/remote_oj/SGU_favicon.ico"; 18 | INFO._64IntIoFormat = "%I64d & %I64u"; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/spoj/SPOJInfo.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.spoj; 2 | 3 | import judge.remote.RemoteOj; 4 | import judge.remote.RemoteOjInfo; 5 | 6 | import org.apache.http.HttpHost; 7 | 8 | public class SPOJInfo { 9 | 10 | public static final RemoteOjInfo INFO = new RemoteOjInfo( // 11 | RemoteOj.SPOJ, // 12 | "SPOJ", // 13 | HttpHost.create("https://www.spoj.com")// 14 | ); 15 | 16 | static { 17 | INFO.defaultChaset = "ISO-8859-1"; 18 | INFO.faviconUrl = "images/remote_oj/SPOJ_favicon.png"; 19 | INFO._64IntIoFormat = "%lld & %llu"; 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/tyvj/TyvjInfo.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.tyvj; 2 | 3 | import judge.remote.RemoteOj; 4 | import judge.remote.RemoteOjInfo; 5 | import org.apache.http.HttpHost; 6 | 7 | public class TyvjInfo { 8 | 9 | public static final RemoteOjInfo INFO = new RemoteOjInfo( // 10 | RemoteOj.Tyvj, // 11 | "Tyvj", // 12 | new HttpHost("www.tyvj.cn") // 13 | ); 14 | 15 | static { 16 | INFO.faviconUrl = "images/remote_oj/Tyvj_favicon.ico"; 17 | INFO._64IntIoFormat = "%I64d & %I64u"; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/uestc/UESTCInfo.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.uestc; 2 | 3 | import judge.remote.RemoteOj; 4 | import judge.remote.RemoteOjInfo; 5 | 6 | import org.apache.http.HttpHost; 7 | 8 | public class UESTCInfo { 9 | 10 | public static final RemoteOjInfo INFO = new RemoteOjInfo( // 11 | RemoteOj.UESTC, // 12 | "UESTC", // 13 | new HttpHost("acm.uestc.edu.cn") // 14 | ); 15 | 16 | static { 17 | INFO.faviconUrl = "images/remote_oj/UESTC_favicon.png"; 18 | INFO._64IntIoFormat = "%lld & %llu"; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/uestc_old/UESTCOldInfo.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.uestc_old; 2 | 3 | import judge.remote.RemoteOj; 4 | import judge.remote.RemoteOjInfo; 5 | 6 | import org.apache.http.HttpHost; 7 | 8 | public class UESTCOldInfo { 9 | 10 | public static final RemoteOjInfo INFO = new RemoteOjInfo( // 11 | RemoteOj.UESTCOld, // 12 | "UESTC-old", // 13 | new HttpHost("acm.uestc.edu.cn") // 14 | ); 15 | 16 | static { 17 | INFO._64IntIoFormat = "%lld & %llu"; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/ural/URALInfo.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.ural; 2 | 3 | import judge.remote.RemoteOj; 4 | import judge.remote.RemoteOjInfo; 5 | 6 | import org.apache.http.HttpHost; 7 | 8 | public class URALInfo { 9 | 10 | public static final RemoteOjInfo INFO = new RemoteOjInfo( // 11 | RemoteOj.URAL, // 12 | "URAL", // 13 | new HttpHost("acm.timus.ru") // 14 | ); 15 | 16 | static { 17 | INFO.faviconUrl = "images/remote_oj/URAL_favicon.ico"; 18 | INFO._64IntIoFormat = "%I64d & %I64u"; 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/uva/UVAInfo.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.uva; 2 | 3 | import judge.remote.RemoteOj; 4 | import judge.remote.RemoteOjInfo; 5 | 6 | import org.apache.http.HttpHost; 7 | 8 | public class UVAInfo { 9 | 10 | public static final RemoteOjInfo INFO = new RemoteOjInfo( // 11 | RemoteOj.UVA, // 12 | "UVA", // 13 | new HttpHost("uva.onlinejudge.org", 443, "https") // 14 | ); 15 | 16 | static { 17 | INFO.faviconUrl = "images/remote_oj/UVA_favicon.ico"; 18 | INFO._64IntIoFormat = "%lld & %llu"; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/uva/UVAQuerier.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.uva; 2 | 3 | import judge.remote.RemoteOjInfo; 4 | import judge.remote.shared.UVAStyleQuerier; 5 | 6 | import org.springframework.stereotype.Component; 7 | 8 | @Component 9 | public class UVAQuerier extends UVAStyleQuerier { 10 | 11 | @Override 12 | public RemoteOjInfo getOjInfo() { 13 | return UVAInfo.INFO; 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/uvalive/UVALiveInfo.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.uvalive; 2 | 3 | import judge.remote.RemoteOj; 4 | import judge.remote.RemoteOjInfo; 5 | 6 | import org.apache.http.HttpHost; 7 | 8 | public class UVALiveInfo { 9 | 10 | public static final RemoteOjInfo INFO = new RemoteOjInfo( // 11 | RemoteOj.UVALive, // 12 | "UVALive", // 13 | new HttpHost("icpcarchive.ecs.baylor.edu", 443, "https") // 14 | ); 15 | 16 | static { 17 | INFO.faviconUrl = "images/remote_oj/UVA_favicon.ico"; 18 | INFO._64IntIoFormat = "%lld & %llu"; 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/uvalive/UVALiveQuerier.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.uvalive; 2 | 3 | import judge.remote.RemoteOjInfo; 4 | import judge.remote.shared.UVAStyleQuerier; 5 | 6 | import org.springframework.stereotype.Component; 7 | 8 | @Component 9 | public class UVALiveQuerier extends UVAStyleQuerier { 10 | 11 | @Override 12 | public RemoteOjInfo getOjInfo() { 13 | return UVALiveInfo.INFO; 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/zoj/ZOJInfo.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.zoj; 2 | 3 | import judge.remote.RemoteOj; 4 | import judge.remote.RemoteOjInfo; 5 | 6 | import org.apache.http.HttpHost; 7 | 8 | public class ZOJInfo { 9 | 10 | public static final RemoteOjInfo INFO = new RemoteOjInfo( // 11 | RemoteOj.ZOJ, // 12 | "ZOJ", // 13 | new HttpHost("acm.zju.edu.cn") // 14 | ); 15 | 16 | static { 17 | INFO.faviconUrl = "images/remote_oj/ZOJ_favicon.ico"; 18 | INFO._64IntIoFormat = "%lld & %llu"; 19 | INFO.urlForIndexDisplay = "http://acm.zju.edu.cn/onlinejudge/"; 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/provider/ztrening/ZTreningInfo.java: -------------------------------------------------------------------------------- 1 | package judge.remote.provider.ztrening; 2 | 3 | import judge.remote.RemoteOj; 4 | import judge.remote.RemoteOjInfo; 5 | 6 | import org.apache.http.HttpHost; 7 | 8 | public class ZTreningInfo { 9 | 10 | public static final RemoteOjInfo INFO = new RemoteOjInfo( // 11 | RemoteOj.ZTrening, // 12 | "Z-Trening", // 13 | new HttpHost("www.z-trening.com") // 14 | ); 15 | 16 | static { 17 | INFO._64IntIoFormat = "%lld & %llu"; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/querier/Querier.java: -------------------------------------------------------------------------------- 1 | package judge.remote.querier; 2 | 3 | import judge.remote.RemoteOjAware; 4 | import judge.remote.status.SubmissionRemoteStatus; 5 | import judge.remote.submitter.SubmissionInfo; 6 | import judge.tool.Handler; 7 | 8 | /** 9 | * Short for "Submission remote status querier" 10 | * Implementation should be stateless. 11 | * 12 | * @author Isun 13 | * 14 | */ 15 | public interface Querier extends RemoteOjAware { 16 | 17 | void query(SubmissionInfo info, Handler handler); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/querier/SyncQuerier.java: -------------------------------------------------------------------------------- 1 | package judge.remote.querier; 2 | 3 | import judge.httpclient.DedicatedHttpClientFactory; 4 | import judge.remote.status.SubmissionRemoteStatus; 5 | import judge.remote.submitter.SubmissionInfo; 6 | import judge.tool.Handler; 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | 9 | /** 10 | * No dependence on any other resource, just do it in invoking thread. 11 | * 12 | * @author Isun 13 | */ 14 | public abstract class SyncQuerier implements Querier { 15 | 16 | @Autowired 17 | protected DedicatedHttpClientFactory dedicatedHttpClientFactory; 18 | 19 | @Override 20 | public void query(SubmissionInfo info, Handler handler) { 21 | SubmissionRemoteStatus status = null; 22 | try { 23 | status = query(info); 24 | } catch (Throwable t) { 25 | handler.onError(t); 26 | return; 27 | } 28 | handler.handle(status); 29 | } 30 | 31 | abstract protected SubmissionRemoteStatus query(SubmissionInfo info) throws Exception; 32 | 33 | } 34 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/status/RemoteStatusNormalizer.java: -------------------------------------------------------------------------------- 1 | package judge.remote.status; 2 | 3 | public interface RemoteStatusNormalizer { 4 | 5 | RemoteStatusType getStatusType(String rawStatus); 6 | 7 | } 8 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/status/RemoteStatusType.java: -------------------------------------------------------------------------------- 1 | package judge.remote.status; 2 | 3 | /** 4 | * submission remote status type 5 | * 6 | * @author Isun 7 | * 8 | */ 9 | public enum RemoteStatusType { 10 | 11 | PENDING(false), // to submit to remote OJ 12 | 13 | SUBMIT_FAILED_TEMP(false), // failed submitting to remote OJ, due to unknown reason 14 | SUBMIT_FAILED_PERM(true), // failed submitting to remote OJ, due to known reason 15 | 16 | SUBMITTED(false), // submitted to remote OJ 17 | 18 | QUEUEING(false), // queuing in remote OJ 19 | COMPILING(false), // compiling in remote OJ 20 | JUDGING(false), // judging in remote OJ 21 | 22 | AC(true), 23 | PE(true), 24 | WA(true), 25 | TLE(true), 26 | MLE(true), 27 | OLE(true), 28 | RE(true), 29 | CE(true), 30 | FAILED_OTHER(true), 31 | 32 | 33 | ; 34 | 35 | 36 | public boolean finalized; 37 | RemoteStatusType(boolean finalized) { 38 | this.finalized = finalized; 39 | } 40 | 41 | } 42 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/status/SubmissionRemoteStatus.java: -------------------------------------------------------------------------------- 1 | package judge.remote.status; 2 | 3 | import java.util.Date; 4 | 5 | public class SubmissionRemoteStatus { 6 | 7 | public RemoteStatusType statusType; 8 | 9 | public String rawStatus; 10 | 11 | /** 12 | * millisecond 13 | */ 14 | public int executionTime; 15 | 16 | /** 17 | * KiloBytes 18 | */ 19 | public int executionMemory; 20 | 21 | public String compilationErrorInfo; 22 | 23 | public int failCase = -1; 24 | 25 | public Date queryTime = new Date(); 26 | 27 | } 28 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/submitter/SubmissionInfo.java: -------------------------------------------------------------------------------- 1 | package judge.remote.submitter; 2 | 3 | import java.util.Date; 4 | 5 | import judge.remote.RemoteOj; 6 | 7 | public class SubmissionInfo { 8 | 9 | public RemoteOj remoteOj; 10 | 11 | public String remoteProblemId; 12 | 13 | /** 14 | * the language symbol of the remote OJ 15 | */ 16 | public String remotelanguage; 17 | 18 | public String sourceCode; 19 | 20 | /** 21 | * leave null if any public remote account is eligible. 22 | * After submitting, it will set to the defacto account id. 23 | */ 24 | public String remoteAccountId; 25 | 26 | public String remoteRunId; 27 | 28 | public Date remoteSubmitTime; 29 | 30 | } 31 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/submitter/SubmissionReceipt.java: -------------------------------------------------------------------------------- 1 | package judge.remote.submitter; 2 | 3 | import java.util.Date; 4 | 5 | public class SubmissionReceipt { 6 | 7 | /** 8 | * If submitting failed, set to null 9 | */ 10 | public String remoteRunId; 11 | 12 | public String remoteAccountId; 13 | 14 | /** 15 | * Only used when submit failed 16 | */ 17 | public String errorStatus; 18 | 19 | public Date submitTime; 20 | 21 | 22 | public SubmissionReceipt(String remoteRunId, String remoteAccountId, String errorStatus) { 23 | if (remoteRunId == null) { 24 | this.errorStatus = errorStatus; 25 | } else { 26 | this.remoteRunId = remoteRunId; 27 | this.remoteAccountId = remoteAccountId; 28 | this.submitTime = new Date(); 29 | } 30 | 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/remote/submitter/Submitter.java: -------------------------------------------------------------------------------- 1 | package judge.remote.submitter; 2 | 3 | import judge.remote.RemoteOjAware; 4 | import judge.tool.Handler; 5 | 6 | /** 7 | * Implementation should be stateless. 8 | * 9 | * @author Isun 10 | * 11 | */ 12 | public interface Submitter extends RemoteOjAware { 13 | 14 | /** 15 | * Submit source code to remote OJ. Note that there are 3 resulting cases 16 | * for handler:
17 | * 1. OK case: handler.handle() is called, with receipt not null;
18 | * 2. Fail case I: handler.handle() is called, with receipt null. It will 19 | * lead submission to SUBMIT_FAILED_PERM status and not allow resubmit;
20 | * 3. Fail case II: handler.onError() is called. It will lead submission 21 | * to SUBMIT_FAILED_TEMP status and allow resubmit; 22 | * 23 | * @param info 24 | * @param handler 25 | * callback 26 | */ 27 | void submitCode(SubmissionInfo info, Handler handler) throws Exception; 28 | 29 | } 30 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/service/JedisTask.java: -------------------------------------------------------------------------------- 1 | package judge.service; 2 | 3 | import redis.clients.jedis.Jedis; 4 | 5 | public interface JedisTask { 6 | 7 | V execute(Jedis jedis); 8 | 9 | void onError(Throwable t); 10 | 11 | } 12 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/tool/ApplicationConfigPopulator.java: -------------------------------------------------------------------------------- 1 | package judge.tool; 2 | 3 | import java.util.Properties; 4 | 5 | import javax.annotation.PostConstruct; 6 | import javax.annotation.Resource; 7 | 8 | import org.springframework.stereotype.Component; 9 | 10 | @Component 11 | public class ApplicationConfigPopulator { 12 | 13 | @Resource(name = "configProperties") 14 | private Properties configProperties; 15 | 16 | @PostConstruct 17 | public void init() { 18 | for (Object key : configProperties.keySet()) { 19 | Object value = configProperties.get(key); 20 | ApplicationContainer.serveletContext.setAttribute((String) key, value); 21 | } 22 | ApplicationContainer.serveletContext.setAttribute("version", System.currentTimeMillis()); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/tool/ApplicationContainer.java: -------------------------------------------------------------------------------- 1 | package judge.tool; 2 | 3 | import javax.servlet.ServletContext; 4 | 5 | public class ApplicationContainer { 6 | 7 | public static ServletContext serveletContext; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/tool/CanonicalLanguage.java: -------------------------------------------------------------------------------- 1 | package judge.tool; 2 | 3 | public enum CanonicalLanguage { 4 | 5 | CPP("C++"), 6 | C("C"), 7 | JAVA("Java"), 8 | PASCAL("Pascal"), 9 | PYTHON("Python"), 10 | CSHARP("C#"), 11 | RUBY("Ruby"), 12 | OTHER("Other"), 13 | 14 | ;//////////////////////// 15 | 16 | String literal; 17 | 18 | CanonicalLanguage(String literal) { 19 | this.literal = literal; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/tool/CharacterEncodingFilter.java: -------------------------------------------------------------------------------- 1 | package judge.tool; 2 | 3 | import java.io.IOException; 4 | 5 | import javax.servlet.Filter; 6 | import javax.servlet.FilterChain; 7 | import javax.servlet.FilterConfig; 8 | import javax.servlet.ServletException; 9 | import javax.servlet.ServletRequest; 10 | import javax.servlet.ServletResponse; 11 | 12 | import org.apache.commons.lang3.StringUtils; 13 | 14 | public class CharacterEncodingFilter implements Filter { 15 | 16 | protected String encoding = "UTF-8"; 17 | 18 | @Override 19 | public void destroy() { 20 | } 21 | 22 | public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) 23 | throws IOException, ServletException { 24 | if (!StringUtils.isBlank(encoding)) { 25 | servletRequest.setCharacterEncoding(encoding); 26 | } 27 | filterChain.doFilter(servletRequest, servletResponse); 28 | } 29 | 30 | public void init(FilterConfig filterConfig) throws ServletException { 31 | this.encoding = filterConfig.getInitParameter("encoding"); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/tool/DescriptionComparator.java: -------------------------------------------------------------------------------- 1 | package judge.tool; 2 | 3 | import java.util.Comparator; 4 | 5 | import judge.bean.Description; 6 | 7 | public class DescriptionComparator implements Comparator { 8 | public int compare(Description o1, Description o2) { 9 | return o1.getUpdateTime().compareTo(o2.getUpdateTime()) < 0 ? -1 : 1; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/tool/Handler.java: -------------------------------------------------------------------------------- 1 | package judge.tool; 2 | 3 | public interface Handler { 4 | 5 | void handle(V v); 6 | 7 | void onError(Throwable t); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/tool/OnlineTool.java: -------------------------------------------------------------------------------- 1 | package judge.tool; 2 | 3 | import java.util.Map; 4 | 5 | import judge.bean.User; 6 | 7 | import com.opensymphony.xwork2.ActionContext; 8 | 9 | public class OnlineTool { 10 | public static User getCurrentUser() { 11 | Map session = ActionContext.getContext().getSession(); 12 | return (User) session.get("visitor"); 13 | } 14 | 15 | public static boolean isLoggedIn() { 16 | return getCurrentUser() != null; 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/tool/RandomUtil.java: -------------------------------------------------------------------------------- 1 | package judge.tool; 2 | 3 | import java.util.Random; 4 | 5 | public class RandomUtil { 6 | 7 | private static Random random = new Random(); 8 | 9 | public static String getRandomString(int length, String charset) { 10 | StringBuilder stringBuilder = new StringBuilder(); 11 | for (int i = 0; i < length; i++) { 12 | stringBuilder.append(charset.charAt(random.nextInt(charset.length()))); 13 | } 14 | return stringBuilder.toString(); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/tool/SpringBean.java: -------------------------------------------------------------------------------- 1 | package judge.tool; 2 | 3 | import org.springframework.beans.BeansException; 4 | import org.springframework.context.ApplicationContext; 5 | import org.springframework.context.ApplicationContextAware; 6 | import org.springframework.stereotype.Component; 7 | 8 | @Component 9 | public class SpringBean implements ApplicationContextAware { 10 | 11 | public static ApplicationContext applicationContext; 12 | 13 | public static Object getBean(String beanName, Object... args) { 14 | return applicationContext.getBean(beanName, args); 15 | } 16 | 17 | public static T getBean(Class clazz) { 18 | return applicationContext.getBean(clazz); 19 | } 20 | 21 | public static T getBean(String beanName, Class clazz) { 22 | return applicationContext.getBean(beanName, clazz); 23 | } 24 | 25 | @Override 26 | public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { 27 | SpringBean.applicationContext = applicationContext; 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/tool/StartUpListener.java: -------------------------------------------------------------------------------- 1 | package judge.tool; 2 | 3 | import javax.servlet.ServletContextEvent; 4 | import javax.servlet.ServletContextListener; 5 | 6 | import org.slf4j.Logger; 7 | import org.slf4j.LoggerFactory; 8 | 9 | public class StartUpListener implements ServletContextListener { 10 | private final static Logger log = LoggerFactory.getLogger(StartUpListener.class); 11 | 12 | public void contextInitialized(ServletContextEvent event) { 13 | log.info("System startup"); 14 | ApplicationContainer.serveletContext = event.getServletContext(); 15 | } 16 | 17 | public void contextDestroyed(ServletContextEvent event) { 18 | log.info("System shutdown"); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /vjudge2016/src/judge/tool/TempFileCleaner.java: -------------------------------------------------------------------------------- 1 | package judge.tool; 2 | 3 | import java.io.File; 4 | import java.io.IOException; 5 | 6 | import org.apache.commons.io.FileUtils; 7 | 8 | 9 | /** 10 | * 销毁临时文件 11 | * @author Isun 12 | * 13 | */ 14 | public class TempFileCleaner { 15 | 16 | public void clean() throws IOException { 17 | String relativePath = (String) ApplicationContainer.serveletContext.getAttribute("DataPath"); 18 | String path = ApplicationContainer.serveletContext.getRealPath(relativePath); 19 | FileUtils.deleteDirectory(new File(path)); 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /vjudge2016/src/log4j.properties: -------------------------------------------------------------------------------- 1 | # Root logger option 2 | log4j.rootLogger=INFO, file, stdout 3 | 4 | # Direct log messages to a log file 5 | log4j.appender.file=org.apache.log4j.RollingFileAppender 6 | log4j.appender.file.File=../logs/log4j.log 7 | log4j.appender.file.MaxFileSize=100MB 8 | log4j.appender.file.MaxBackupIndex=1 9 | log4j.appender.file.layout=org.apache.log4j.PatternLayout 10 | log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n 11 | 12 | # Direct log messages to stdout 13 | log4j.appender.stdout=org.apache.log4j.ConsoleAppender 14 | log4j.appender.stdout.Target=System.out 15 | log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 16 | log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n 17 | 18 | #Turn off DWR logging 19 | log4j.logger.org.directwebremoting = ERROR -------------------------------------------------------------------------------- /vjudge2016/src/struts-Stat.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | /stat/listOnlineUsers.jsp 10 | /toIndex.action 11 | 12 | 13 | 14 | 15 | /stat/viewOL.jsp 16 | /toIndex.action 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /vjudge2016/src/struts.properties: -------------------------------------------------------------------------------- 1 | struts.ui.theme=simple 2 | struts.multipart.maxSize=2000000 3 | struts.multipart.saveDir=/tmp 4 | --------------------------------------------------------------------------------