import java.util.*; import java.util.zip.*; import java.util.List; import java.util.regex.*; import java.util.concurrent.*; import java.util.concurrent.atomic.*; import java.util.concurrent.locks.*; import java.util.function.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.text.*; import javax.swing.table.*; import java.io.*; import java.net.*; import java.lang.reflect.*; import java.lang.ref.*; import java.lang.management.*; import java.security.*; import java.security.spec.*; import java.awt.*; import java.awt.event.*; import java.awt.image.*; import java.awt.geom.*; import javax.imageio.*; import java.math.*; import x30_pkg.x30_util; import static x30_pkg.x30_util.VF1; import static x30_pkg.x30_util.getOpt; import static x30_pkg.x30_util.setOpt; import static x30_pkg.x30_util.callOpt; import static x30_pkg.x30_util.newWeakHashMap; import static x30_pkg.x30_util.newDangerousWeakHashMap; import static x30_pkg.x30_util.get; import static x30_pkg.x30_util.get_raw; import static x30_pkg.x30_util.assertTrue; import static x30_pkg.x30_util.isHeadless; import static x30_pkg.x30_util.isAndroid; import static x30_pkg.x30_util.isTrue; import x30_pkg.x30_util.DynamicObject; import loadableUtils.utils; import static loadableUtils.utils._threadInfo; import static loadableUtils.utils._threadInheritInfo; import static loadableUtils.utils.dm_current_mandatory; import static loadableUtils.utils.match; import static loadableUtils.utils.getField; import static loadableUtils.utils.vm_generalIdentityHashSet; import static loadableUtils.utils.vm_generalHashMap; import static loadableUtils.utils.vm_generalWeakSubMap; import static loadableUtils.utils.bindToComponent; import static loadableUtils.utils.struct; import static loadableUtils.utils.structure; import static loadableUtils.utils.structureToPrintWriter; import static loadableUtils.utils.loadPage; import static loadableUtils.utils.loadPage_utf8; import static loadableUtils.utils.loadPageSilently; import static loadableUtils.utils.loadSnippet; import static loadableUtils.utils.componentPopupMenu; import static loadableUtils.utils.tablePopupMenu; import static loadableUtils.utils.tablePopupMenuFirst; import static loadableUtils.utils.sexyTableWithoutDrag; import static loadableUtils.utils.dm_current_generic; import static loadableUtils.utils.cset; import static loadableUtils.utils.DynamicObject_loading; import static loadableUtils.utils.concepts_unlisted; import static loadableUtils.utils.dynamicObjectIsLoading; import static loadableUtils.utils.rethrow; import loadableUtils.utils.F0; import loadableUtils.utils.F1; import loadableUtils.utils.IF0; import loadableUtils.utils.IF1; import loadableUtils.utils.IVF1; import loadableUtils.utils.Matches; import loadableUtils.utils.BetterLabel; import loadableUtils.utils.SingleComponentPanel; import loadableUtils.utils.Q; import loadableUtils.utils.ImageSurface; import loadableUtils.utils.structure_Data; import loadableUtils.utils.RGBImage; import loadableUtils.utils.RGB; import loadableUtils.utils.BWImage; import loadableUtils.utils.MakesBufferedImage; import loadableUtils.utils.MultiSet; import loadableUtils.utils.Concept; import loadableUtils.utils.Concepts; import loadableUtils.utils.IConceptIndex; import loadableUtils.utils.IConceptCounter; import loadableUtils.utils.IterableIterator; import loadableUtils.utils.IFieldIndex; import loadableUtils.utils.PersistableThrowable; import loadableUtils.utils.DynModule; import loadableUtils.utils.GlobalID; import loadableUtils.utils.Rect; import loadableUtils.utils.Pt; import static loadableUtils.utils.db_mainConcepts; import static loadableUtils.utils.fixNewLines; import static loadableUtils.utils.sfu; import static loadableUtils.utils.getExceptionCause; import static loadableUtils.utils.joinWithSpace; import static loadableUtils.utils.callF; import static loadableUtils.utils.javaTok; import static loadableUtils.utils.interceptPrintInThisThread; import static loadableUtils.utils.jlabel; import static loadableUtils.utils.join; import static loadableUtils.utils.isAWTThread; import static loadableUtils.utils.set; import static loadableUtils.utils.call; import static loadableUtils.utils.fail; import static loadableUtils.utils.print; import static loadableUtils.utils.doLater; import static loadableUtils.utils.cget; import static loadableUtils.utils.db; import loadableUtils.utils.LongRange; import loadableUtils.utils.IntRange; import loadableUtils.utils.MultiMap; import loadableUtils.utils.Meta; import loadableUtils.utils.SimpleLiveValue; import loadableUtils.utils.Matrix; import loadableUtils.utils.IRef; import loadableUtils.utils.F2; import loadableUtils.utils.RandomAccessAbstractList; import loadableUtils.utils.IBWIntegralImage; import loadableUtils.utils.Producer; import loadableUtils.utils.IntBuffer; import loadableUtils.utils.AbstractMatrix; import loadableUtils.utils.OKOrError; import loadableUtils.utils.IMeta; import loadableUtils.utils.LiveValue; import loadableUtils.utils.Timestamp; import loadableUtils.utils.DoubleRect; import loadableUtils.utils.Complex; import loadableUtils.utils.Either; import loadableUtils.utils.Steppable; import loadableUtils.utils.T3; import loadableUtils.utils.Swingable; import loadableUtils.utils.JavaXClassLoader; import loadableUtils.utils.Average; import loadableUtils.utils.BWIntegralImage; import loadableUtils.utils.DoubleRange; import loadableUtils.utils.Seconds; import loadableUtils.utils.Scored; import static loadableUtils.utils.score; import static loadableUtils.utils.stepAll; import static loadableUtils.utils.isRunnableX; import static loadableUtils.utils.wrappedTextArea; import static loadableUtils.utils.infoMessage; import static loadableUtils.utils.brightnessToRGBA; import static loadableUtils.utils.sorted; import static loadableUtils.utils.rcallOpt; import static loadableUtils.utils.childrenOfType; import static loadableUtils.utils.unCurlyBracket; import static loadableUtils.utils.isA; import static loadableUtils.utils.nanoTime; import static loadableUtils.utils.b; import static loadableUtils.utils.ewicOneOf; import static loadableUtils.utils.jCenteredSection; import static loadableUtils.utils.dm_fieldLabel; import static loadableUtils.utils.n; import static loadableUtils.utils.abs; import static loadableUtils.utils.prepareProgramFile; import static loadableUtils.utils.callMain; import static loadableUtils.utils.evalJava_prep; import static loadableUtils.utils.caseInsensitiveComparator; import static loadableUtils.utils.getComponents; import static loadableUtils.utils.rep; import static loadableUtils.utils.area; import static loadableUtils.utils.add; import static loadableUtils.utils.singleComponentPanel; import static loadableUtils.utils.simpleDateFormat_local; import static loadableUtils.utils.withMargin; import static loadableUtils.utils.addActionListener; import static loadableUtils.utils.hasMethod; import static loadableUtils.utils.enterKeyListener; import static loadableUtils.utils.countIteratorToList; import static loadableUtils.utils.setFrameIconLater; import static loadableUtils.utils.intersectRects; import static loadableUtils.utils.setSCPComponent; import static loadableUtils.utils.withLeftMargin; import static loadableUtils.utils.jPopDownButton_noText; import static loadableUtils.utils.swingLater; import static loadableUtils.utils.currentImage; import static loadableUtils.utils.boolOptParam; import static loadableUtils.utils.getOptMC; import static loadableUtils.utils.setImage; import static loadableUtils.utils.regexp; import static loadableUtils.utils.setFrameTitle; import static loadableUtils.utils._inCore; import static loadableUtils.utils.getScreenWidth; import static loadableUtils.utils.tsNow; import static loadableUtils.utils.boundsOnScreen; import static loadableUtils.utils.formatFunctionCall; import static loadableUtils.utils.dm_reload; import static loadableUtils.utils.isIdentifier; import static loadableUtils.utils.getSnippetTitle; import static loadableUtils.utils.jFullCenter; import static loadableUtils.utils.dm_calculatedLiveValue; import static loadableUtils.utils.dm_fieldCheckBox; import static loadableUtils.utils.classNamesInJarOrDir; import static loadableUtils.utils.scaffoldingEnabled; import static loadableUtils.utils.indent; import static loadableUtils.utils.infoBox; import static loadableUtils.utils.toSeconds; import static loadableUtils.utils.rect; import static loadableUtils.utils.cleanUp; import static loadableUtils.utils.dm_stem; import static loadableUtils.utils.forEach; import static loadableUtils.utils.disposeWindow; import static loadableUtils.utils.moveToTopRightCorner; import static loadableUtils.utils.stdcompare; import static loadableUtils.utils.centerAndEast; import static loadableUtils.utils.metaMapPut; import static loadableUtils.utils.makeFrame; import static loadableUtils.utils.okOrError; import static loadableUtils.utils.setDoubleBuffered; import static loadableUtils.utils.asVirtualList; import static loadableUtils.utils.bufferedImage; import static loadableUtils.utils.mapToObjectArray; import static loadableUtils.utils.maximumSafeArraySize; import static loadableUtils.utils.dm_q; import static loadableUtils.utils.withLeftAndRightMargin; import static loadableUtils.utils.childOfType; import static loadableUtils.utils.shortName; import static loadableUtils.utils.findTranslators2; import static loadableUtils.utils.getFieldType; import static loadableUtils.utils.emptyIterableIterator; import static loadableUtils.utils.flattenArray2; import static loadableUtils.utils.formatDouble; import static loadableUtils.utils.getParent; import static loadableUtils.utils.strOrEmpty; import static loadableUtils.utils.shorten_str; import static loadableUtils.utils.run; import static loadableUtils.utils.has; import static loadableUtils.utils.last; import static loadableUtils.utils.caseInsensitiveSet; import static loadableUtils.utils.checkCondition; import static loadableUtils.utils.warn; import static loadableUtils.utils.distance; import static loadableUtils.utils.jrightAlignedLine; import static loadableUtils.utils.toRect; import static loadableUtils.utils.synchroSet; import static loadableUtils.utils.formatDouble_significant2; import static loadableUtils.utils.addIfNotNull; import static loadableUtils.utils.isString; import static loadableUtils.utils.installTimer; import static loadableUtils.utils.setAdd; import static loadableUtils.utils.clipBufferedImage; import static loadableUtils.utils.formatDouble1; import static loadableUtils.utils.setText; import static loadableUtils.utils.vmBus_timerStarted; import static loadableUtils.utils.splitAtSpace; import static loadableUtils.utils.getBounds; import static loadableUtils.utils.northAndCenterWithMargin; import static loadableUtils.utils.getAndClearList; import static loadableUtils.utils.loadTextFileResource; import static loadableUtils.utils.selectedItem; import static loadableUtils.utils.isSpaceEtc; import static loadableUtils.utils.joinSubList; import static loadableUtils.utils.onSelectedItem; import static loadableUtils.utils.muricaCredentials; import static loadableUtils.utils.onUpdate; import static loadableUtils.utils.hotwire_copyOver; import static loadableUtils.utils.replace; import static loadableUtils.utils.withTypeWriterFont; import static loadableUtils.utils.printWithMS; import static loadableUtils.utils.setSplitPaneOnFirstShowing; import static loadableUtils.utils.format; import static loadableUtils.utils.heightForWidth; import static loadableUtils.utils.hsplit; import static loadableUtils.utils.changeListener; import static loadableUtils.utils.containsNewLine; import static loadableUtils.utils.centerAndEastWithMargin; import static loadableUtils.utils.getFrame; import static loadableUtils.utils.countIterator_exclusive; import static loadableUtils.utils.centerAndSouth; import static loadableUtils.utils.jhsplit; import static loadableUtils.utils.dm_fieldLiveValue; import static loadableUtils.utils.findAllFiles_noDirs; import static loadableUtils.utils.toObjectArray; import static loadableUtils.utils.rectFromPoints; import static loadableUtils.utils.runnableThread; import static loadableUtils.utils.toolTip; import static loadableUtils.utils.firstToUpper; import static loadableUtils.utils.allScreenBounds; import static loadableUtils.utils.findClass_fullName; import static loadableUtils.utils.rCallOnSelectedListItem; import static loadableUtils.utils.withBottomMargin; import static loadableUtils.utils.typeWriterFont; import static loadableUtils.utils.javaCompile_overInternalBot; import static loadableUtils.utils.jscroll_centered; import static loadableUtils.utils.parentFile; import static loadableUtils.utils.listSet; import static loadableUtils.utils.hfulltag; import static loadableUtils.utils.getCanonicalPath; import static loadableUtils.utils.dm_rEnter; import static loadableUtils.utils.reTok; import static loadableUtils.utils.toString; import static loadableUtils.utils.callCalc; import static loadableUtils.utils.mapI_if1; import static loadableUtils.utils.squareBracket; import static loadableUtils.utils.isQuoted; import static loadableUtils.utils.applyDefaultMargin; import static loadableUtils.utils.isDigit; import static loadableUtils.utils.dm_callOS; import static loadableUtils.utils.regionMatches; import static loadableUtils.utils.warnIfOddCount; import static loadableUtils.utils.logQuoted; import static loadableUtils.utils.loadLibraries; import static loadableUtils.utils.dm_callOSOpt; import static loadableUtils.utils.bindLiveValueListenerToComponent; import static loadableUtils.utils.getPreferredWidth; import static loadableUtils.utils.screenBounds; import static loadableUtils.utils.toRectangle; import static loadableUtils.utils.allMethodNames; import static loadableUtils.utils.widthForHeight; import static loadableUtils.utils.centerLabel; import static loadableUtils.utils.jLiveValueLabel; import static loadableUtils.utils.shortClassName_dropNumberPrefix; import static loadableUtils.utils.identityHashCode; import static loadableUtils.utils.appendToFileBaseName; import static loadableUtils.utils.jbutton; import static loadableUtils.utils.addDyn; import static loadableUtils.utils.setEnabled; import static loadableUtils.utils.functionCall; import static loadableUtils.utils.javaTokForStructure; import static loadableUtils.utils.isCISet; import static loadableUtils.utils.northAndCenter; import static loadableUtils.utils.jline; import static loadableUtils.utils.toMS; import static loadableUtils.utils.cancelTimer; import static loadableUtils.utils.creator; import static loadableUtils.utils.vmBus_query; import static loadableUtils.utils.change; import static loadableUtils.utils.assertEquals; import static loadableUtils.utils.clearAllTokens; import static loadableUtils.utils.toPath; import static loadableUtils.utils.getPreferredSize; import static loadableUtils.utils.unicode_downPointingTriangle; import static loadableUtils.utils.jLiveValueCheckBox; import static loadableUtils.utils.md5; import static loadableUtils.utils.getBorder; import static loadableUtils.utils.getLookAndFeel; import static loadableUtils.utils.renderFileInfo; import static loadableUtils.utils.jCheckBoxMenuItem; import static loadableUtils.utils.appendToFile; import static loadableUtils.utils.find; import static loadableUtils.utils.jenableUndoRedo; import static loadableUtils.utils.setChecked; import static loadableUtils.utils.setFont; import static loadableUtils.utils.syncList; import static loadableUtils.utils.takeFirst; import static loadableUtils.utils.isEditableComboBox; import static loadableUtils.utils.plus; import static loadableUtils.utils.dm_watchField; import static loadableUtils.utils.fillJPopupMenu; import static loadableUtils.utils.hotwire_makeClassLoader; import static loadableUtils.utils.ifloor; import static loadableUtils.utils.blend; import static loadableUtils.utils.indexOf; import static loadableUtils.utils.repeat; import static loadableUtils.utils.structureForUser; import static loadableUtils.utils.ok; import static loadableUtils.utils.jCheckBox; import static loadableUtils.utils.toMS_int; import static loadableUtils.utils.asArray; import static loadableUtils.utils.pt; import static loadableUtils.utils.showText; import static loadableUtils.utils.setDefaultClassFinder; import static loadableUtils.utils.isCurlyBracketed; import static loadableUtils.utils.getBytecodePathForClass; import static loadableUtils.utils.transpileRaw_makeTranslator; import static loadableUtils.utils.singular; import static loadableUtils.utils.minus; import static loadableUtils.utils.syncAddOrCreate; import static loadableUtils.utils.fileNameEncode; import static loadableUtils.utils.reversedList; import static loadableUtils.utils.intRange; import static loadableUtils.utils.getScreenHeight; import static loadableUtils.utils.ratio; import static loadableUtils.utils.fillRect; import static loadableUtils.utils.getSelectedItem; import static loadableUtils.utils.isChecked; import static loadableUtils.utils.similarEmptyMap; import static loadableUtils.utils.toFile; import static loadableUtils.utils.tempAdd; import static loadableUtils.utils.onMouseDown; import static loadableUtils.utils.tempDisposeWindow; import static loadableUtils.utils.pixelCount; import static loadableUtils.utils.pairA; import static loadableUtils.utils.dropFirst; import static loadableUtils.utils.newWeakHashSet; import static loadableUtils.utils.mod; import static loadableUtils.utils.squareBracketed; import static loadableUtils.utils.subByteArray; import static loadableUtils.utils.findClass; import static loadableUtils.utils.humanizeFormLabel; import static loadableUtils.utils.addSuffix; import static loadableUtils.utils.wrapForSmartAdd; import static loadableUtils.utils.asSet; import static loadableUtils.utils.autoFrameTitle; import static loadableUtils.utils.westCenterAndEast; import static loadableUtils.utils.shootScreen2; import static loadableUtils.utils.filter; import static loadableUtils.utils.syncLinkedHashSet; import static loadableUtils.utils.mapPut; import static loadableUtils.utils.onChange; import static loadableUtils.utils.isInQ; import static loadableUtils.utils.uniqueFileNameUsingMD5_80_v2; import static loadableUtils.utils.isMenuSeparatorIndicator; import static loadableUtils.utils.applyMargin; import static loadableUtils.utils.withTopMargin; import static loadableUtils.utils.dirOfFile; import static loadableUtils.utils.error; import static loadableUtils.utils.setBackground; import static loadableUtils.utils.sysNow; import static loadableUtils.utils.elapsedSeconds; import static loadableUtils.utils.bigint; import static loadableUtils.utils.hotwire; import static loadableUtils.utils.metaGet; import static loadableUtils.utils.heldInstance; import static loadableUtils.utils.nestedIterator; import loadableUtils.utils.Pair; import loadableUtils.utils.BetterThreadLocal; import loadableUtils.utils.IBWImage; import loadableUtils.utils.WidthAndHeight; import loadableUtils.utils.Enterable; import loadableUtils.utils.SimpleCRUD_v2; import static loadableUtils.utils._MethodCache; import static loadableUtils.utils.defaultMargin; import static loadableUtils.utils.showForm_makeFrame; import loadableUtils.utils.Decolorizer; import javax.swing.border.*; import com.github.sarxos.webcam.*; import java.text.NumberFormat; import javax.imageio.metadata.*; import javax.imageio.stream.*; import java.text.SimpleDateFormat; import java.nio.charset.Charset; import java.nio.file.*; import static java.nio.file.StandardWatchEventKinds.*; import org.fife.ui.autocomplete.*; import org.fife.rsta.ui.CollapsibleSectionPanel; import org.fife.rsta.ui.GoToDialog; import org.fife.rsta.ui.SizeGripIcon; import org.fife.rsta.ui.search.FindDialog; import org.fife.rsta.ui.search.ReplaceDialog; import org.fife.rsta.ui.search.ReplaceToolBar; import org.fife.rsta.ui.search.SearchEvent; import org.fife.rsta.ui.search.SearchListener; import org.fife.rsta.ui.search.FindToolBar; import org.fife.ui.rsyntaxtextarea.ErrorStrip; import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea; import org.fife.ui.rsyntaxtextarea.SyntaxConstants; import org.fife.ui.rtextarea.RTextScrollPane; import org.fife.ui.rtextarea.SearchContext; import org.fife.ui.rtextarea.SearchEngine; import org.fife.ui.rtextarea.SearchResult; import java.awt.datatransfer.StringSelection; import org.fife.ui.rsyntaxtextarea.*; import java.awt.geom.*; import java.awt.datatransfer.*; import java.awt.geom.AffineTransform; import java.text.*; class main { static public String programID; static public void _onLoad_initUtils() { utils.__javax = javax(); } static public void _onLoad_defaultClassFinder() { setDefaultClassFinder(new F1() { public Class get(String name) { name = replacePrefix("loadableUtils.utils$", "main$", name); print("_onLoad_defaultClassFinder " + name); Class c = findClass_fullName(name); if (c != null) return c; if (name.startsWith("main$")) return loadableUtils.utils.findClass_fullName("loadableUtils.utils" + name.substring(4)); return null; } }); } static public ThreadLocal dynamicObjectIsLoading_threadLocal() { return DynamicObject_loading; } static public class GazelleScreenCam extends DynModule { volatile public boolean enabled = true; transient public JPanel buttons; public void setEnabled(boolean b) { setField("enabled", b); } public JComponent visualize_enabled() { return dm_checkBox("enabled"); } public int pixelRows = 128, colors = 8; public String script = "64p 8c gradientImage"; public String newScript; public String screenCamScript; public String selectedTab; public String javaCode; public String recognizerScript; public boolean horizontalLayout = false; public int fpsTarget = 20; public String webCamName; public boolean webCamAccessEnabled = true; public WatchTarget watchTarget; public G22_TestScreenPanel testScreen = new G22_TestScreenPanel(); transient public ImageSurface isPosterized; transient public ScreenCamStream imageStream = new ScreenCamStream(); transient public Gazelle22_ImageToRegions imageToRegions_finished; transient public DoubleFPSCounter fpsCounter = new DoubleFPSCounter(); transient public int fps; transient public WatchTargetSelector watchTargetSelector; transient public RollingAverage remainingMSPerFrame = new RollingAverage(); transient public int remainingMS; transient public FunctionTimings functionTimings = new FunctionTimings(); transient public ReliableSingleThread rstRunScript = dm_rst(me(), new Runnable() { public void run() { try { _runScript(); } catch (Exception __e) { throw rethrow(__e); } } public String toString() { return "_runScript();"; } }); transient public JGazelleVScriptRunner scriptRunner; transient public UIURLSystem uiURLs; transient public JComboBox cbWebCam; transient public SingleComponentPanel scpWebCamImage; transient public WebcamPanel webCamPanel; transient public JLeftArrowScriptIDE screenCamScriptIDE; transient public GazelleV_LeftArrowScript.Script runningScreenCamScript; transient public Concepts concepts; public String uiURL = "Main Tabs"; transient public FileWatchService fileWatcher; transient public SimpleCRUD_v2