All Downloads are FREE. Search and download functionalities are using the official Maven repository.

test.gov.nasa.worldwind.symbology.milstd2525.AllTacticalSymbols Maven / Gradle / Ivy

Go to download

World Wind is a collection of components that interactively display 3D geographic information within Java applications or applets.

There is a newer version: 2.0.0-986
Show newest version
/*
 * Copyright (C) 2012 United States Government as represented by the Administrator of the
 * National Aeronautics and Space Administration.
 * All Rights Reserved.
 */
package gov.nasa.worldwind.symbology.milstd2525;

import gov.nasa.worldwind.Configuration;
import gov.nasa.worldwind.avlist.AVKey;
import gov.nasa.worldwind.geom.Position;
import gov.nasa.worldwind.layers.*;
import gov.nasa.worldwind.render.Renderable;
import gov.nasa.worldwind.symbology.*;
import gov.nasa.worldwind.util.WWUtil;
import gov.nasa.worldwindx.examples.ApplicationTemplate;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.util.List;

/**
 * @author dcollins
 * @version $Id: AllTacticalSymbols.java 1171 2013-02-11 21:45:02Z dcollins $
 */
public class AllTacticalSymbols extends ApplicationTemplate
{
    public static class AppFrame extends ApplicationTemplate.AppFrame
    {
        public AppFrame()
        {
            super(true, true, false);

            this.addSymbols();
            this.addSymbolControls();

            // Size the World Window to provide enough screen space for the symbols and center the World Window on the
            // screen.
            Dimension size = new Dimension(1800, 1000);
            this.setPreferredSize(size);
            this.pack();
            WWUtil.alignComponent(null, this, AVKey.CENTER);
        }

        protected void addSymbols()
        {
            this.addSymbolLayer(emsSymbolIds, "EMS Symbols");
            this.addSymbolLayer(sigintSymbolIds, "SIGINT Symbols");
            this.addSymbolLayer(stbopsSymbolIds, "STBOPS Symbols");
            this.addSymbolLayer(warSymbolIds, "WAR Symbols");
        }

        protected void addSymbolLayer(List nameList, String layerName)
        {
            RenderableLayer layer = new RenderableLayer();
            layer.setEnabled(false);
            layer.setName(layerName);

            double startLat = 40;
            double startLon = -120;
            double dLat = -0.1;
            double dLon = 0.1;
            double lat = startLat;
            double lon = startLon;

            for (String name : nameList)
            {
                for (String symbolId : this.makeSymbolIds(name))
                {
                    Position pos = Position.fromDegrees(lat, lon, 2000);
                    MilStd2525TacticalSymbol symbol = new MilStd2525TacticalSymbol(symbolId, pos);
                    symbol.setValue(AVKey.DISPLAY_NAME, symbolId);
                    symbol.setShowLocation(false);
                    layer.addRenderable(symbol);
                    lon += dLon;
                }

                lat += dLat;
                lon = startLon;
            }

            // Add the symbol layer to the World Wind model.
            this.getWwd().getModel().getLayers().add(layer);

            // Update the layer panel to display the symbol layer.
            this.getLayerPanel().update(this.getWwd());
        }

        protected List makeSymbolIds(String name)
        {
            ArrayList symbolIds = new ArrayList();
            StringBuilder sb = new StringBuilder(name);

            for (String si : standardIdentities)
            {
                sb.setCharAt(1, si.charAt(0));
                sb.setCharAt(3, 'p'); // Present
                symbolIds.add(sb.toString().toUpperCase());
            }

            return symbolIds;
        }

        protected void addSymbolControls()
        {
            Box box = Box.createVerticalBox();
            box.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));

