Example usage for org.apache.commons.lang3 StringEscapeUtils unescapeHtml4

List of usage examples for org.apache.commons.lang3 StringEscapeUtils unescapeHtml4

Introduction

In this page you can find the example usage for org.apache.commons.lang3 StringEscapeUtils unescapeHtml4.

Prototype

public static final String unescapeHtml4(final String input) 

Source Link

Document

Unescapes a string containing entity escapes to a string containing the actual Unicode characters corresponding to the escapes.

Usage

From source file:com.omertron.slackbot.listeners.BoardGameListener.java

/**
 * Format the collection item (game) into an attachment
 *
 * @param game/*from www  . j  a  v  a2 s . c o  m*/
 * @return
 */
private SlackAttachment createGameAttachment(CollectionItem game) {
    SlackAttachment sa = new SlackAttachment();
    String year = game.getYearPublished() == null ? UNKNOWN : " (" + game.getYearPublished() + ")";

    sa.setFallback(INFORMATION_ON + game.getName());
    sa.setTitle(game.getName() + year);
    sa.setTitleLink(Constants.BGG_LINK_GAME + game.getObjectId());
    sa.setAuthorIcon(game.getThumbnail());
    sa.setText(StringEscapeUtils.unescapeHtml4(game.getComment()));
    sa.setColor(Constants.ATTACH_COLOUR_GOOD);
    sa.setThumbUrl(formatHttpLink(game.getThumbnail()));
    sa.addField(BGG_ID, String.valueOf(game.getObjectId()), true);
    if (game.getStats() != null && game.getStats().getRating() != null) {
        float value = game.getStats().getRating().getValue();
        sa.addField("Rating", "" + (value > 0 ? value : "Not Rated"), true);
    }

    if (game.getNumPlays() > 0) {
        sa.addField("Num Plays", "" + game.getNumPlays(), true);
    }

    LOG.info("Owner Status: {}", game.getOwnerStatus().toString());

    List<String> status = calculateStatus(game.getOwnerStatus());
    if (!status.isEmpty()) {
        sa.addField("Owner Status", StringUtils.join(status, ","), true);
    }
    LOG.info("Status: {}", status.toString());
    return sa;
}

From source file:mServer.crawler.sender.MediathekBr.java

private String checkThema(String thema) {
    thema = StringEscapeUtils.unescapeXml(thema.trim());
    thema = StringEscapeUtils.unescapeHtml4(thema.trim());
    for (String s : listeAlleThemen) {
        if (thema.equalsIgnoreCase(s)) {
            return s;
        }//from  w w  w.  j a  va 2s  . co  m
    }
    for (String s : listeAlleThemen) {
        if (thema.toLowerCase().startsWith(s.toLowerCase())) {
            return s;
        }
    }
    return getSendername();
}

From source file:com.nttec.everychan.api.util.WakabaReader.java

/**
 *  ? ?   ? e-mail ?,  (HTML-?)/*ww  w  .  j a v  a2  s.  co m*/
 * ? ? &lt;span class="postername"&gt;  &lt;span class="commentpostername"&gt;.<br>
 * ???  {@link #currentPost}, ? {@link PostModel#name}, {@link PostModel#email}  ( ?) {@link PostModel#sage}.<br>
 *  ? ? ??  &lt;a href="mailto:email"&gt;&lt;/a&gt;.<br>
 * ? email ? sage,  {@link PostModel#sage} ???  true.
 */
protected void parseNameEmail(String raw) {
    Matcher emailMatcher = EMAIL_PATTERN.matcher(raw);
    if (emailMatcher.find()) {
        currentPost.email = emailMatcher.group(1).trim();
        if (currentPost.email.startsWith("mailto:"))
            currentPost.email = currentPost.email.substring(7);
        if (currentPost.email.toLowerCase(Locale.US).contains("sage"))
            currentPost.sage = true;
        currentPost.name = StringEscapeUtils.unescapeHtml4(emailMatcher.group(2)).trim();
    } else {
        currentPost.name = StringEscapeUtils.unescapeHtml4(raw).trim();
    }
    if (currentPost.name.contains("<span class=\"adminname\">"))
        currentPost.color = Color.RED;
    if (currentPost.name.startsWith("<"))
        currentPost.name = RegexUtils.removeHtmlTags(currentPost.name);
}

From source file:com.omertron.slackbot.listeners.BoardGameListener.java

/**
 * Make a detailed attachment for a game
 *
 * @param game//from w w  w. jav  a2s  .  co m
 * @return
 */
private SlackAttachment makeDetailedAttachment(BoardGameExtended game) {
    SlackAttachment sa = new SlackAttachment();
    String year = game.getYearPublished() == null ? UNKNOWN : " (" + game.getYearPublished() + ")";

    sa.setFallback(INFORMATION_ON + game.getName());
    sa.setAuthorName(game.getName() + year);
    sa.setAuthorLink(Constants.BGG_LINK_GAME + game.getId());
    sa.setAuthorIcon(game.getThumbnail());
    sa.setText(StringEscapeUtils.unescapeHtml4(game.getDescription()));
    sa.setColor(Constants.ATTACH_COLOUR_GOOD);
    sa.setThumbUrl(formatHttpLink(game.getThumbnail()));
    sa.addField(BGG_ID, String.valueOf(game.getId()), true);
    sa.addField("Player Count", game.getMinPlayers() + "-" + game.getMaxPlayers(), true);
    sa.addField("Playing Time", String.valueOf(game.getPlayingTime()), true);
    sa.addField("Designer(s)", formatIdValue(game.getBoardGameDesigner()), true);
    sa.addField("Categories", formatIdValue(game.getBoardGameCategory()), true);
    sa.addField("Mechanics", formatIdValue(game.getBoardGameMechanic()), true);

    return sa;
}

From source file:com.ryan.ryanreader.fragments.CommentListingFragment.java

@Override
public boolean onContextItemSelected(MenuItem item) {

    final AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();

    if (info.position <= 0)
        return false;

    final Action action = Action.values()[item.getItemId()];
    final RedditPreparedComment comment = (RedditPreparedComment) lv.getAdapter().getItem(info.position);

    switch (action) {

    case UPVOTE://w  w  w.ja  v  a2s . c om
        comment.action(getSupportActivity(), RedditAPI.RedditAction.UPVOTE);
        break;

    case DOWNVOTE:
        comment.action(getSupportActivity(), RedditAPI.RedditAction.DOWNVOTE);
        break;

    case UNVOTE:
        comment.action(getSupportActivity(), RedditAPI.RedditAction.UNVOTE);
        break;

    case REPORT:

        new AlertDialog.Builder(getSupportActivity()).setTitle(R.string.action_report)
                .setMessage(R.string.action_report_sure)
                .setPositiveButton(R.string.action_report, new DialogInterface.OnClickListener() {
                    public void onClick(final DialogInterface dialog, final int which) {
                        comment.action(getSupportActivity(), RedditAPI.RedditAction.REPORT);
                        // TODO update the view to show the result
                    }
                }).setNegativeButton(R.string.dialog_cancel, null).show();

        break;

    case REPLY: {
        final Intent intent = new Intent(getSupportActivity(), CommentReplyActivity.class);
        intent.putExtra("parentIdAndType", comment.idAndType);
        startActivity(intent);
        break;
    }

    case EDIT: {
        final Intent intent = new Intent(getSupportActivity(), CommentEditActivity.class);
        intent.putExtra("commentIdAndType", comment.idAndType);
        intent.putExtra("commentText", comment.src.body);
        startActivity(intent);
        break;
    }

    case COMMENT_LINKS:
        final HashSet<String> linksInComment = comment.computeAllLinks();

        if (linksInComment.isEmpty()) {
            General.quickToast(getSupportActivity(), R.string.error_toast_no_urls_in_comment);

        } else {

            final String[] linksArr = linksInComment.toArray(new String[linksInComment.size()]);

            final AlertDialog.Builder builder = new AlertDialog.Builder(getSupportActivity());
            builder.setItems(linksArr, new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    LinkHandler.onLinkClicked(getSupportActivity(), linksArr[which], false);
                    dialog.dismiss();
                }
            });

            final AlertDialog alert = builder.create();
            alert.setTitle(R.string.action_comment_links);
            alert.setCanceledOnTouchOutside(true);
            alert.show();
        }

        break;

    case SHARE:

        final Intent mailer = new Intent(Intent.ACTION_SEND);
        mailer.setType("text/plain");
        mailer.putExtra(Intent.EXTRA_SUBJECT, "Comment by " + comment.src.author + " on Reddit");

        // TODO this currently just dumps the markdown
        mailer.putExtra(Intent.EXTRA_TEXT, StringEscapeUtils.unescapeHtml4(comment.src.body));
        startActivityForResult(Intent.createChooser(mailer, context.getString(R.string.action_share)), 1);

        break;

    case COPY:

        ClipboardManager manager = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE);
        // TODO this currently just dumps the markdown
        manager.setText(StringEscapeUtils.unescapeHtml4(comment.src.body));
        break;

    case COLLAPSE:
        if (comment.getBoundView() != null)
            handleCommentVisibilityToggle(comment.getBoundView());
        break;

    case USER_PROFILE:
        UserProfileDialog.newInstance(comment.src.author).show(getSupportActivity());
        break;

    case PROPERTIES:
        CommentPropertiesDialog.newInstance(comment.src).show(getSupportActivity());
        break;

    }

    return true;
}

From source file:com.microsoft.windowsazure.storage.table.TableParser.java

/**
 * Reserved for internal use. Parses the operation response as an entity. Parses the result returned in the
 * specified stream in AtomPub format into a {@link TableResult} containing an entity of the specified class type
 * projected using the specified resolver.
 * //from w  ww.j  av  a  2 s .  co m
 * @param xmlr
 *            An <code>XMLStreamReader</code> on the input stream.
 * @param clazzType
 *            The class type <code>T</code> implementing {@link TableEntity} for the entity returned. Set to
 *            <code>null</code> to ignore the returned entity and copy only response properties into the
 *            {@link TableResult} object.
 * @param resolver
 *            An {@link EntityResolver} instance to project the entity into an instance of type <code>R</code>. Set
 *            to <code>null</code> to return the entity as an instance of the class type <code>T</code>.
 * @param opContext
 *            An {@link OperationContext} object used to track the execution of the operation.
 * @return
 *         A {@link TableResult} containing the parsed entity result of the operation.
 * 
 * @throws XMLStreamException
 *             if an error occurs while accessing the stream.
 * @throws ParseException
 *             if an error occurs while parsing the stream.
 * @throws InstantiationException
 *             if an error occurs while constructing the result.
 * @throws IllegalAccessException
 *             if an error occurs in reflection while parsing the result.
 * @throws StorageException
 *             if a storage service error occurs.
 */
private static <T extends TableEntity, R> TableResult parseAtomEntity(final XMLStreamReader xmlr,
        final Class<T> clazzType, final EntityResolver<R> resolver, final OperationContext opContext)
        throws XMLStreamException, ParseException, InstantiationException, IllegalAccessException,
        StorageException {
    int eventType = xmlr.getEventType();
    final TableResult res = new TableResult();

    xmlr.require(XMLStreamConstants.START_ELEMENT, null, ODataConstants.ENTRY);

    String etag = StringEscapeUtils.unescapeHtml4(
            xmlr.getAttributeValue(ODataConstants.DATA_SERVICES_METADATA_NS, ODataConstants.ETAG));

    res.setEtag(etag);

    while (xmlr.hasNext()) {
        eventType = xmlr.next();
        if (eventType == XMLStreamConstants.CHARACTERS) {
            xmlr.getText();
            continue;
        }

        final String name = xmlr.getName().toString();

        if (eventType == XMLStreamConstants.START_ELEMENT) {
            if (name.equals(ODataConstants.BRACKETED_ATOM_NS + ODataConstants.ID)) {
                Utility.readElementFromXMLReader(xmlr, ODataConstants.ID);
            } else if (name
                    .equals(ODataConstants.BRACKETED_DATA_SERVICES_METADATA_NS + ODataConstants.PROPERTIES)) {
                // Do read properties
                if (resolver == null && clazzType == null) {
                    return res;
                } else {
                    res.setProperties(readAtomProperties(xmlr, opContext));
                    break;
                }
            }
        }
    }

    // Move to end Content
    eventType = xmlr.next();
    if (eventType == XMLStreamConstants.CHARACTERS) {
        eventType = xmlr.next();
    }

    xmlr.require(XMLStreamConstants.END_ELEMENT, null, ODataConstants.CONTENT);

    eventType = xmlr.next();
    if (eventType == XMLStreamConstants.CHARACTERS) {
        eventType = xmlr.next();
    }

    xmlr.require(XMLStreamConstants.END_ELEMENT, null, ODataConstants.ENTRY);

    String rowKey = null;
    String partitionKey = null;
    Date timestamp = null;

    // Remove core properties from map and set individually
    EntityProperty tempProp = res.getProperties().remove(TableConstants.PARTITION_KEY);
    if (tempProp != null) {
        partitionKey = tempProp.getValueAsString();
    }

    tempProp = res.getProperties().remove(TableConstants.ROW_KEY);
    if (tempProp != null) {
        rowKey = tempProp.getValueAsString();
    }

    tempProp = res.getProperties().remove(TableConstants.TIMESTAMP);
    if (tempProp != null) {
        timestamp = tempProp.getValueAsDate();
    }

    if (resolver != null) {
        // Call resolver
        res.setResult(resolver.resolve(partitionKey, rowKey, timestamp, res.getProperties(), res.getEtag()));
    } else if (clazzType != null) {
        // Generate new entity and return
        final T entity = clazzType.newInstance();
        entity.setEtag(res.getEtag());

        entity.setPartitionKey(partitionKey);
        entity.setRowKey(rowKey);
        entity.setTimestamp(timestamp);

        entity.readEntity(res.getProperties(), opContext);

        res.setResult(entity);
    }

    return res;
}

From source file:net.java.sip.communicator.impl.gui.main.chat.ChatConversationPanel.java

/**
 * Process provided replacers one by one sequentially. The output of the
 * first replacer is then fed as input into the second replacer, and so on.
 * <p>/*from  ww w. ja va  2s  . c  o  m*/
 * {@link Replacer}s that expect HTML content (
 * {@link Replacer#expectsPlainText()}) will typically receive the complete
 * message as an argument. {@linkplain Replacer}s that expect plain text
 * content will typically receive small pieces that are found in between
 * HTML tags. The pieces of plain text content cannot be predicted as
 * results change when they are processed by other replacers.
 * </p>
 *
 * @param content the original content to process
 * @param replacers the replacers to call
 * @return returns the final result message content after it has been
 *         processed by all replacers
 */
private String processReplacers(final String content, final Replacer... replacers) {
    StringBuilder source = new StringBuilder(content);
    for (final Replacer replacer : replacers) {
        final StringBuilder target = new StringBuilder();
        if (replacer.expectsPlainText()) {
            int startPos = 0;
            final Matcher plainTextInHtmlMatcher = TEXT_TO_REPLACE_PATTERN.matcher(source);
            while (plainTextInHtmlMatcher.find()) {
                final String plainTextAsHtml = plainTextInHtmlMatcher.group(1);
                final int startMatchPosition = plainTextInHtmlMatcher.start(1);
                final int endMatchPosition = plainTextInHtmlMatcher.end(1);
                target.append(source.substring(startPos, startMatchPosition));
                final String plaintext = StringEscapeUtils.unescapeHtml4(plainTextAsHtml);

                // Invoke replacer.
                try {
                    replacer.replace(target, plaintext);
                } catch (RuntimeException e) {
                    logger.error("An error occurred in replacer: " + replacer.getClass().getName(), e);
                }

                startPos = endMatchPosition;
            }
            target.append(source.substring(startPos));
        } else {
            // Invoke replacer.
            try {
                replacer.replace(target, source.toString());
            } catch (RuntimeException e) {
                logger.error("An error occurred in replacer: " + replacer.getClass().getName(), e);
            }
        }
        source = target;
    }
    return source.toString();
}

From source file:cx.fbn.nevernote.Global.java

public static int calculateThumbnailZoom(String content) {
    int zoom = 1;
    if (content.indexOf("application/pdf") == -1) {
        if (content.indexOf("image/") == -1) {
            String text = StringEscapeUtils.unescapeHtml4(content.replaceAll("\\<.*?\\>", ""));
            zoom = 2;//  w  w  w.j  av  a2  s .c  o  m
            if (text.length() < 500)
                zoom = 2;
            if (text.length() < 250)
                zoom = 3;
            if (text.length() < 100)
                zoom = 4;
            if (text.length() < 50)
                zoom = 5;
            if (text.length() < 10)
                zoom = 6;
        }
    }
    return zoom;
}

From source file:iracing.webapi.HostedSessionSummaryParser.java

public static List<HostedSessionSummary> parse(String json) {
    //{all:[{"qualifylaps":2,"qualtype":"L","pitsinuse":14,"privatesessionid":140393,"timelimit":240,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"WSRL","maxliclevel":-1,"launchat":1340150700000,"sessiondesc":"http&#58;&#47;&#47;wsrlracing&#46;com&#13;&#10;Season 26 Tuesday Series &#45; Race 18 of 18&#13;&#10;Join the WSRL&#33; We are accepting new drivers for our Tuesday and Friday Series&#46; Visit our website for full schedule&#44; rules and other details&#46;","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Bob+Beltrami","qualdur":2,"admincustids":"17900%2C17349","farmdisplayname":"US-MA","carids":"38","maxdrivers":42,"config_name":"Oval","allowedentities":"","qualsetupids":"25540","heatgridtype":"","passwordprotected":1,"qualifylength":5,"numfasttows":1,"qualsetupfilenames":"DH%26%2345%3BIndy%26%2345%3BS2%26%2345%3BRace%26%2346%3Bsto%2CDH-Indy-S2-Race.sto","racesetupfilenames":"DH%26%2345%3BIndy%26%2345%3BS2%26%2345%3BRace%26%2346%3Bsto%2CDH-Indy-S2-Race.sto","registered":"","racelaps":48,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":48,"helmpattern":19,"password":"","heatfiltertype":"","carsleft":28,"trackid":133,"custid":17349,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":1,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":19,"custishost":0,"practicedur":130,"league_season_id":0,"openregexpires":1340158818000,"ingrid":0,"racesetupids":"25540","helmcolor1":240,"helmcolor2":115,"helmcolor3":92,"rootprivatesessionid":"","subsessionid":5871589,"fixedSetup":1,"racelength":105,"numserversstarted":1,"minir":-1,"track_name":"Indianapolis+Motor+Speedway"},{"qualifylaps":2,"qualtype":"L","pitsinuse":28,"privatesessionid":140567,"timelimit":240,"minliclevel":9,"hasentry":false,"rootprivatesessionname":"","sessionname":"Average Joes Trading Paints Truck Series","maxliclevel":28,"launchat":1340154000000,"sessiondesc":"averagejoesracing&#46;org","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Rick+Rhone","qualdur":2,"admincustids":"77384%2C77477%2C49225","farmdisplayname":"US-MA","carids":"20","maxdrivers":43,"config_name":"","allowedentities":"","qualsetupids":"24894","heatgridtype":"","passwordprotected":1,"qualifylength":5,"numfasttows":0,"qualsetupfilenames":"talladega%26%2395%3Bfixed%26%2346%3Bsto%2Ctalladega_fixed.sto","racesetupfilenames":"talladega%26%2395%3Bfixed%26%2346%3Bsto%2Ctalladega_fixed.sto","registered":"","racelaps":60,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":60,"helmpattern":57,"password":"","heatfiltertype":"","carsleft":15,"trackid":116,"custid":77384,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"50","heatsessiontype":"","restrictviewing":0,"licenselevel":19,"custishost":0,"practicedur":60,"league_season_id":0,"openregexpires":1340157952000,"ingrid":0,"racesetupids":"24894","helmcolor1":240,"helmcolor2":255,"helmcolor3":245,"rootprivatesessionid":"","subsessionid":5871918,"fixedSetup":1,"racelength":175,"numserversstarted":1,"minir":-1,"track_name":"Talladega+Superspeedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":6,"privatesessionid":140617,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"Torneo iRA &#45; Cadillac CTS&#45;V","maxliclevel":-1,"launchat":1340154000000,"sessiondesc":"iracing&#46;com&#46;ar &#45; Torneo iRA &#45; Cadillac CTS&#45;V &#45; Round 5 &#45; Practice 2","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Eugenio+Pascuzzo","qualdur":45,"admincustids":"30665%2C47369%2C67334","farmdisplayname":"US-MA","carids":"41","maxdrivers":43,"config_name":"Long","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":1,"qualifylength":45,"numfasttows":2,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":7,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":7,"helmpattern":30,"password":"","heatfiltertype":"","carsleft":37,"trackid":98,"custid":67334,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":0,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":14,"custishost":0,"practicedur":60,"league_season_id":0,"openregexpires":1340160341000,"ingrid":0,"racesetupids":"","helmcolor1":240,"helmcolor2":255,"helmcolor3":102,"rootprivatesessionid":"","subsessionid":5871916,"fixedSetup":0,"racelength":15,"numserversstarted":1,"minir":-1,"track_name":"Infineon+Raceway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":3,"privatesessionid":140800,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"Longshot Racing DP Practice","maxliclevel":-1,"launchat":1340154000000,"sessiondesc":"Practice for the next RealSimRacing endurance event&#46;","heataddeddrivers":"","restarts":0,"numservers":1,"displayname":"Glenn+Petersen","qualdur":0,"admincustids":"54565%2C21324%2C43449","farmdisplayname":"US-MA","carids":"21","maxdrivers":26,"config_name":"Full","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":1,"qualifylength":0,"numfasttows":0,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":57,"password":"","heatfiltertype":"","carsleft":59,"trackid":153,"custid":43449,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":0,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":14,"custishost":0,"practicedur":120,"league_season_id":0,"openregexpires":1340161246000,"ingrid":0,"racesetupids":"","helmcolor1":60,"helmcolor2":240,"helmcolor3":51,"rootprivatesessionid":"","subsessionid":5871920,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Mid-Ohio+Sports+Car+Course"},{"qualifylaps":0,"qualtype":"O","pitsinuse":5,"privatesessionid":140804,"timelimit":240,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"Red Sox Racing League","maxliclevel":-1,"launchat":1340146800000,"sessiondesc":"Practice for Race 7 &#45; Spa GP &#45; 30 mins","heataddeddrivers":"","restarts":0,"numservers":1,"displayname":"Les+Turner","qualdur":0,"admincustids":"15294%2C15219","farmdisplayname":"US-MA","carids":"26%2C39","maxdrivers":43,"config_name":"GP+Pits","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":1,"qualifylength":0,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"2012%26%2395%3B06%26%2395%3B01%26%2395%3BRSR%26%2395%3BC6R%26%2395%3BSpaGP%26%2395%3Bfixed%26%2346%3Bsto%2C2012_06_02_RSR_HPD_SpaGP_fixed.sto%2C2012_06_01_RSR_C6R_SpaGP_fixed.sto","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":19,"password":"","heatfiltertype":"","carsleft":54,"trackid":163,"custid":15294,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":1,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"100%2C100","heatsessiontype":"","restrictviewing":0,"licenselevel":20,"custishost":0,"practicedur":240,"league_season_id":0,"openregexpires":1340161231000,"ingrid":0,"racesetupids":"25553%2C25552","helmcolor1":240,"helmcolor2":132,"helmcolor3":132,"rootprivatesessionid":"","subsessionid":5871225,"fixedSetup":1,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Circuit+de+Spa-Francorchamps"},{"qualifylaps":0,"qualtype":"O","pitsinuse":7,"privatesessionid":140806,"timelimit":240,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"ISRA GPC Australian Grand Prix Tuesday Practice","maxliclevel":-1,"launchat":1340148600000,"sessiondesc":"Open practice for the ISRA GPC Australian Grand Prix is live&#33; This session is password protected&#44; however head over to www&#46;israleague&#46;com for more information regarding the GPC&#46;","heataddeddrivers":"","restarts":0,"numservers":1,"displayname":"Ryan+Cornes","qualdur":0,"admincustids":"70646%2C23414","farmdisplayname":"US-MA","carids":"33","maxdrivers":44,"config_name":"Phillip+Island+Circuit","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":1,"qualifylength":0,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":1,"password":"","heatfiltertype":"","carsleft":50,"trackid":152,"custid":23414,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":0,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"47","heatsessiontype":"","restrictviewing":0,"licenselevel":18,"custishost":0,"practicedur":240,"league_season_id":0,"openregexpires":1340163028000,"ingrid":0,"racesetupids":"","helmcolor1":128,"helmcolor2":254,"helmcolor3":240,"rootprivatesessionid":"","subsessionid":5871365,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Phillip+Island"},{"qualifylaps":0,"qualtype":"O","pitsinuse":1,"privatesessionid":140831,"timelimit":360,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"ISR 120 Minutes of Thunder Practice","maxliclevel":-1,"launchat":1340154000000,"sessiondesc":"Inside Sim Racing 120 Minutes of Thunder Practice Session &#45; Go here http&#58;&#47;&#47;insidesimracing&#46;tv&#47;forums&#47;viewtopic&#46;php&#63;f&#61;205&#38;t&#61;7190 to find out about this event and to sign up for one of many prizes","heataddeddrivers":"","restarts":0,"numservers":1,"displayname":"Darin+Gangi","qualdur":0,"admincustids":"15631%2C15605%2C28089","farmdisplayname":"US-MA","carids":"41%2C21","maxdrivers":42,"config_name":"Boot","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":0,"numfasttows":0,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":61,"password":"","heatfiltertype":"","carsleft":59,"trackid":107,"custid":15605,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":0,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"100%2C100","heatsessiontype":"","restrictviewing":0,"licenselevel":19,"custishost":0,"practicedur":360,"league_season_id":0,"openregexpires":1340175640000,"ingrid":0,"racesetupids":"","helmcolor1":240,"helmcolor2":243,"helmcolor3":96,"rootprivatesessionid":"","subsessionid":5871915,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Watkins+Glen+International"},{"qualifylaps":0,"qualtype":"O","pitsinuse":19,"privatesessionid":140860,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"Realsimracing&#46;com","maxliclevel":-1,"launchat":1340152200000,"sessiondesc":"Signup for Full Throttle Cup Etv Series at www&#46;realsimracing&#46;com&#46;  All races in the series are broadcast live by Etv&#46; The current five race block is starting next Monday at Infineon&#46; Entry fee for five races is only &#36;15&#46; Please read requirements for the series&#46; ","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"John+Abbott","qualdur":0,"admincustids":"39870","farmdisplayname":"US-MA","carids":"22","maxdrivers":43,"config_name":"Cup","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":0,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":0,"password":"","heatfiltertype":"","carsleft":29,"trackid":48,"custid":39870,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":1,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":14,"custishost":0,"practicedur":120,"league_season_id":0,"openregexpires":1340159441000,"ingrid":0,"racesetupids":"","helmcolor1":116,"helmcolor2":123,"helmcolor3":240,"rootprivatesessionid":"","subsessionid":5871722,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Infineon+Raceway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":1,"privatesessionid":140887,"timelimit":360,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"PTY CHARITY RIDE","maxliclevel":-1,"launchat":1340146800000,"sessiondesc":"Qual Practice for the Prader&#45;Willi Syndrome Charity Race presented by Paint the Yellow &#45; &#36;1900 Purse for main event&#46; More info &#64; http&#58;&#47;&#47;charity&#46;painttheyellow&#46;com &#45; 50 Percent Fuel &#45; Sessions will run all day today&#46;","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"James+Howard","qualdur":0,"admincustids":"65431%2C47373%2C39861%2C39706%2C28702%2C22544%2C15853%2C17179","farmdisplayname":"US-MA","carids":"20","maxdrivers":43,"config_name":"","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":0,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":45,"password":"","heatfiltertype":"","carsleft":55,"trackid":116,"custid":17179,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"50","heatsessiontype":"","restrictviewing":0,"licenselevel":20,"custishost":0,"practicedur":360,"league_season_id":0,"openregexpires":1340168430000,"ingrid":0,"racesetupids":"","helmcolor1":240,"helmcolor2":255,"helmcolor3":131,"rootprivatesessionid":"","subsessionid":5871228,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Talladega+Superspeedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":1,"privatesessionid":140889,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"Reddit iRacing Road League Race &#35;7 Practice ","maxliclevel":-1,"launchat":1340152200000,"sessiondesc":"This is Race &#35;7 Practice for the iRacing Road league&#46; For more information&#44; visit http&#58;&#47;&#47;redd&#46;it&#47;s5cng","heataddeddrivers":"","restarts":0,"numservers":1,"displayname":"Alex+Remilard","qualdur":0,"admincustids":"68655","farmdisplayname":"US-MA","carids":"34","maxdrivers":39,"config_name":"Short+Configuration","allowedentities":"","qualsetupids":"23912","heatgridtype":"","passwordprotected":1,"qualifylength":0,"numfasttows":0,"qualsetupfilenames":"baseline%26%2346%3Bsto","racesetupfilenames":"baseline%26%2346%3Bsto","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":61,"password":"","heatfiltertype":"","carsleft":61,"trackid":24,"custid":68655,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":0,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":2,"custishost":0,"practicedur":120,"league_season_id":0,"openregexpires":1340159430000,"ingrid":0,"racesetupids":"23912","helmcolor1":92,"helmcolor2":111,"helmcolor3":246,"rootprivatesessionid":"","subsessionid":5871721,"fixedSetup":1,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Summit+Point+Raceway"},{"qualifylaps":2,"qualtype":"L","pitsinuse":20,"privatesessionid":140908,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"PTY CHARITY RIDE","maxliclevel":-1,"launchat":1340154000000,"sessiondesc":"Fun Race Practice for the Prader&#45;Willi Syndrome Charity Race presented by Paint the Yellow &#45; &#36;1900 Purse for main event&#46; More info &#64; http&#58;&#47;&#47;charity&#46;painttheyellow&#46;com &#45; 50 Percent Fuel &#45; Fun Races Launch at the TOP OF THE HOUR&#33;","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"James+Howard","qualdur":2,"admincustids":"17179%2C65431%2C28702%2C39706%2C39861%2C47373%2C22544%2C15853","farmdisplayname":"US-MA","carids":"20","maxdrivers":43,"config_name":"","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":5,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":25,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":25,"helmpattern":45,"password":"","heatfiltertype":"","carsleft":23,"trackid":116,"custid":17179,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"50","heatsessiontype":"","restrictviewing":0,"licenselevel":20,"custishost":0,"practicedur":60,"league_season_id":0,"openregexpires":1340157952000,"ingrid":0,"racesetupids":"","helmcolor1":240,"helmcolor2":255,"helmcolor3":131,"rootprivatesessionid":"","subsessionid":5871917,"fixedSetup":0,"racelength":30,"numserversstarted":1,"minir":-1,"track_name":"Talladega+Superspeedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":5,"privatesessionid":140925,"timelimit":240,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"GPNY Sim Room","maxliclevel":-1,"launchat":1340143200000,"sessiondesc":"check out http&#58;&#47;&#47;www&#46;gpny&#46;com&#47;indoor&#45;go&#45;karts&#47;sim&#45;room or facebook&#46;com&#47;thesimroom for more information&#46; ","heataddeddrivers":"","restarts":0,"numservers":1,"displayname":"gpnysimroomadmin","qualdur":0,"admincustids":"90406%2C64365%2C90393","farmdisplayname":"US-MA","carids":"21","maxdrivers":46,"config_name":"Full+Course","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":0,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":1,"password":"","heatfiltertype":"","carsleft":51,"trackid":47,"custid":90406,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":1,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":0,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":2,"custishost":0,"practicedur":240,"league_season_id":0,"openregexpires":1340157640000,"ingrid":0,"racesetupids":"","helmcolor1":255,"helmcolor2":252,"helmcolor3":246,"rootprivatesessionid":"","subsessionid":5870923,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Mazda+Raceway+Laguna+Seca"},{"qualifylaps":2,"qualtype":"L","pitsinuse":19,"privatesessionid":140926,"timelimit":120,"minliclevel":9,"hasentry":false,"rootprivatesessionname":"","sessionname":"Race&#45;a&#45;Palooza &#40;FIXED&#41;","maxliclevel":28,"launchat":1340156100000,"sessiondesc":"www&#46;TheRCRL&#46;com&#13;&#10;Everyone gets 2 fast tows&#46;&#13;&#10;Those who can&#39;t drive clean will be booted&#46;&#13;&#10;If we have a huge field before qualifying&#44; we&#39;ll limit the field to the top 25 qualifiers&#46;","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Brian+Styers","qualdur":2,"admincustids":"71248%2C67195%2C29547%2C25455%2C29872","farmdisplayname":"US-MA","carids":"41","maxdrivers":42,"config_name":"","allowedentities":"","qualsetupids":"25558","heatgridtype":"","passwordprotected":0,"qualifylength":5,"numfasttows":2,"qualsetupfilenames":"Bristol+CTSV+%26%2340%3Bday%26%2341%3B%26%2346%3Bsto%2CBristol+CTSV+%28day%29.sto","racesetupfilenames":"Bristol+CTSV+%26%2340%3Bday%26%2341%3B%26%2346%3Bsto%2CBristol+CTSV+%28day%29.sto","registered":"","racelaps":100,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":100,"helmpattern":48,"password":"","heatfiltertype":"","carsleft":23,"trackid":101,"custid":67195,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":1,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":19,"custishost":0,"practicedur":30,"league_season_id":0,"openregexpires":1340158214000,"ingrid":0,"racesetupids":"25558","helmcolor1":240,"helmcolor2":246,"helmcolor3":124,"rootprivatesessionid":"","subsessionid":5872087,"fixedSetup":1,"racelength":85,"numserversstarted":1,"minir":-1,"track_name":"Bristol+Motor+Speedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":1,"privatesessionid":140933,"timelimit":360,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"ELMS Silverstone testing","maxliclevel":-1,"launchat":1340138814000,"sessiondesc":"ELMS Silverstone test","heataddeddrivers":"","restarts":0,"numservers":1,"displayname":"Koen+Geeraerts","qualdur":0,"admincustids":"71853","farmdisplayname":"NL-Ams","carids":"26%2C39%2C40","maxdrivers":43,"config_name":"Grand+Prix","allowedentities":"1%3A40","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":0,"numfasttows":0,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fnl.png","maxir":-1,"racedur":0,"helmpattern":6,"password":"","heatfiltertype":"","carsleft":61,"trackid":41,"custid":71853,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":1,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":0,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"100%2C100%2C100","heatsessiontype":"","restrictviewing":0,"licenselevel":18,"custishost":0,"practicedur":360,"league_season_id":0,"openregexpires":1340160422000,"ingrid":0,"racesetupids":"","helmcolor1":254,"helmcolor2":112,"helmcolor3":254,"rootprivatesessionid":"","subsessionid":5870511,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Silverstone+Circuit"},{"qualifylaps":0,"qualtype":"O","pitsinuse":5,"privatesessionid":140946,"timelimit":360,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"Kentucky","maxliclevel":-1,"launchat":1340143416000,"sessiondesc":"Just practice&#46;","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Robert+Freedman","qualdur":0,"admincustids":"49171","farmdisplayname":"US-MA","carids":"22","maxdrivers":35,"config_name":"Oval","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":0,"numfasttows":0,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":65,"password":"","heatfiltertype":"","carsleft":52,"trackid":188,"custid":49171,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":1,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":1,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":20,"custishost":0,"practicedur":360,"league_season_id":0,"openregexpires":1340165027000,"ingrid":0,"racesetupids":"","helmcolor1":255,"helmcolor2":240,"helmcolor3":122,"rootprivatesessionid":"","subsessionid":5870940,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Kentucky+Speedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":8,"privatesessionid":140956,"timelimit":240,"minliclevel":6,"hasentry":false,"rootprivatesessionname":"","sessionname":"American Motorsport Simulations","maxliclevel":28,"launchat":1340148600000,"sessiondesc":"League Practice","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Will+Jones","qualdur":0,"admincustids":"73606%2C77423%2C76276%2C73290","farmdisplayname":"US-MA","carids":"20","maxdrivers":43,"config_name":"","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":1,"qualifylength":0,"numfasttows":0,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":19,"password":"","heatfiltertype":"","carsleft":50,"trackid":115,"custid":73606,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":20,"custishost":0,"practicedur":240,"league_season_id":0,"openregexpires":1340163031000,"ingrid":0,"racesetupids":"","helmcolor1":240,"helmcolor2":250,"helmcolor3":250,"rootprivatesessionid":"","subsessionid":5871364,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Darlington+Raceway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":0,"privatesessionid":140965,"timelimit":360,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"A Very Long Practice &#45; TimsCorner&#46;ca","maxliclevel":-1,"launchat":1340147358000,"sessiondesc":"Hey&#44; I just met you&#46;&#13;&#10;and this is crazy&#44;&#13;&#10;so here&#39;s my number&#44;&#13;&#10;so call me maybe&#46;","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Tim+Terry","qualdur":0,"admincustids":"27368%2C26970","farmdisplayname":"US-MA","carids":"22","maxdrivers":44,"config_name":"Oval","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":1,"qualifylength":0,"numfasttows":2,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":19,"password":"","heatfiltertype":"","carsleft":56,"trackid":188,"custid":27368,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":1,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":18,"custishost":0,"practicedur":360,"league_season_id":0,"openregexpires":1340168976000,"ingrid":0,"racesetupids":"","helmcolor1":103,"helmcolor2":158,"helmcolor3":120,"rootprivatesessionid":"","subsessionid":5871270,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Kentucky+Speedway"},{"qualifylaps":2,"qualtype":"L","pitsinuse":20,"privatesessionid":140988,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"oleary&#39;s","maxliclevel":-1,"launchat":1340154000000,"sessiondesc":"","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Shawn+Oleary","qualdur":2,"admincustids":"94328","farmdisplayname":"US-MA","carids":"41","maxdrivers":20,"config_name":"Oval","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":5,"numfasttows":0,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":100,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":100,"helmpattern":18,"password":"","heatfiltertype":"","carsleft":0,"trackid":40,"custid":94328,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":1,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":2,"custishost":0,"practicedur":60,"league_season_id":0,"openregexpires":1340157944000,"ingrid":0,"racesetupids":"","helmcolor1":100,"helmcolor2":124,"helmcolor3":112,"rootprivatesessionid":"","subsessionid":5871914,"fixedSetup":0,"racelength":55,"numserversstarted":1,"minir":-1,"track_name":"Charlotte+Motor+Speedway"},{"qualifylaps":3,"qualtype":"L","pitsinuse":0,"privatesessionid":140991,"timelimit":360,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"RED DOG ELITE","maxliclevel":-1,"launchat":1340152129000,"sessiondesc":"It&#39;s a bitch of a Course for the B cars&#46;","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Chad+J+Sandstede","qualdur":3,"admincustids":"78421%2C78820%2C63083%2C52397%2C49896%2C49876%2C48577","farmdisplayname":"US-MA","carids":"20","maxdrivers":43,"config_name":"","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":1,"qualifylength":5,"numfasttows":0,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":160,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":160,"helmpattern":62,"password":"","heatfiltertype":"","carsleft":0,"trackid":101,"custid":52397,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":1,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":1,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":20,"custishost":0,"practicedur":130,"league_season_id":0,"openregexpires":1340160242000,"ingrid":0,"racesetupids":"","helmcolor1":100,"helmcolor2":255,"helmcolor3":240,"rootprivatesessionid":"","subsessionid":5871704,"fixedSetup":0,"racelength":225,"numserversstarted":1,"minir":-1,"track_name":"Bristol+Motor+Speedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":24,"privatesessionid":140998,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"ITZR+Sprint+Cars+S7R3","sessionname":"ITZR Sprint Cars S7R3","maxliclevel":-1,"launchat":1340155800000,"sessiondesc":" www&#46;inthezomeracing&#46;com","heataddeddrivers":0,"restarts":2,"numservers":1,"displayname":"Glenn+Cray","qualdur":10,"admincustids":"22230%2C54723%2C45990%2C33263%2C39387%2C68128","farmdisplayname":"US-MA","carids":"37","maxdrivers":45,"config_name":"","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":1,"qualifylength":10,"numfasttows":1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":0,"password":"","heatfiltertype":"","carsleft":38,"trackid":17,"custid":45990,"heatracesvrndx":0,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":2,"restrictviewing":0,"licenselevel":14,"custishost":0,"practicedur":20,"league_season_id":0,"openregexpires":1340157636000,"ingrid":0,"racesetupids":"","helmcolor1":243,"helmcolor2":243,"helmcolor3":243,"rootprivatesessionid":140998,"subsessionid":5872076,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Lanier+National+Speedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":8,"privatesessionid":141003,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"Practice ","maxliclevel":-1,"launchat":1340154094000,"sessiondesc":"Marrs Practice","heataddeddrivers":"","restarts":0,"numservers":1,"displayname":"Greg+Obadia","qualdur":0,"admincustids":"67888%2C86555","farmdisplayname":"US-MA","carids":"34","maxdrivers":12,"config_name":"Road+Course","allowedentities":"","qualsetupids":"23912","heatgridtype":"","passwordprotected":0,"qualifylength":0,"numfasttows":-1,"qualsetupfilenames":"baseline%26%2346%3Bsto%2Cbaseline.sto","racesetupfilenames":"baseline%26%2346%3Bsto%2Cbaseline.sto","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":68,"password":"","heatfiltertype":"","carsleft":51,"trackid":37,"custid":86555,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":0,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":2,"custishost":0,"practicedur":120,"league_season_id":0,"openregexpires":1340161317000,"ingrid":0,"racesetupids":"23912","helmcolor1":240,"helmcolor2":96,"helmcolor3":240,"rootprivatesessionid":"","subsessionid":5871928,"fixedSetup":1,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Charlotte+Motor+Speedway"},{"qualifylaps":2,"qualtype":"L","pitsinuse":7,"privatesessionid":141008,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"Izod Indycar IOWA ","maxliclevel":-1,"launchat":1340154331000,"sessiondesc":"Indycar IOWA no caution","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Simon+Pagenaud","qualdur":2,"admincustids":"33439","farmdisplayname":"US-MA","carids":"29","maxdrivers":43,"config_name":"Oval","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":5,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":100,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":100,"helmpattern":22,"password":"","heatfiltertype":"","carsleft":36,"trackid":169,"custid":33439,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":1,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"30","heatsessiontype":"","restrictviewing":0,"licenselevel":7,"custishost":0,"practicedur":80,"league_season_id":0,"openregexpires":1340159450000,"ingrid":0,"racesetupids":"","helmcolor1":112,"helmcolor2":112,"helmcolor3":112,"rootprivatesessionid":"","subsessionid":5871952,"fixedSetup":0,"racelength":35,"numserversstarted":1,"minir":-1,"track_name":"Iowa+Speedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":0,"privatesessionid":141009,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"GOB Fun","maxliclevel":-1,"launchat":1340154474000,"sessiondesc":"","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"JR+Sharp","qualdur":5,"admincustids":"42447%2C17054%2C23682","farmdisplayname":"US-MA","carids":"4","maxdrivers":36,"config_name":"","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":1,"qualifylength":5,"numfasttows":2,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":50,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":50,"helmpattern":5,"password":"","heatfiltertype":"","carsleft":0,"trackid":17,"custid":17054,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":19,"custishost":0,"practicedur":70,"league_season_id":0,"openregexpires":1340159001000,"ingrid":0,"racesetupids":"","helmcolor1":116,"helmcolor2":148,"helmcolor3":148,"rootprivatesessionid":"","subsessionid":5871966,"fixedSetup":0,"racelength":40,"numserversstarted":1,"minir":-1,"track_name":"Lanier+National+Speedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":0,"privatesessionid":141011,"timelimit":120,"minliclevel":12,"hasentry":false,"rootprivatesessionname":"","sessionname":"ARC","maxliclevel":28,"launchat":1340154750000,"sessiondesc":"ARC ","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Gregory+L+Ellis","qualdur":0,"admincustids":"50544%2C65110%2C70188%2C49477","farmdisplayname":"US-MA","carids":"20","maxdrivers":43,"config_name":"Oval","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":0,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":68,"password":"","heatfiltertype":"","carsleft":56,"trackid":133,"custid":50544,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":3,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":20,"custishost":0,"practicedur":120,"league_season_id":0,"openregexpires":1340161971000,"ingrid":0,"racesetupids":"","helmcolor1":140,"helmcolor2":128,"helmcolor3":118,"rootprivatesessionid":"","subsessionid":5871988,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Indianapolis+Motor+Speedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":1,"privatesessionid":141012,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"Practice fun","maxliclevel":-1,"launchat":1340154889000,"sessiondesc":"","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"John+Murray2","qualdur":0,"admincustids":"54120","farmdisplayname":"US-MA","carids":"41","maxdrivers":22,"config_name":"","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":0,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":20,"password":"","heatfiltertype":"","carsleft":60,"trackid":162,"custid":54120,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":14,"custishost":0,"practicedur":120,"league_season_id":0,"openregexpires":1340162099000,"ingrid":0,"racesetupids":"","helmcolor1":112,"helmcolor2":112,"helmcolor3":240,"rootprivatesessionid":"","subsessionid":5871991,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Dover+International+Speedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":9,"privatesessionid":141014,"timelimit":120,"minliclevel":1,"hasentry":false,"rootprivatesessionname":"","sessionname":"ARC","maxliclevel":28,"launchat":1340155604000,"sessiondesc":"ARC ","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Gregory+L+Ellis","qualdur":0,"admincustids":"49477%2C50544%2C65110%2C70188","farmdisplayname":"US-MA","carids":"20","maxdrivers":43,"config_name":"Oval","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":0,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":68,"password":"","heatfiltertype":"","carsleft":52,"trackid":133,"custid":50544,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":3,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":20,"custishost":0,"practicedur":120,"league_season_id":0,"openregexpires":1340162817000,"ingrid":0,"racesetupids":"","helmcolor1":140,"helmcolor2":128,"helmcolor3":118,"rootprivatesessionid":"","subsessionid":5872049,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Indianapolis+Motor+Speedway"},{"qualifylaps":2,"qualtype":"L","pitsinuse":6,"privatesessionid":141016,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"old racers","maxliclevel":-1,"launchat":1340155699000,"sessiondesc":"YOUR STUPID YOUR OUT&#13;&#10;","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Raymond+Ratell","qualdur":2,"admincustids":"79623","farmdisplayname":"US-MA","carids":"20","maxdrivers":43,"config_name":"Oval","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":5,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":65,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":65,"helmpattern":1,"password":"","heatfiltertype":"","carsleft":37,"trackid":53,"custid":79623,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"50","heatsessiontype":"","restrictviewing":0,"licenselevel":2,"custishost":0,"practicedur":40,"league_season_id":0,"openregexpires":1340158404000,"ingrid":0,"racesetupids":"","helmcolor1":255,"helmcolor2":252,"helmcolor3":246,"rootprivatesessionid":"","subsessionid":5872057,"fixedSetup":0,"racelength":50,"numserversstarted":1,"minir":-1,"track_name":"Atlanta+Motor+Speedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":1,"privatesessionid":141017,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"Practice fun","maxliclevel":-1,"launchat":1340155721000,"sessiondesc":"","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"John+Murray2","qualdur":0,"admincustids":"54120","farmdisplayname":"US-MA","carids":"31","maxdrivers":22,"config_name":"","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":0,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":20,"password":"","heatfiltertype":"","carsleft":61,"trackid":162,"custid":54120,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":14,"custishost":0,"practicedur":120,"league_season_id":0,"openregexpires":1340162936000,"ingrid":0,"racesetupids":"","helmcolor1":112,"helmcolor2":112,"helmcolor3":240,"rootprivatesessionid":"","subsessionid":5872059,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Dover+International+Speedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":2,"privatesessionid":141018,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"TMA","maxliclevel":-1,"launchat":1340155772000,"sessiondesc":"","heataddeddrivers":"","restarts":0,"numservers":1,"displayname":"Eduardo+Tomedi","qualdur":0,"admincustids":"15931","farmdisplayname":"US-MA","carids":"21","maxdrivers":26,"config_name":"Boot","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":1,"qualifylength":0,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":66,"password":"","heatfiltertype":"","carsleft":60,"trackid":107,"custid":15931,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":10,"custishost":0,"practicedur":120,"league_season_id":0,"openregexpires":1340163000000,"ingrid":0,"racesetupids":"","helmcolor1":70,"helmcolor2":255,"helmcolor3":240,"rootprivatesessionid":"","subsessionid":5872063,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Watkins+Glen+International"},{"qualifylaps":2,"qualtype":"L","pitsinuse":12,"privatesessionid":141019,"timelimit":120,"minliclevel":2,"hasentry":false,"rootprivatesessionname":"","sessionname":"LAYE MODEL FAST TIME&#33;","maxliclevel":21,"launchat":1340155832000,"sessiondesc":"CAUTIONS ON &#47;&#47;&#47; DOUBLE FILE LAPPED AT BACK &#47;&#47;&#47; 3 FAST TOWS &#47;&#47;&#47;100&#37; FUEL &#47;&#47;&#47; 52 LAPS &#47;&#47;&#47; PIT ROAD SPEEDING&#44; PASSING UNDER YELLOW OR CROSS S&#47;F OUT OF LINE BLACK FLAGS NOT CLEARED &#45; MUST SERVE&#33; ","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Kerwin+Clark","qualdur":2,"admincustids":"52342%2C69702%2C65341%2C63249%2C61582%2C45183%2C36449","farmdisplayname":"US-MA","carids":"12","maxdrivers":28,"config_name":"Oval","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":5,"numfasttows":3,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":52,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":52,"helmpattern":17,"password":"","heatfiltertype":"","carsleft":16,"trackid":40,"custid":45183,"heatracesvrndx":-1,"restrictresults":1,"hardcoreLevel":0,"nightMode":1,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":1,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":7,"custishost":0,"practicedur":30,"league_season_id":0,"openregexpires":1340157953000,"ingrid":0,"racesetupids":"","helmcolor1":99,"helmcolor2":108,"helmcolor3":92,"rootprivatesessionid":"","subsessionid":5872077,"fixedSetup":0,"racelength":85,"numserversstarted":1,"minir":-1,"track_name":"Charlotte+Motor+Speedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":7,"privatesessionid":141020,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"clean","maxliclevel":-1,"launchat":1340155996000,"sessiondesc":"quick tows onnn","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"TJ+Bleau","qualdur":10,"admincustids":"79327","farmdisplayname":"US-MA","carids":"2","maxdrivers":43,"config_name":"","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":10,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":150,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":150,"helmpattern":19,"password":"","heatfiltertype":"","carsleft":36,"trackid":17,"custid":79327,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":1,"custishost":0,"practicedur":40,"league_season_id":0,"openregexpires":1340159017000,"ingrid":0,"racesetupids":"","helmcolor1":240,"helmcolor2":129,"helmcolor3":110,"rootprivatesessionid":"","subsessionid":5872083,"fixedSetup":0,"racelength":60,"numserversstarted":1,"minir":-1,"track_name":"Lanier+National+Speedway"},{"qualifylaps":3,"qualtype":"L","pitsinuse":11,"privatesessionid":141022,"timelimit":120,"minliclevel":1,"hasentry":false,"rootprivatesessionname":"","sessionname":"Daytona","maxliclevel":20,"launchat":1340156213000,"sessiondesc":"Unlimited Tow&#44; Caution On&#44; 50&#37; Fuel&#44; 30 Laps","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Tommie+Proffitt","qualdur":3,"admincustids":"80383","farmdisplayname":"US-MA","carids":"22","maxdrivers":43,"config_name":"Oval","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":5,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":30,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":30,"helmpattern":1,"password":"","heatfiltertype":"","carsleft":32,"trackid":191,"custid":80383,"heatracesvrndx":-1,"restrictresults":1,"hardcoreLevel":1,"nightMode":1,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":1,"licenselevel":2,"custishost":0,"practicedur":30,"league_season_id":0,"openregexpires":1340158335000,"ingrid":0,"racesetupids":"","helmcolor1":255,"helmcolor2":252,"helmcolor3":246,"rootprivatesessionid":"","subsessionid":5872091,"fixedSetup":0,"racelength":60,"numserversstarted":1,"minir":-1,"track_name":"Daytona+International+Speedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":0,"privatesessionid":141025,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"Talladega Class B Fixed Practice","maxliclevel":-1,"launchat":1340156527000,"sessiondesc":"Class B Fixed Practice","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Tony+Kaylor","qualdur":0,"admincustids":"33552","farmdisplayname":"US-MA","carids":"38","maxdrivers":25,"config_name":"","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":0,"numfasttows":0,"qualsetupfilenames":"","racesetupfilenames":"talladega%26%2395%3Bfixed%26%2346%3Bsto","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":48,"password":"","heatfiltertype":"","carsleft":61,"trackid":116,"custid":33552,"heatracesvrndx":-1,"restrictresults":1,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":1,"licenselevel":19,"custishost":0,"practicedur":120,"league_season_id":0,"openregexpires":1340163752000,"ingrid":0,"racesetupids":"24852","helmcolor1":112,"helmcolor2":240,"helmcolor3":255,"rootprivatesessionid":"","subsessionid":5872109,"fixedSetup":1,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Talladega+Superspeedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":4,"privatesessionid":141026,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"Talladega Class B Fixed Practice","maxliclevel":-1,"launchat":1340156557000,"sessiondesc":"Class B Fixed Practice","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Tony+Kaylor","qualdur":0,"admincustids":"33552","farmdisplayname":"US-MA","carids":"38","maxdrivers":25,"config_name":"","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":0,"numfasttows":0,"qualsetupfilenames":"","racesetupfilenames":"talladega%26%2395%3Bfixed%26%2346%3Bsto","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":48,"password":"","heatfiltertype":"","carsleft":58,"trackid":116,"custid":33552,"heatracesvrndx":-1,"restrictresults":1,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":1,"licenselevel":19,"custishost":0,"practicedur":120,"league_season_id":0,"openregexpires":1340163765000,"ingrid":0,"racesetupids":"24852","helmcolor1":112,"helmcolor2":240,"helmcolor3":255,"rootprivatesessionid":"","subsessionid":5872112,"fixedSetup":1,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Talladega+Superspeedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":2,"privatesessionid":141027,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"HAL Practice","maxliclevel":-1,"launchat":1340156983000,"sessiondesc":"","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"David+Berry","qualdur":0,"admincustids":"15301","farmdisplayname":"US-MA","carids":"20","maxdrivers":26,"config_name":"","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":1,"qualifylength":0,"numfasttows":0,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":19,"password":"","heatfiltertype":"","carsleft":60,"trackid":124,"custid":15301,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":20,"custishost":0,"practicedur":120,"league_season_id":0,"openregexpires":1340164199000,"ingrid":0,"racesetupids":"","helmcolor1":129,"helmcolor2":254,"helmcolor3":110,"rootprivatesessionid":"","subsessionid":5872154,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Michigan+International+Speedway"},{"qualifylaps":2,"qualtype":"L","pitsinuse":2,"privatesessionid":141028,"timelimit":120,"minliclevel":3,"hasentry":false,"rootprivatesessionname":"","sessionname":"shootout","maxliclevel":20,"launchat":1340157036000,"sessiondesc":"PIT STOP CAUTIONS OFF ","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Andrew+Morin","qualdur":2,"admincustids":"85736%2C92378%2C40664%2C83018%2C63850%2C53398%2C46261","farmdisplayname":"US-MA","carids":"22","maxdrivers":43,"config_name":"Oval","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":5,"numfasttows":3,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":15,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":15,"helmpattern":32,"password":"","heatfiltertype":"","carsleft":41,"trackid":191,"custid":40664,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":1,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":19,"custishost":0,"practicedur":30,"league_season_id":0,"openregexpires":1340159156000,"ingrid":0,"racesetupids":"","helmcolor1":95,"helmcolor2":240,"helmcolor3":252,"rootprivatesessionid":"","subsessionid":5872162,"fixedSetup":0,"racelength":45,"numserversstarted":1,"minir":-1,"track_name":"Daytona+International+Speedway"},{"qualifylaps":4,"qualtype":"L","pitsinuse":2,"privatesessionid":141029,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"READ SESSION RULES BEFORE JOINING","maxliclevel":-1,"launchat":1340157054000,"sessiondesc":"NO ENTRY TILL YOU HAVE READ THIS&#58; This is not a session for testing or for rookies&#46; Sporting code in FULL effect including prohibitions on foul language&#44; driver disrespect and general ass head behavior&#46; BE CAREFUL LEAVING THE PITS &#42; ENTER ON THE BACKSTRETCH ONLY &#42; DO NOT FORCE BLEND WITH CARS UP TO SPEED&#46; This may well be the fastest boot button in iRacing&#46;","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Stephen+Bailey","qualdur":4,"admincustids":"59640%2C54841%2C49330%2C49271%2C29643%2C26020%2C19267%2C61352","farmdisplayname":"US-MA","carids":"29","maxdrivers":42,"config_name":"Oval","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":10,"numfasttows":1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":20,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":20,"helmpattern":61,"password":"","heatfiltertype":"","carsleft":40,"trackid":191,"custid":26020,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":1,"nightMode":1,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":10,"custishost":0,"practicedur":90,"league_season_id":0,"openregexpires":1340163075000,"ingrid":0,"racesetupids":"","helmcolor1":255,"helmcolor2":240,"helmcolor3":255,"rootprivatesessionid":"","subsessionid":5872167,"fixedSetup":0,"racelength":20,"numserversstarted":1,"minir":-1,"track_name":"Daytona+International+Speedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":7,"privatesessionid":141030,"timelimit":240,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"TCS CUSTOM DIECAST PRO SERIES ","maxliclevel":-1,"launchat":1340157129000,"sessiondesc":"www&#46;nobullmotorsport&#46;com","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Rodney+Kramer","qualdur":40,"admincustids":"18222%2C39455%2C54211%2C76205","farmdisplayname":"US-MA","carids":"22","maxdrivers":43,"config_name":"Oval","allowedentities":"","qualsetupids":"24855","heatgridtype":"","passwordprotected":1,"qualifylength":40,"numfasttows":1,"qualsetupfilenames":"charlotte%26%2395%3Bfixed%26%2346%3Bsto%2Ccharlotte_fixed.sto","racesetupfilenames":"charlotte%26%2395%3Bfixed%26%2346%3Bsto%2Ccharlotte_fixed.sto","registered":"","racelaps":130,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":130,"helmpattern":61,"password":"","heatfiltertype":"","carsleft":36,"trackid":53,"custid":39455,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":20,"custishost":0,"practicedur":50,"league_season_id":0,"openregexpires":1340162553000,"ingrid":0,"racesetupids":"24855","helmcolor1":240,"helmcolor2":239,"helmcolor3":240,"rootprivatesessionid":"","subsessionid":5872176,"fixedSetup":1,"racelength":150,"numserversstarted":1,"minir":-1,"track_name":"Atlanta+Motor+Speedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":1,"privatesessionid":141031,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"langley","maxliclevel":-1,"launchat":1340157395000,"sessiondesc":"have fun ","heataddeddrivers":"","restarts":0,"numservers":1,"displayname":"Connor+Hall","qualdur":30,"admincustids":"68608","farmdisplayname":"US-MA","carids":"5","maxdrivers":25,"config_name":"","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":30,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":100,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":100,"helmpattern":52,"password":"","heatfiltertype":"","carsleft":24,"trackid":201,"custid":68608,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":1,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":10,"custishost":0,"practicedur":20,"league_season_id":0,"openregexpires":1340160416000,"ingrid":0,"racesetupids":"","helmcolor1":129,"helmcolor2":255,"helmcolor3":240,"rootprivatesessionid":"","subsessionid":5872196,"fixedSetup":0,"racelength":70,"numserversstarted":1,"minir":-1,"track_name":"Langley+Speedway"}],mine:[],gridded:[]}
    // the following works around a bug in json.simple-1.1.1 where it fails to parse when object keys aren't surrounded by double quotes
    if (json.startsWith("{all:")) {
        json = json.replace("{all:", "{\"all\":");
        json = json.replace(",mine:", ",\"mine\":");
        json = json.replace(",gridded:", ",\"gridded\":");
    }//from   w w  w  .j  a v a  2s  .c o m
    List<HostedSessionSummary> output = new ArrayList<HostedSessionSummary>();
    JSONParser parser = new JSONParser();
    try {
        JSONObject root = (JSONObject) parser.parse(json);
        JSONArray sessions = (JSONArray) root.get("all");
        for (int i = 0; i < sessions.size(); i++) {
            //"heataddeddrivers":""
            //"allowedentities":""
            //"qualsetupids":"25540"
            //"heatgridtype":""
            //"racesetupids":"25540"
            //"qualsetupfilenames":"DH%26%2345%3BIndy%26%2345%3BS2%26%2345%3BRace%26%2346%3Bsto%2CDH-Indy-S2-Race.sto"
            //"racesetupfilenames":"DH%26%2345%3BIndy%26%2345%3BS2%26%2345%3BRace%26%2346%3Bsto%2CDH-Indy-S2-Race.sto"
            //"helmpattern":19
            //"helmcolor1":240
            //"helmcolor2":115
            //"helmcolor3":92
            //"heatfiltertype":""
            //"heatracesvrndx":-1
            //"heatfilteramount":""
            //"heatgridsid":""
            //"heatsessiontype":""
            JSONObject session = (JSONObject) sessions.get(i);
            HostedSessionSummary summary = new HostedSessionSummary();
            summary.setQualifyingLaps(getInt(session, "qualifylaps"));
            String s = (String) session.get("qualtype");
            //if ("L".equals(s)) summary.setQualifyingType();   // L = lap + time
            //if ("O".equals(s)) summary.setQualifyingType();   // O = no qualifying
            summary.setPitsInUse(getInt(session, "pitsinuse"));
            summary.setPrivateSessionId(getLong(session, "privatesessionid"));
            summary.setTimeLimit(getInt(session, "timelimit"));
            summary.setMinimumLicenseLevel(getInt(session, "minliclevel"));
            summary.setMaximumLecenseLevel(getInt(session, "maxliclevel"));
            summary.setHasEntry((Boolean) session.get("hasentry"));
            summary.setRootPrivateSessionName(getString(session, "rootprivatesessionname"));
            summary.setSessionName(StringEscapeUtils.unescapeHtml4(getString(session, "sessionname", true)));
            summary.setSessionDescription(
                    StringEscapeUtils.unescapeHtml4(getString(session, "sessiondesc", true)));
            summary.setLaunchAt(new Date(getLong(session, "launchat")));
            summary.setRestarts(getInt(session, "restarts"));
            summary.setNumberOfServers(getInt(session, "numservers"));
            IracingCustomer host = new IracingCustomer();
            host.setName(getString(session, "displayname", true));
            host.setId(getLong(session, "custid"));
            summary.setHost(host);
            summary.setQualifyingDuration(getInt(session, "qualdur"));
            s = getString(session, "admincustids", true);
            String[] sa = s.split(",");
            List<Long> adminIds = new ArrayList<Long>();
            for (String id : sa) {
                adminIds.add(Long.parseLong(id));
            }
            summary.setAdminCustomerIds(adminIds);
            summary.setFarmDisplayName(getString(session, "farmdisplayname"));
            summary.setMaximumDrivers(getInt(session, "maxdrivers"));
            s = getString(session, "carids", true);
            sa = s.split(",");
            List<Integer> carIds = new ArrayList<Integer>();
            for (String id : sa) {
                carIds.add(Integer.parseInt(id));
            }
            summary.setCarIds(carIds);
            //"max_pct_fuel_fills":"100"
            summary.setPasswordProtected((getInt(session, "passwordprotected")) == 1);
            summary.setQualifyingLength(getInt(session, "qualifylength"));
            summary.setNumberOfFastTows(getInt(session, "numfasttows"));
            summary.setRaceLaps(getInt(session, "racelaps"));
            summary.setLeagueId(getLong(session, "leagueid"));
            summary.setLeagueSeasonId(getLong(session, "league_season_id"));
            summary.setFarmImagePath(getString(session, "farmimagepath", true));
            summary.setMinimumIrating(getInt(session, "minir"));
            summary.setMaximumIrating(getInt(session, "maxir"));
            summary.setPracticeDuration(getInt(session, "practicedur"));
            summary.setRaceDuration(getInt(session, "racedur"));
            summary.setRaceLength(getInt(session, "racelength"));
            summary.setCarsLeft(getInt(session, "carsleft"));
            summary.setTrackId(getInt(session, "trackid"));
            summary.setTrackName(getString(session, "track_name", true));
            summary.setTrackConfigName(getString(session, "config_name", true));
            summary.setRestrictResults((getInt(session, "restrictresults")) == 1);
            summary.setRestrictViewing((getInt(session, "restrictviewing")) == 1);
            summary.setHardcoreLevel(getInt(session, "hardcoreLevel"));
            summary.setNightMode((getInt(session, "nightMode")) == 1);
            summary.setNumberOfServersStarted(getInt(session, "numserversstarted"));
            summary.setNumberOfServersFinished(getInt(session, "numserversfinished"));
            summary.setFullCourseCautions((getInt(session, "fullcoursecautions")) == 1);
            summary.setRollingStarts((getInt(session, "rollingstarts")) == 1);
            summary.setMulticlass((getInt(session, "multiclass")) == 1);
            summary.setFixedSetup((getInt(session, "fixedSetup")) == 1);
            summary.setHasGrid((getInt(session, "hasgrid")) == 1);
            summary.setLicenseLevel(getInt(session, "licenselevel"));
            summary.setApiUserIsHost((getInt(session, "custishost")) == 1);
            summary.setRegistrationExpires(new Date(getLong(session, "openregexpires")));
            summary.setInGrid((getInt(session, "ingrid")) == 1);
            summary.setRootPrivateSessionId(getString(session, "rootprivatesessionid"));
            summary.setSubSessionId(getLong(session, "subsessionid"));
            output.add(summary);
        }
    } catch (ParseException ex) {
        Logger.getLogger(HostedSessionSummaryParser.class.getName()).log(Level.SEVERE, null, ex);
    }
    return output;
}

From source file:cx.fbn.nevernote.gui.BrowserWindow.java

@SuppressWarnings("unused")
private void sourceEdited() {
    QTextCodec codec = QTextCodec.codecForLocale();
    codec = QTextCodec.codecForName("UTF-8");
    String content = codec.fromUnicode(sourceEdit.toHtml()).toString();
    content = StringEscapeUtils.unescapeHtml4(removeTags(content));
    QByteArray data = new QByteArray(sourceEditHeader + content + "</body></html>");
    getBrowser().setContent(data);/*from  w w  w . j a v  a2  s.  co m*/
    checkNoteTitle();
    if (currentNote != null && sourceEdit != null)
        noteSignal.noteChanged.emit(currentNote.getGuid(), sourceEdit.toPlainText());
}