            // Create a check box that toggles the frame visibility for all symbols.
            JCheckBox cb = new JCheckBox("Show Frame", true);
            cb.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent actionEvent)
                {
                    boolean tf = ((JCheckBox) actionEvent.getSource()).isSelected();

                    for (Layer layer : getWwd().getModel().getLayers())
                    {
                        if (!(layer instanceof RenderableLayer))
                            continue;

                        for (Renderable r : ((RenderableLayer) layer).getRenderables())
                        {
                            if (r instanceof TacticalSymbol)
                                ((MilStd2525TacticalSymbol) r).setShowFrame(tf);
                            getWwd().redraw(); // Cause the World Window to refresh in order to make these changes visible.
                        }
                    }
                }
            });
            cb.setAlignmentX(JComponent.LEFT_ALIGNMENT);
            box.add(Box.createVerticalStrut(10));
            box.add(cb);

            // Create a check box that toggles the fill visibility for all symbols.
            cb = new JCheckBox("Show Fill", true);
            cb.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent actionEvent)
                {
                    boolean tf = ((JCheckBox) actionEvent.getSource()).isSelected();

                    for (Layer layer : getWwd().getModel().getLayers())
                    {
                        if (!(layer instanceof RenderableLayer))
                            continue;

                        for (Renderable r : ((RenderableLayer) layer).getRenderables())
                        {
                            if (r instanceof TacticalSymbol)
                                ((MilStd2525TacticalSymbol) r).setShowFill(tf);
                            getWwd().redraw(); // Cause the World Window to refresh in order to make these changes visible.
                        }
                    }
                }
            });
            cb.setAlignmentX(JComponent.LEFT_ALIGNMENT);
            box.add(Box.createVerticalStrut(10));
            box.add(cb);

            // Create a check box that toggles the icon visibility for all symbols.
            cb = new JCheckBox("Show Icon", true);
            cb.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent actionEvent)
                {
                    boolean tf = ((JCheckBox) actionEvent.getSource()).isSelected();

                    for (Layer layer : getWwd().getModel().getLayers())
                    {
                        if (!(layer instanceof RenderableLayer))
                            continue;

                        for (Renderable r : ((RenderableLayer) layer).getRenderables())
                        {
                            if (r instanceof TacticalSymbol)
                                ((MilStd2525TacticalSymbol) r).setShowIcon(tf);
                            getWwd().redraw(); // Cause the World Window to refresh in order to make these changes visible.
                        }
                    }
                }
            });
            cb.setAlignmentX(JComponent.LEFT_ALIGNMENT);
            box.add(Box.createVerticalStrut(10));
            box.add(cb);

            // Create a check box that toggles the icon visibility for all symbols.
            cb = new JCheckBox("Present/anticipated", true);
            cb.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent actionEvent)
                {
                    String status = ((JCheckBox) actionEvent.getSource()).isSelected()
                        ? SymbologyConstants.STATUS_PRESENT : SymbologyConstants.STATUS_ANTICIPATED;

                    for (Layer layer : getWwd().getModel().getLayers())
                    {
                        if (!(layer instanceof RenderableLayer))
                            continue;

                        for (Renderable r : ((RenderableLayer) layer).getRenderables())
                        {
                            if (r instanceof TacticalSymbol)
                                ((MilStd2525TacticalSymbol) r).setStatus(status);
                            getWwd().redraw(); // Cause the World Window to refresh in order to make these changes visible.
                        }
                    }
                }
            });
            cb.setAlignmentX(JComponent.LEFT_ALIGNMENT);
            box.add(Box.createVerticalStrut(10));
            box.add(cb);

            this.getLayerPanel().add(box, BorderLayout.SOUTH);
        }
    }

    public static void main(String[] args)
    {
        Configuration.setValue(AVKey.INITIAL_LATITUDE, 40);
        Configuration.setValue(AVKey.INITIAL_LONGITUDE, -119.85);
        Configuration.setValue(AVKey.INITIAL_ALTITUDE, 77000);

        start("World Wind All MIL-STD-2525 Tactical Symbols", AppFrame.class);
    }

    protected static List standardIdentities = Arrays.asList(
        "u",
        "f",
        "n",
        "h"
    );

    protected static List emsSymbolIds = Arrays.asList(
        "e-f------------",
        "e-f-a-----h----",
        "e-f-aa----h----",
        "e-f-ab----h----",
        "e-f-ac----h----",
        "e-f-ad----h----",
        "e-f-ae----h----",
        "e-f-af----h----",
        "e-f-ag----h----",
        "e-f-b-----h----",
        "e-f-ba---------",
        "e-f-bb----h----",
        "e-f-bc----h----",
        "e-f-bd----h----",
        "e-f-be----h----",
        "e-f-bf----h----",
        "e-f-c-----h----",
        "e-f-ca----h----",
        "e-f-cb----h----",
        "e-f-cc----h----",
        "e-f-cd----h----",
        "e-f-ce----h----",
        "e-f-cf----h----",
        "e-f-cg----h----",
        "e-f-ch----h----",
        "e-f-ci----h----",
        "e-f-cj----h----",
        "e-f-d-----h----",
        "e-f-da----h----",
        "e-f-db----h----",
        "e-f-ea----h----",
        "e-f-eb----h----",
        "e-f-ee----h----",
        "e-f-f-----h----",
        "e-f-g-----h----",
        "e-f-ga----h----",
        "e-f-h-----h----",
        "e-f-ha----h----",
        "e-f-hb----h----",
        "e-f-i-----h----",
        "e-f-ia----h----",
        "e-f-ib----h----",
        "e-f-ic----h----",
        "e-f-id----h----",
        "e-f-j-----h----",
        "e-f-ja----h----",
        "e-f-jb----h----",
        "e-f-jc----h----",
        "e-f-k-----h----",
        "e-f-kb----h----",
        "e-f-la----h----",
        "e-f-ld----h----",
        "e-f-le----h----",
        "e-f-lf----h----",
        "e-f-lh----h----",
        "e-f-lj----h----",
        "e-f-lk----h----",
        "e-f-lm----h----",
        "e-f-lo----h----",
        "e-f-lp----h----",
        "e-f-ma---------",
        "e-f-mb----h----",
        "e-f-mc---------",
        "e-f-md----h----",
        "e-f-me----h----",
        "e-f-mf----h----",
        "e-f-mg----h----",
        "e-f-mh----h----",
        "e-f-mi----h----",
        "e-i------------",
        "e-i-a----------",
        "e-i-ac---------",
        "e-i-b----------",
        "e-i-ba---------",
        "e-i-bc---------",
        "e-i-bd---------",
        "e-i-bf---------",
        "e-i-c----------",
        "e-i-ca---------",
        "e-i-cb---------",
        "e-i-cc---------",
        "e-i-cd---------",
        "e-i-ce---------",
        "e-i-cf---------",
        "e-i-cg---------",
        "e-i-ch---------",
        "e-i-d----------",
        "e-i-da---------",
        "e-i-db---------",
        "e-i-dc---------",
        "e-i-dd---------",
        "e-i-de---------",
        "e-i-df---------",
        "e-i-dg---------",
        "e-i-dh---------",
        "e-i-di---------",
        "e-i-dj---------",
        "e-i-dk---------",
        "e-i-dl---------",
        "e-i-dm---------",
        "e-i-dn---------",
        "e-i-do---------",
        "e-i-e----------",
        "e-i-ea---------",
        "e-i-f----------",
        "e-i-fa---------",
        "e-i-g----------",
        "e-i-ga---------",
        "e-i-gb---------",
        "e-i-h----------",
        "e-i-ha---------",
        "e-o------------",
        "e-o-a----------",
        "e-o-aa---------",
        "e-o-ab---------",
        "e-o-ac----h----",
        "e-o-ad----h----",
        "e-o-ae---------",
        "e-o-af---------",
        "e-o-ag----h----",
        "e-o-aj----h----",
        "e-o-ak----h----",
        "e-o-al----h----",
        "e-o-am----h----",
        "e-o-b----------",
        "e-o-ba---------",
        "e-o-bb---------",
        "e-o-bc----h----",
        "e-o-bd---------",
        "e-o-be----h----",
        "e-o-bf----h----",
        "e-o-bg----h----",
        "e-o-bh----h----",
        "e-o-bi----h----",
        "e-o-bj---------",
        "e-o-bk----h----",
        "e-o-bl----h----",
        "e-o-c----------",
        "e-o-ca---------",
        "e-o-cb---------",
        "e-o-cc---------",
        "e-o-cd----h----",
        "e-o-ce----h----",
        "e-o-d----------",
        "e-o-da---------",
        "e-o-db---------",
        "e-o-dc----h----",
        "e-o-dd---------",
        "e-o-dda--------",
        "e-o-ddb--------",
        "e-o-ddc--------",
        "e-o-de---------",
        "e-o-dea--------",
        "e-o-deb--------",
        "e-o-dec---h----",
        "e-o-df---------",
        "e-o-dfa--------",
        "e-o-dfb--------",
        "e-o-dfc---h----",
        "e-o-dg---------",
        "e-o-dga--------",
        "e-o-dgb--------",
        "e-o-dgc---h----",
        "e-o-dh---------",
        "e-o-dha--------",
        "e-o-dhb--------",
        "e-o-dhc---h----",
        "e-o-di---------",
        "e-o-dia--------",
        "e-o-dib--------",
        "e-o-dic---h----",
        "e-o-dj---------",
        "e-o-djb--------",
        "e-o-djc---h----",
        "e-o-dk----h----",
        "e-o-dl---------",
        "e-o-dla--------",
        "e-o-dlb--------",
        "e-o-dlc---h----",
        "e-o-dm---------",
        "e-o-dma--------",
        "e-o-dmb--------",
        "e-o-dmc---h----",
        "e-o-dn---------",
        "e-o-dna--------",
        "e-o-dnc---h----",
        "e-o-do---------",
        "e-o-doa--------",
        "e-o-dob--------",
        "e-o-doc---h----",
        "e-o-ea---------",
        "e-o-eb---------",
        "e-o-ec---------",
        "e-o-ed---------",
        "e-o-ee---------");

    protected static List sigintSymbolIds = Arrays.asList(
        "i-a------------",
        "i-a-s----------",
        "i-a-sc---------",
        "i-a-scc--------",
        "i-a-sco--------",
        "i-a-scp--------",
        "i-a-scs--------",
        "i-a-sr---------",
        "i-a-srai-------",
        "i-a-sras-------",
        "i-a-src--------",
        "i-a-srd--------",
        "i-a-sre--------",
        "i-a-srf--------",
        "i-a-sri--------",
        "i-a-srma-------",
        "i-a-srmd-------",
        "i-a-srmf-------",
        "i-a-srmg-------",
        "i-a-srmt-------",
        "i-a-srta-------",
        "i-a-srti-------",
        "i-a-srtt-------",
        "i-a-sru--------",
        "i-g------------",
        "i-g-s----------",
        "i-g-sc---------",
        "i-g-scc--------",
        "i-g-sco--------",
        "i-g-scp--------",
        "i-g-scs--------",
        "i-g-sct--------",
        "i-g-sr---------",
        "i-g-sraa-------",
        "i-g-srat-------",
        "i-g-srb--------",
        "i-g-srca-------",
        "i-g-srcs-------",
        "i-g-srd--------",
        "i-g-sre--------",
        "i-g-srf--------",
        "i-g-srh--------",
        "i-g-sri--------",
        "i-g-srma-------",
        "i-g-srmf-------",
        "i-g-srmg-------",
        "i-g-srmm-------",
        "i-g-srmt-------",
        "i-g-srs--------",
        "i-g-srta-------",
        "i-g-srti-------",
        "i-g-srtt-------",
        "i-g-sru--------",
        "i-p------------",
        "i-p-s----------",
        "i-p-sc---------",
        "i-p-scd--------",
        "i-p-sr---------",
        "i-p-srd--------",
        "i-p-sre--------",
        "i-p-sri--------",
        "i-p-srm--------",
        "i-p-srs--------",
        "i-p-srt--------",
        "i-p-sru--------",
        "i-s------------",
        "i-s-s----------",
        "i-s-sc---------",
        "i-s-scc--------",
        "i-s-sco--------",
        "i-s-scp--------",
        "i-s-scs--------",
        "i-s-sr---------",
        "i-s-sraa-------",
        "i-s-srat-------",
        "i-s-srca-------",
        "i-s-srci-------",
        "i-s-srd--------",
        "i-s-sre--------",
        "i-s-srf--------",
        "i-s-srh--------",
        "i-s-sri--------",
        "i-s-srma-------",
        "i-s-srmf-------",
        "i-s-srmg-------",
        "i-s-srmm-------",
        "i-s-srmt-------",
        "i-s-srs--------",
        "i-s-srta-------",
        "i-s-srti-------",
        "i-s-srtt-------",
        "i-s-sru--------",
        "i-u------------",
        "i-u-s----------",
        "i-u-sc---------",
        "i-u-sco--------",
        "i-u-scp--------",
        "i-u-scs--------",
        "i-u-sr---------",
        "i-u-srd--------",
        "i-u-sre--------",
        "i-u-srm--------",
        "i-u-srs--------",
        "i-u-srt--------",
        "i-u-sru--------");

    protected static List stbopsSymbolIds = Arrays.asList(
        "o-g------------",
        "o-g-a----------",
        "o-g-b----------",
        "o-g-c----------",
        "o-g-d----------",
        "o-g-e----------",
        "o-g-f----------",
        "o-i------------",
        "o-i-d----------",
        "o-i-f----------",
        "o-i-g----------",
        "o-i-i----------",
        "o-i-r----------",
        "o-i-s----------",
        "o-i-v----------",
        "o-l------------",
        "o-l-b----------",
        "o-l-g----------",
        "o-l-m----------",
        "o-l-w----------",
        "o-o------------",
        "o-o-a----------",
        "o-o-c----------",
        "o-o-ca---------",
        "o-o-cb---------",
        "o-o-cc---------",
        "o-o-d----------",
        "o-o-e----------",
        "o-o-f----------",
        "o-o-ha---------",
        "o-o-ht---------",
        "o-o-hv---------",
        "o-o-k----------",
        "o-o-ka---------",
        "o-o-m----------",
        "o-o-o----------",
        "o-o-p----------",
        "o-o-rc---------",
        "o-o-rw---------",
        "o-o-s----------",
        "o-o-u----------",
        "o-o-y----------",
        "o-o-yh---------",
        "o-o-yt---------",
        "o-o-yw---------",
        "o-p------------",
        "o-p-a----------",
        "o-p-b----------",
        "o-p-c----------",
        "o-r------------",
        "o-r-a----------",
        "o-v------------",
        "o-v-a----------",
        "o-v-b----------",
        "o-v-d----------",
        "o-v-e----------",
        "o-v-ei---------",
        "o-v-m----------",
        "o-v-ma---------",
        "o-v-mb---------",
        "o-v-mc---------",
        "o-v-p----------",
        "o-v-s----------",
        "o-v-y----------");

    protected static List warSymbolIds = Arrays.asList(
        "s-a------------",
        "s-a-c----------",
        "s-a-cf---------",
        "s-a-ch---------",
        "s-a-cl---------",
        "s-a-m----------",
        "s-a-me---------",
        "s-a-mf---------",
        "s-a-mfa--------",
        "s-a-mfb--------",
        "s-a-mfc--------",
        "s-a-mfch-------",
        "s-a-mfcl-------",
        "s-a-mfcm-------",
        "s-a-mfd--------",
        "s-a-mff--------",
        "s-a-mffi-------",
        "s-a-mfh--------",
        "s-a-mfj--------",
        "s-a-mfk--------",
        "s-a-mfkb-------",
        "s-a-mfkd-------",
        "s-a-mfl--------",
        "s-a-mfm--------",
        "s-a-mfo--------",
        "s-a-mfp--------",
        "s-a-mfpm-------",
        "s-a-mfpn-------",
        "s-a-mfq--------",
        "s-a-mfqa-------",
        "s-a-mfqb-------",
        "s-a-mfqc-------",
        "s-a-mfqd-------",
        "s-a-mfqf-------",
        "s-a-mfqh-------",
        "s-a-mfqi-------",
        "s-a-mfqj-------",
        "s-a-mfqk-------",
        "s-a-mfql-------",
        "s-a-mfqm-------",
        "s-a-mfqn-------",
        "s-a-mfqo-------",
        "s-a-mfqp-------",
        "s-a-mfqr-------",
        "s-a-mfqrw------",
        "s-a-mfqrx------",
        "s-a-mfqrz------",
        "s-a-mfqs-------",
        "s-a-mfqt-------",
        "s-a-mfqu-------",
        "s-a-mfqy-------",
        "s-a-mfr--------",
        "s-a-mfrw-------",
        "s-a-mfrx-------",
        "s-a-mfrz-------",
        "s-a-mfs--------",
        "s-a-mft--------",
        "s-a-mfu--------",
        "s-a-mfuh-------",
        "s-a-mful-------",
        "s-a-mfum-------",
        "s-a-mfy--------",
        "s-a-mh---------",
        "s-a-mha--------",
        "s-a-mhc--------",
        "s-a-mhch-------",
        "s-a-mhcl-------",
        "s-a-mhcm-------",
        "s-a-mhd--------",
        "s-a-mhh--------",
        "s-a-mhi--------",
        "s-a-mhj--------",
        "s-a-mhk--------",
        "s-a-mhm--------",
        "s-a-mho--------",
        "s-a-mhq--------",
        "s-a-mhr--------",
        "s-a-mhs--------",
        "s-a-mht--------",
        "s-a-mhu--------",
        "s-a-mhuh-------",
        "s-a-mhul-------",
        "s-a-mhum-------",
        "s-a-ml---------",
        "s-a-mv---------",
        "s-a-w----------",
        "s-a-wb---------",
        "s-a-wd---------",
        "s-a-wm---------",
        "s-a-wma--------",
        "s-a-wmaa-------",
        "s-a-wmap-------",
        "s-a-wmas-------",
        "s-a-wmb--------",
        "s-a-wmcm-------",
        "s-a-wms--------",
        "s-a-wmsa-------",
        "s-a-wmsb-------",
        "s-a-wmss-------",
        "s-a-wmsu-------",
        "s-a-wmu--------",
        "s-f------------",
        "s-f-a----------",
        "s-f-af---------",
        "s-f-afa--------",
        "s-f-afk--------",
        "s-f-afu--------",
        "s-f-afuh-------",
        "s-f-aful-------",
        "s-f-afum-------",
        "s-f-ah---------",
        "s-f-aha--------",
        "s-f-ahh--------",
        "s-f-ahu--------",
        "s-f-ahuh-------",
        "s-f-ahul-------",
        "s-f-ahum-------",
        "s-f-av---------",
        "s-f-b----------",
        "s-f-g----------",
        "s-f-gc---------",
        "s-f-gp---------",
        "s-f-gpa--------",
        "s-f-gr---------",
        "s-f-gs---------",
        "s-f-n----------",
        "s-f-nb---------",
        "s-f-nn---------",
        "s-f-ns---------",
        "s-f-nu---------",
        "s-g------------",
        "s-g-e----------",
        "s-g-es---------",
        "s-g-ese--------",
        "s-g-esr--------",
        "s-g-ev---------",
        "s-g-eva--------",
        "s-g-evaa-------",
        "s-g-evaar------",
        "s-g-evac-------",
        "s-g-evai-------",
        "s-g-eval-------",
        "s-g-evas-------",
        "s-g-evat-------",
        "s-g-evath------",
        "s-g-evathr-----",
        "s-g-evatl------",
        "s-g-evatlr-----",
        "s-g-evatm------",
        "s-g-evatmr-----",
        "s-g-evc--------",
        "s-g-evca-------",
        "s-g-evcah------",
        "s-g-evcal------",
        "s-g-evcam------",
        "s-g-evcf-------",
        "s-g-evcfh------",
        "s-g-evcfl------",
        "s-g-evcfm------",
        "s-g-evcj-------",
        "s-g-evcjh------",
        "s-g-evcjl------",
        "s-g-evcjm------",
        "s-g-evcm-------",
        "s-g-evcmh------",
        "s-g-evcml------",
        "s-g-evcmm------",
        "s-g-evco-------",
        "s-g-evcoh------",
        "s-g-evcol------",
        "s-g-evcom------",
        "s-g-evct-------",
        "s-g-evcth------",
        "s-g-evctl------",
        "s-g-evctm------",
        "s-g-evcu-------",
        "s-g-evcuh------",
        "s-g-evcul------",
        "s-g-evcum------",
        "s-g-eve--------",
        "s-g-evea-------",
        "s-g-eveaa------",
        "s-g-eveat------",
        "s-g-eveb-------",
        "s-g-evec-------",
        "s-g-eved-------",
        "s-g-eveda------",
        "s-g-evee-------",
        "s-g-evef-------",
        "s-g-eveh-------",
        "s-g-evem-------",
        "s-g-eveml------",
        "s-g-evemv------",
        "s-g-ever-------",
        "s-g-eves-------",
        "s-g-evm--------",
        "s-g-evs--------",
        "s-g-evsc-------",
        "s-g-evsp-------",
        "s-g-evsr-------",
        "s-g-evst-------",
        "s-g-evsw-------",
        "s-g-evt--------",
        "s-g-evu--------",
        "s-g-evua-------",
        "s-g-evuaa------",
        "s-g-evub-------",
        "s-g-evul-------",
        "s-g-evur-------",
        "s-g-evus-------",
        "s-g-evush------",
        "s-g-evusl------",
        "s-g-evusm------",
        "s-g-evut-------",
        "s-g-evuth------",
        "s-g-evutl------",
        "s-g-evux-------",
        "s-g-ewa--------",
        "s-g-ewah-------",
        "s-g-ewal-------",
        "s-g-ewam-------",
        "s-g-ewd--------",
        "s-g-ewdh-------",
        "s-g-ewdhs------",
        "s-g-ewdl-------",
        "s-g-ewdls------",
        "s-g-ewdm-------",
        "s-g-ewdms------",
        "s-g-ewg--------",
        "s-g-ewgh-------",
        "s-g-ewgl-------",
        "s-g-ewgm-------",
        "s-g-ewgr-------",
        "s-g-ewh--------",
        "s-g-ewhh-------",
        "s-g-ewhhs------",
        "s-g-ewhl-------",
        "s-g-ewhls------",
        "s-g-ewhm-------",
        "s-g-ewhms------",
        "s-g-ewm--------",
        "s-g-ewma-------",
        "s-g-ewmai------",
        "s-g-ewmaie-----",
        "s-g-ewmair-----",
        "s-g-ewmal------",
        "s-g-ewmale-----",
        "s-g-ewmalr-----",
        "s-g-ewmas------",
        "s-g-ewmase-----",
        "s-g-ewmasr-----",
        "s-g-ewmat------",
        "s-g-ewmate-----",
        "s-g-ewmatr-----",
        "s-g-ewms-------",
        "s-g-ewmsi------",
        "s-g-ewmsl------",
        "s-g-ewmss------",
        "s-g-ewmt-------",
        "s-g-ewmth------",
        "s-g-ewmtl------",
        "s-g-ewmtm------",
        "s-g-ewo--------",
        "s-g-ewoh-------",
        "s-g-ewol-------",
        "s-g-ewom-------",
        "s-g-ewr--------",
        "s-g-ewrh-------",
        "s-g-ewrl-------",
        "s-g-ewrr-------",
        "s-g-ews--------",
        "s-g-ewsh-------",
        "s-g-ewsl-------",
        "s-g-ewsm-------",
        "s-g-ewt--------",
        "s-g-ewth-------",
        "s-g-ewtl-------",
        "s-g-ewtm-------",
        "s-g-ewx--------",
        "s-g-ewxh-------",
        "s-g-ewxl-------",
        "s-g-ewxm-------",
        "s-g-ewz--------",
        "s-g-ewzh-------",
        "s-g-ewzl-------",
        "s-g-ewzm-------",
        "s-g-exf--------",
        "s-g-exi--------",
        "s-g-exl--------",
        "s-g-exm--------",
        "s-g-exmc-------",
        "s-g-exml-------",
        "s-g-exn--------",
        "s-g-i-----h----",
        "s-g-ib----h----",
        "s-g-iba---h----",
        "s-g-ibn---h----",
        "s-g-ie----h----",
        "s-g-ig----h----",
        "s-g-ima---h----",
        "s-g-imc---h----",
        "s-g-ime---h----",
        "s-g-imf---h----",
        "s-g-imfa--h----",
        "s-g-imfp--h----",
        "s-g-imfpw-h----",
        "s-g-imfs--h----",
        "s-g-img---h----",
        "s-g-imm---h----",
        "s-g-imn---h----",
        "s-g-imnb--h----",
        "s-g-ims---h----",
        "s-g-imv---h----",
        "s-g-ip----h----",
        "s-g-ipd---h----",
        "s-g-ir----h----",
        "s-g-irm---h----",
        "s-g-irn---h----",
        "s-g-irnb--h----",
        "s-g-irnc--h----",
        "s-g-irnn--h----",
        "s-g-irp---h----",
        "s-g-it----h----",
        "s-g-iu----h----",
        "s-g-iue---h----",
        "s-g-iued--h----",
        "s-g-iuef--h----",
        "s-g-iuen--h----",
        "s-g-iup---h----",
        "s-g-iur---h----",
        "s-g-iut---h----",
        "s-g-ix----h----",
        "s-g-ixh---h----",
        "s-g-u----------",
        "s-g-uc---------",
        "s-g-uca--------",
        "s-g-ucaa-------",
        "s-g-ucaaa------",
        "s-g-ucaaas-----",
        "s-g-ucaaat-----",
        "s-g-ucaaaw-----",
        "s-g-ucaac------",
        "s-g-ucaad------",
        "s-g-ucaal------",
        "s-g-ucaam------",
        "s-g-ucaao------",
        "s-g-ucaaos-----",
        "s-g-ucaas------",
        "s-g-ucaau------",
        "s-g-ucat-------",
        "s-g-ucata------",
        "s-g-ucath------",
        "s-g-ucatl------",
        "s-g-ucatm------",
        "s-g-ucatr------",
        "s-g-ucatw------",
        "s-g-ucatwr-----",
        "s-g-ucaw-------",
        "s-g-ucawa------",
        "s-g-ucawh------",
        "s-g-ucawl------",
        "s-g-ucawm------",
        "s-g-ucawr------",
        "s-g-ucaws------",
        "s-g-ucaww------",
        "s-g-ucawwr-----",
        "s-g-ucd--------",
        "s-g-ucdc-------",
        "s-g-ucdg-------",
        "s-g-ucdh-------",
        "s-g-ucdhh------",
        "s-g-ucdhp------",
        "s-g-ucdm-------",
        "s-g-ucdmh------",
        "s-g-ucdml------",
        "s-g-ucdmla-----",
        "s-g-ucdmm------",
        "s-g-ucdo-------",
        "s-g-ucds-------",
        "s-g-ucdsc------",
        "s-g-ucdss------",
        "s-g-ucdsv------",
        "s-g-ucdt-------",
        "s-g-uce--------",
        "s-g-ucec-------",
        "s-g-uceca------",
        "s-g-ucecc------",
        "s-g-ucech------",
        "s-g-ucecl------",
        "s-g-ucecm------",
        "s-g-uceco------",
        "s-g-ucecr------",
        "s-g-ucecs------",
        "s-g-ucect------",
        "s-g-ucecw------",
        "s-g-ucen-------",
        "s-g-ucenn------",
        "s-g-ucf--------",
        "s-g-ucfh-------",
        "s-g-ucfha------",
        "s-g-ucfhc------",
        "s-g-ucfhe------",
        "s-g-ucfhh------",
        "s-g-ucfhl------",
        "s-g-ucfhm------",
        "s-g-ucfho------",
        "s-g-ucfhs------",
        "s-g-ucfhx------",
        "s-g-ucfm-------",
        "s-g-ucfml------",
        "s-g-ucfms------",
        "s-g-ucfmt------",
        "s-g-ucfmta-----",
        "s-g-ucfmtc-----",
        "s-g-ucfmto-----",
        "s-g-ucfmts-----",
        "s-g-ucfmw------",
        "s-g-ucfo-------",
        "s-g-ucfoa------",
        "s-g-ucfol------",
        "s-g-ucfoo------",
        "s-g-ucfos------",
        "s-g-ucfr-------",
        "s-g-ucfrm------",
        "s-g-ucfrmr-----",
        "s-g-ucfrms-----",
        "s-g-ucfrmt-----",
        "s-g-ucfrs------",
        "s-g-ucfrsr-----",
        "s-g-ucfrss-----",
        "s-g-ucfrst-----",
        "s-g-ucfs-------",
        "s-g-ucfsa------",
        "s-g-ucfsl------",
        "s-g-ucfso------",
        "s-g-ucfss------",
        "s-g-ucft-------",
        "s-g-ucfta------",
        "s-g-ucftc------",
        "s-g-ucftcd-----",
        "s-g-ucftcm-----",
        "s-g-ucftf------",
        "s-g-ucftr------",
        "s-g-ucfts------",
        "s-g-uci--------",
        "s-g-ucia-------",
        "s-g-ucic-------",
        "s-g-ucii-------",
        "s-g-ucil-------",
        "s-g-ucim-------",
        "s-g-ucin-------",
        "s-g-ucio-------",
        "s-g-ucis-------",
        "s-g-uciz-------",
        "s-g-ucm--------",
        "s-g-ucms-------",
        "s-g-ucmt-------",
        "s-g-ucr--------",
        "s-g-ucra-------",
        "s-g-ucrc-------",
        "s-g-ucrh-------",
        "s-g-ucrl-------",
        "s-g-ucro-------",
        "s-g-ucrr-------",
        "s-g-ucrrd------",
        "s-g-ucrrf------",
        "s-g-ucrrl------",
        "s-g-ucrs-------",
        "s-g-ucrv-------",
        "s-g-ucrva------",
        "s-g-ucrvg------",
        "s-g-ucrvm------",
        "s-g-ucrvo------",
        "s-g-ucrx-------",
        "s-g-ucs--------",
        "s-g-ucsa-------",
        "s-g-ucsg-------",
        "s-g-ucsga------",
        "s-g-ucsgd------",
        "s-g-ucsgm------",
        "s-g-ucsm-------",
        "s-g-ucsr-------",
        "s-g-ucsw-------",
        "s-g-ucv--------",
        "s-g-ucvc-------",
        "s-g-ucvf-------",
        "s-g-ucvfa------",
        "s-g-ucvfr------",
        "s-g-ucvfu------",
        "s-g-ucvr-------",
        "s-g-ucvra------",
        "s-g-ucvrm------",
        "s-g-ucvrs------",
        "s-g-ucvru------",
        "s-g-ucvruc-----",
        "s-g-ucvrue-----",
        "s-g-ucvruh-----",
        "s-g-ucvrul-----",
        "s-g-ucvrum-----",
        "s-g-ucvrw------",
        "s-g-ucvs-------",
        "s-g-ucvu-------",
        "s-g-ucvuf------",
        "s-g-ucvur------",
        "s-g-ucvv-------",
        "s-g-uh---------",
        "s-g-us---------",
        "s-g-usa--------",
        "s-g-usac-------",
        "s-g-usaf-------",
        "s-g-usafc------",
        "s-g-usaft------",
        "s-g-usaj-------",
        "s-g-usajc------",
        "s-g-usajt------",
        "s-g-usal-------",
        "s-g-usalc------",
        "s-g-usalt------",
        "s-g-usam-------",
        "s-g-usamc------",
        "s-g-usamt------",
        "s-g-usao-------",
        "s-g-usaoc------",
        "s-g-usaot------",
        "s-g-usap-------",
        "s-g-usapb------",
        "s-g-usapbc-----",
        "s-g-usapbt-----",
        "s-g-usapc------",
        "s-g-usapm------",
        "s-g-usapmc-----",
        "s-g-usapmt-----",
        "s-g-usapt------",
        "s-g-usaq-------",
        "s-g-usaqc------",
        "s-g-usaqt------",
        "s-g-usar-------",
        "s-g-usarc------",
        "s-g-usart------",
        "s-g-usas-------",
        "s-g-usasc------",
        "s-g-usast------",
        "s-g-usat-------",
        "s-g-usaw-------",
        "s-g-usawc------",
        "s-g-usawt------",
        "s-g-usax-------",
        "s-g-usaxc------",
        "s-g-usaxt------",
        "s-g-usm--------",
        "s-g-usmc-------",
        "s-g-usmd-------",
        "s-g-usmdc------",
        "s-g-usmdt------",
        "s-g-usmm-------",
        "s-g-usmmc------",
        "s-g-usmmt------",
        "s-g-usmp-------",
        "s-g-usmpc------",
        "s-g-usmpt------",
        "s-g-usmt-------",
        "s-g-usmv-------",
        "s-g-usmvc------",
        "s-g-usmvt------",
        "s-g-uss--------",
        "s-g-uss1-------",
        "s-g-uss1c------",
        "s-g-uss1t------",
        "s-g-uss2-------",
        "s-g-uss2c------",
        "s-g-uss2t------",
        "s-g-uss3-------",
        "s-g-uss3a------",
        "s-g-uss3ac-----",
        "s-g-uss3at-----",
        "s-g-uss3c------",
        "s-g-uss3t------",
        "s-g-uss4-------",
        "s-g-uss4c------",
        "s-g-uss4t------",
        "s-g-uss5-------",
        "s-g-uss5c------",
        "s-g-uss5t------",
        "s-g-uss6-------",
        "s-g-uss6c------",
        "s-g-uss6t------",
        "s-g-uss7-------",
        "s-g-uss7c------",
        "s-g-uss7t------",
        "s-g-uss8-------",
        "s-g-uss8c------",
        "s-g-uss8t------",
        "s-g-uss9-------",
        "s-g-uss9c------",
        "s-g-uss9t------",
        "s-g-ussc-------",
        "s-g-ussl-------",
        "s-g-usslc------",
        "s-g-usslt------",
        "s-g-usst-------",
        "s-g-ussw-------",
        "s-g-usswc------",
        "s-g-usswp------",
        "s-g-usswpc-----",
        "s-g-usswpt-----",
        "s-g-usswt------",
        "s-g-ussx-------",
        "s-g-ussxc------",
        "s-g-ussxt------",
        "s-g-ust--------",
        "s-g-usta-------",
        "s-g-ustac------",
        "s-g-ustat------",
        "s-g-ustc-------",
        "s-g-usti-------",
        "s-g-ustic------",
        "s-g-ustit------",
        "s-g-ustm-------",
        "s-g-ustmc------",
        "s-g-ustmt------",
        "s-g-ustr-------",
        "s-g-ustrc------",
        "s-g-ustrt------",
        "s-g-usts-------",
        "s-g-ustsc------",
        "s-g-ustst------",
        "s-g-ustt-------",
        "s-g-usx--------",
        "s-g-usxc-------",
        "s-g-usxe-------",
        "s-g-usxec------",
        "s-g-usxet------",
        "s-g-usxh-------",
        "s-g-usxhc------",
        "s-g-usxht------",
        "s-g-usxo-------",
        "s-g-usxoc------",
        "s-g-usxom------",
        "s-g-usxomc-----",
        "s-g-usxomt-----",
        "s-g-usxot------",
        "s-g-usxr-------",
        "s-g-usxrc------",
        "s-g-usxrt------",
        "s-g-usxt-------",
        "s-g-uu---------",
        "s-g-uua--------",
        "s-g-uuab-------",
        "s-g-uuabr------",
        "s-g-uuac-------",
        "s-g-uuacc------",
        "s-g-uuacck-----",
        "s-g-uuaccm-----",
        "s-g-uuacr------",
        "s-g-uuacrs-----",
        "s-g-uuacrw-----",
        "s-g-uuacs------",
        "s-g-uuacsa-----",
        "s-g-uuacsm-----",
        "s-g-uuad-------",
        "s-g-uuan-------",
        "s-g-uue--------",
        "s-g-uui--------",
        "s-g-uul--------",
        "s-g-uulc-------",
        "s-g-uuld-------",
        "s-g-uulf-------",
        "s-g-uulm-------",
        "s-g-uuls-------",
        "s-g-uum--------",
        "s-g-uuma-------",
        "s-g-uumc-------",
        "s-g-uumj-------",
        "s-g-uummo------",
        "s-g-uumo-------",
        "s-g-uumq-------",
        "s-g-uumr-------",
        "s-g-uumrg------",
        "s-g-uumrs------",
        "s-g-uumrss-----",
        "s-g-uumrx------",
        "s-g-uums-------",
        "s-g-uumse------",
        "s-g-uumsea-----",
        "s-g-uumsec-----",
        "s-g-uumsed-----",
        "s-g-uumsei-----",
        "s-g-uumsej-----",
        "s-g-uumset-----",
        "s-g-uumt-------",
        "s-g-uup--------",
        "s-g-uus--------",
        "s-g-uusa-------",
        "s-g-uusc-------",
        "s-g-uuscl------",
        "s-g-uusf-------",
        "s-g-uusm-------",
        "s-g-uusml------",
        "s-g-uusmn------",
        "s-g-uusms------",
        "s-g-uuso-------",
        "s-g-uusr-------",
        "s-g-uusrs------",
        "s-g-uusrt------",
        "s-g-uusrw------",
        "s-g-uuss-------",
        "s-g-uusw-------",
        "s-g-uusx-------",
        "s-p------------",
        "s-p-l----------",
        "s-p-s----------",
        "s-p-t----------",
        "s-p-v----------",
        "s-s------------",
        "s-s-c----------",
        "s-s-ca---------",
        "s-s-cala-------",
        "s-s-calc-------",
        "s-s-cals-------",
        "s-s-calsm------",
        "s-s-calst------",
        "s-s-cd---------",
        "s-s-ch---------",
        "s-s-cl---------",
        "s-s-clbb-------",
        "s-s-clcc-------",
        "s-s-clcv-------",
        "s-s-cldd-------",
        "s-s-clff-------",
        "s-s-clll-------",
        "s-s-clllas-----",
        "s-s-clllmi-----",
        "s-s-clllsu-----",
        "s-s-cm---------",
        "s-s-cmma-------",
        "s-s-cmmh-------",
        "s-s-cmml-------",
        "s-s-cmms-------",
        "s-s-cp---------",
        "s-s-cpsb-------",
        "s-s-cpsu-------",
        "s-s-cpsug------",
        "s-s-cpsum------",
        "s-s-cpsut------",
        "s-s-cu---------",
        "s-s-cum--------",
        "s-s-cun--------",
        "s-s-cur--------",
        "s-s-cus--------",
        "s-s-g----------",
        "s-s-gc---------",
        "s-s-gg---------",
        "s-s-gt---------",
        "s-s-gu---------",
        "s-s-n----------",
        "s-s-nf---------",
        "s-s-nh---------",
        "s-s-ni---------",
        "s-s-nm---------",
        "s-s-nr---------",
        "s-s-ns---------",
        "s-s-o----------",
        "s-s-xa---------",
        "s-s-xar--------",
        "s-s-xas--------",
        "s-s-xf---------",
        "s-s-xfdf-------",
        "s-s-xfdr-------",
        "s-s-xftr-------",
        "s-s-xh---------",
        "s-s-xl---------",
        "s-s-xm---------",
        "s-s-xmc--------",
        "s-s-xmf--------",
        "s-s-xmh--------",
        "s-s-xmo--------",
        "s-s-xmp--------",
        "s-s-xmr--------",
        "s-s-xmto-------",
        "s-s-xmtu-------",
        "s-s-xp---------",
        "s-s-xr---------",
        "s-u------------",
        "s-u-e----------",
        "s-u-nd---------",
        "s-u-s----------",
        "s-u-s1---------",
        "s-u-s2---------",
        "s-u-s3---------",
        "s-u-s4---------",
        "s-u-sb---------",
        "s-u-sc---------",
        "s-u-sca--------",
        "s-u-scb--------",
        "s-u-scf--------",
        "s-u-scg--------",
        "s-u-scm--------",
        "s-u-sf---------",
        "s-u-sk---------",
        "s-u-sl---------",
        "s-u-sn---------",
        "s-u-sna--------",
        "s-u-snb--------",
        "s-u-snf--------",
        "s-u-sng--------",
        "s-u-snm--------",
        "s-u-so---------",
        "s-u-sof--------",
        "s-u-sr---------",
        "s-u-su---------",
        "s-u-sum--------",
        "s-u-sun--------",
        "s-u-sus--------",
        "s-u-sx---------",
        "s-u-v----------",
        "s-u-w----------",
        "s-u-wd---------",
        "s-u-wdm--------",
        "s-u-wdmg-------",
        "s-u-wdmm-------",
        "s-u-wm---------",
        "s-u-wma--------",
        "s-u-wmb--------",
        "s-u-wmbd-------",
        "s-u-wmc--------",
        "s-u-wmd--------",
        "s-u-wme--------",
        "s-u-wmf--------",
        "s-u-wmfc-------",
        "s-u-wmfd-------",
        "s-u-wmfe-------",
        "s-u-wmfo-------",
        "s-u-wmfr-------",
        "s-u-wmfx-------",
        "s-u-wmg--------",
        "s-u-wmgc-------",
        "s-u-wmgd-------",
        "s-u-wmge-------",
        "s-u-wmgo-------",
        "s-u-wmgr-------",
        "s-u-wmgx-------",
        "s-u-wmm--------",
        "s-u-wmmc-------",
        "s-u-wmmd-------",
        "s-u-wmme-------",
        "s-u-wmmo-------",
        "s-u-wmmr-------",
        "s-u-wmmx-------",
        "s-u-wmn--------",
        "s-u-wmo--------",
        "s-u-wmod-------",
        "s-u-wmr--------",
        "s-u-wms--------",
        "s-u-wmsd-------",
        "s-u-wmsx-------",
        "s-u-wmx--------",
        "s-u-wt---------",
        "s-u-x----------");
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy