text:
import copy as cp
from functools import partial
import re
import logging

import lib.visit as v
import lib.const as C

from .. import util
from ..meta import methods, classes, class_lookup
from ..meta.template import Template
from ..meta.clazz import Clazz
from ..meta.method import Method, find_formals
from ..meta.field import Field
from ..meta.statement import Statement, to_statements
from ..meta.expression import Expression, to_expression, gen_E_bop

class Observer(object):

  ## field comparison
  ## e.g., handleCode_Aux...,ExprBinary,((rcv._date) == (evt._date))
  regex_cmp = r"^(.+\..+) (<|<=|==|!=|>=|>) (.+\..+)$"

  ## iteration direction
  ## e.g., handleCode_Aux...,ExprBinary,idx - 1
  regex_idx = r"^idx (\+|-) 1$"

  @staticmethod
  def exp_of_interest(msg):
    def matched(regex): return re.match(regex, msg)
    return util.exists(matched, [Observer.regex_cmp, Observer.regex_idx])

  ## receiver instance for all the methods in Aux...
  ## e.g., rcv_AuxObserverActionEvent
  regex_rcv = r"(rcv_{}\S+)".format(C.OBS.AUX)

  @staticmethod
  def repl_rcv(msg):
    m = re.match(Observer.regex_rcv, msg)
    if m: return msg.replace(m.group(0), C.J.THIS)
    else: return msg

  # add a mapping from function name to binary expression
  def add_exp(self, func, msg):
    def is_role(role): return func.startswith(role)
    if not util.exists(is_role, C.obs_roles): return
    msg = Observer.repl_rcv(msg)
    util.mk_or_append(self._exps, func, msg)

  ## hole assignments for roles
  ## glblInit_subject_????,StmtAssign,subject_???? = n
  regex_role = r"((({})(_\d)?)_{}[^_]+)_.* = (\d+)$".format('|'.join(C.obs_roles), C.OBS.AUX)

  @staticmethod
  def st_of_interest(msg):
    return re.match(Observer.regex_role, msg)

  # add a mapping from role variable to its value chosen by sketch
  def add_st(self, msg):
    m = re.match(Observer.regex_role, msg)
    v, n = m.group(1), m.group(5)
    self._role[v] = n

  # initializer
  def __init__(self, output_path, obs_conf):
    self._output = output_path
    self._demo = util.pure_base(output_path)
    self._obs_conf = obs_conf

    self._cur_mtd = None
    self._exps = {} # { f : [exp...] }
    self._role = {} # { v : n }

    # class roles
    self._subj = {} # { Aux... : Subject }
    self._obsr = {} # { Aux... : Observer }
    self._evts = {} # { Aux... : Event }

    # method roles
    self._attach = {} # { Aux... : Attach }
    self._detach = {} # { Aux... : Detach }
    self._handle = {} # { Aux... : Handle }

    # interpret the synthesis result
    with open(self._output, 'r') as f:
      for line in f:
        line = line.strip()
        try:
          items = line.split(',')
          func, kind, msg = items[0], items[1], ','.join(items[2:])
          if Observer.exp_of_interest(msg): self.add_exp(func, msg)
          if Observer.st_of_interest(msg): self.add_st(msg)
        except IndexError: # not a line generated by custom codegen
          pass # if "Total time" in line: logging.info(line)

  @property
  def demo(self):
    return self._demo

  @property
  def subj(self):
    return self._subj

  @subj.setter
  def subj(self, v):
    self._subj = v

  @property
  def obsr(self):
    return self._obsr

  @obsr.setter
  def obsr(self, v):
    self._obsr = v

  @property
  def evts(self):
    return self._evts

  @evts.setter
  def evts(self, v):
    self._evts = v

  @property
  def attach(self):
    return self._attach

  @attach.setter
  def attach(self, v):
    self._attach = v

  @property
  def detach(self):
    return self._detach

  @detach.setter
  def detach(self, v):
    self._detach = v

  @property
  def handle(self):
    return self._handle

  @handle.setter
  def handle(self, v):
    self._handle = v

  @v.on("node")
  def visit(self, node):
    """
    This is the generic method to initialize the dynamic dispatcher
    """

  # add List<@Observer> into @Subject
  @staticmethod
  def add_obs(subj, obsr):
    typ = u"{}<{}>".format(C.J.LNK, obsr.name)
    name = u'_'.join([C.OBS.obs, obsr.name])
    logging.debug("adding field {}.{} of type {}".format(subj.name, name, typ))
    obs = Field(clazz=subj, typ=typ, name=name)
    subj.add_flds([obs])
    setattr(subj, "obs", obs)
    subj.init_fld(obs)

  # attach code
  @staticmethod
  def def_attach(mtd, subj, obsr):
    args = find_formals(mtd.params, [obsr.name])
    logging.debug("adding attach code into {}".format(subj.name))
    add = u"{}.add({});".format(subj.obs.name, ", ".join(args))
    mtd.body += to_statements(mtd, add)

  # detach code
  @staticmethod
  def def_detach(mtd, subj, obsr):
    args = find_formals(mtd.params, [obsr.name])
    logging.debug("adding detach code into {}".format(subj.name))
    rm = u"{}.remove({});".format(subj.obs.name, ", ".join(args))
    mtd.body += to_statements(mtd, rm)

  # handle code
  @staticmethod
  def revise_handle(mtd, upd, aux, subj, obsr, evt):
    body = '\n'.join(map(str, mtd.body))

    # rcv_Aux... -> this
    body = body.replace("rcv_"+aux.name, C.J.THIS)

    # _obs -> _obs_subj
    body = body.replace(C.OBS.obs, u'_'.join([C.OBS.obs, obsr.name]))

    # Aux...reflect(update_Aux..., o, ...) -> o.update(...)
    reflect = "{0}.reflect(update_{0}, o, ".format(aux.name)
    concrete = "o.{}(".format(upd.name)
    body = body.replace(reflect, concrete)

    # List<Aux...> -> List<@Observer>
    # List<Object> -> List<@Observer>
    p = "<{}>"
    body = body.replace(p.format(aux.name), p.format(obsr.name))
    body = body.replace(p.format(C.J.OBJ), p.format(obsr.name))

    # for (Aux... o : obs) -> for (@Observer o : obs)
    o = "{} o"
    body = body.replace(o.format(aux.name), o.format(obsr.name))

    # formal parameter of event type
    args = find_formals(mtd.params, [evt.name])
    body = body.replace("evt", args[0])

    # adjust # of arguments for @Update
    if len(upd.params) < 2:
      upd_param_typ = upd.param_typs[0]
      # either pass @Subject
      if upd_param_typ == subj.name:
        # o.update(this, event) -> o.update(this)
        body = body.replace(", ({}){}".format(evt.name, args[0]), '')
      else: # or @Event
        # o.update(this, event) -> o.update(event)
        body = body.replace("this, ",'')

    logging.debug("revising handle code at {}".format(mtd.name))
    mtd.body = to_statements(mtd, body)

  @v.when(Template)
  def visit(self, node):
    conf = self._obs_conf

    def find_role(lst, aux_name, role):
      try:
        _id = self._role['_'.join([role, aux_name])]
        return lst[int(_id)]
      except KeyError: return None

    regex_ev = r"{}(\S+)".format(C.OBS.AUX)

    for aux_name in node.obs_auxs:
      aux = class_lookup(aux_name)
      evt = getattr(aux, "evt").name

      if evt in conf:
        hdl_cnt, attach_cnt, detach_cnt = conf[evt]
      else:
        hdl_cnt, attach_cnt, detach_cnt = (1, 1, 1)

      # find and store class roles
      find_cls_role = partial(find_role, classes(), aux_name)
      subj, obsr = map(find_cls_role, [C.OBS.SUBJ, C.OBS.OBSR])
      logging.debug("{}: subject: {}".format(aux.evt.name, subj.name))
      logging.debug("{}: observer: {}".format(aux.evt.name, obsr.name))

      self._subj[aux.name] = subj
      self._obsr[aux.name] = obsr
      self._evts[aux.name] = aux.evt

      # find and store method roles
      find_mtd_role = partial(find_role, methods(), aux_name)

      if attach_cnt == 0: attach = None
      else: # attach_cnt == 1
        attach = find_mtd_role(C.OBS.A)
        logging.debug("attach: {}.{}".format(attach.clazz.name, attach.name))

      if detach_cnt == 0: detach = None
      else: # detach_cnt == 1
        detach = find_mtd_role(C.OBS.D)
        logging.debug("detach: {}.{}".format(detach.clazz.name, detach.name))

      self._attach[aux.name] = attach
      self._detach[aux.name] = detach

      if hdl_cnt == 1:
        handle = find_mtd_role(C.OBS.H)
        update = find_mtd_role(C.OBS.U)
        logging.debug("handle: {}.{}".format(handle.clazz.name, handle.name))
        logging.debug("update: {}.{}".format(update.clazz.name, update.name))
      else:
        handle = map(lambda n: find_mtd_role(C.OBS.H+"_"+str(n)), range(hdl_cnt))
        update = map(lambda n: find_mtd_role(C.OBS.U+"_"+str(n)), range(hdl_cnt))

      self._handle[aux.name] = handle

      # concretize @Subject if an interface is chosen
      if subj.is_itf:
        if attach.clazz != detach.clazz:
          logging.error("attach and detach should belong to the same class")
          logging.error("{} != {}".format(attach.clazz.name, detach.clazz.name))
          raise Exception
        else:
          subj = attach.clazz
          logging.debug("{}: subject: {} => {}".format(aux.evt.name, self._subj[aux.name].name, subj.name))
          self._subj[aux.name] = subj

      # add List<@Observer> into @Subject
      Observer.add_obs(subj, obsr)

      # insert or move code snippets from Aux classes to actual participants
      if attach: Observer.def_attach(attach, subj, obsr)
      if detach: Observer.def_detach(detach, subj, obsr)

      if hdl_cnt == 1:
        handle.body += aux.mtd_handle.body
        Observer.revise_handle(handle, update, aux, subj, obsr, aux.evt)
        setattr(subj, "handle", handle)
        old = "handleCode_{0}_{0}_{0}_{1}".format(aux.name, aux.evt.name)
        concrete = repr(handle)
        self._exps[concrete] = cp.deepcopy(self._exps[old])
        self._exps.pop(old, None)
      else:
        for n in range(hdl_cnt):
          handle[n].body += getattr(aux, "mtd_handle_"+str(n)).body
          Observer.revise_handle(handle[n], update[n], aux, subj, obsr, aux.evt)
          setattr(subj, "handle_"+str(n), handle[n])
          old = "handleCode_{1}_{0}_{0}_{0}_{2}".format(aux.name, n, aux.evt.name)
          concrete = repr(handle[n])
          self._exps[concrete] = cp.deepcopy(self._exps[old])
          self._exps.pop(old, None)

	#evt_que = class_lookup(C.GUI.QUE)
	prm = [(subj.name, u"rcv"), (aux.evt.name, u"evt")]
        switch_handle = Method(clazz=subj, mods=[C.mod.PB, C.mod.ST], params=prm, name=u"switchHandle")
        switch_handle.body += aux.mtd_handle.body
	switch_handle.accept(self)
	subj.add_mtds([switch_handle])
        setattr(subj, C.OBS.H, switch_handle)

      # remove Aux class
      node.classes.remove(aux)

  @v.when(Clazz)
  def visit(self, node): pass

  ## class Dispatcher {
  ##   Aux... aux...;
  ## }
  ##   ->
  ## class Dispatcher {
  ##   SUBJ.. subj...;
  ## }
  @v.when(Field)
  def visit(self, node):
    if C.OBS.AUX in node.typ and node.name == node.typ.lower():
      subj = self._subj[node.typ]
      node.typ = subj.name
      node.name = subj.lower()

  # Aux...subjectCall(...);
  regex_one = r"{}\S+\.subjectCall\(.*\);".format(C.OBS.AUX)

  @v.when(Method)
  def visit(self, node):
    self._cur_mtd = node
    if not node.body: return
    cls = node.clazz
    # remove auxiliary initializing statements
    if node.is_init:
      def tmp_filter(st): return C.OBS.tmp not in str(st)
      node.body = filter(tmp_filter, node.body)

    else: # not <init>
      # remove subjectCall() call
      def filter_subjectCall(s):
        _s = unicode(s)
        m = re.search(Observer.regex_one, _s)
        if m:
          logging.debug("at {}, removing\n{}".format(node.name, s))
          return None
        else: return s

      node.body = util.ffilter(map(filter_subjectCall, node.body))

  @v.when(Statement)
  def visit(self, node):
    if node.kind == C.S.EXP and node.e.kind == C.E.CALL:
      ## Aux...reflect(Aux...handle..., rcv, ...);
      ##   ->
      ## rcv.handle(...);
      call = unicode(node)
      if call.startswith(C.OBS.AUX) and \
          "reflect" in call and C.OBS.H in call:
        aux_name = call.split('.')[0]
        hdl_name = call.split('(')[1].split(',')[0]
	key = hdl_name.split('.')[-1]
        subj = self._subj[aux_name]
        if (key not in self._role.keys()):
	  handle = subj.mtd_by_name(u"switchHandle")[0]
        else:
	  _id = self._role[key]
          #_id = self._role['_'.join([C.OBS.H, aux_name])]
          handle = methods()[int(_id)]

	if u"rcv_"+aux_name in call: call = call.replace(u"rcv_"+aux_name, u"rcv")
        if "rcv, " in call: # no suffix
          old = u"{0}.reflect({1}, rcv, ".format(aux_name, hdl_name)
          new = u"rcv.{}(".format(handle.name)
          concrete = call.replace(old, new)
	  concrete = concrete.replace(u"arg, ", u"")

        else: # w/ suffix
          m = re.search(r"rcv_(\d+)", call)
          if m:
            suffix = m.group(1)
            old = u"{0}.reflect({1}, rcv_{2}, ".format(aux_name, hdl_name, suffix)
            if handle.name.startswith(u"switchHandle"):
	      new = u"{2}.{0}(rcv_{1}".format(handle.name, suffix, subj.name)
	    else:
	      new = u"rcv_{1}.{0}(".format(handle.name, suffix)
            concrete = call.replace(old, new)
	    concrete = concrete.replace(u"arg, ", u"")

        # TODO: more precise sig match
        l_param = concrete.find('(')
        r_param = concrete.rfind(')')
        f = concrete[:l_param]
        args = concrete[l_param+1:r_param]
        rm_null = lambda arg: arg.strip().replace(C.J.N, '')
        new_args = filter(None, map(rm_null, args.split(',')))
        new_call = u"{}({});".format(f, ','.join(new_args))
        logging.debug("{} -> {}".format(call, new_call))
        return to_statements(self._cur_mtd, new_call)

      if call.startswith(C.OBS.AUX) and \
          "reflect" in call and C.OBS.U in call:
        aux_name = call.split('.')[0]
        upd_name = call.split('(')[1].split(',')[0]
	key = upd_name.split('.')[-1]
        subj = self._subj[aux_name]
	_id = self._role[key]
        update = methods()[int(_id)]

        if "o, " in call: # no suffix
          old = u"{0}.reflect({1}, o, ".format(aux_name, upd_name)
          new = u"o.{}(".format(update.name)
          concrete = call.replace(old, new)

        # TODO: more precise sig match
        l_param = concrete.find('(')
        r_param = concrete.rfind(')')
        f = concrete[:l_param]
        args = concrete[l_param+1:r_param]
        rm_null = lambda arg: arg.strip().replace(C.J.N, '')
        new_args = filter(None, map(rm_null, args.split(',')))
        new_call = u"{}({});".format(f, ','.join(new_args))
        logging.debug("{} -> {}".format(call, new_call))
        return to_statements(self._cur_mtd, new_call)

    ## Aux... rcv = obj.aux...;
    ##   ->
    ## SUBJ... rcv = obj.aux...;
    elif node.kind == C.S.ASSIGN:
      if hasattr(node.le, "ty") and C.OBS.AUX in node.le.ty:
        node.le.ty = self._subj[node.le.ty].name

      assn = unicode(node)
      call = unicode(node.re)
      if "egetter" in assn and "eventtype" in assn:
        aux_name = call.split('.')[0]
	evtyp_name = u"eventtype_"+aux_name
	_id = self._role[evtyp_name]
        egetter = methods()[int(_id)]
        old = u"{0}.{1}({2}, evt".format(aux_name, u"egetter", evtyp_name)
        new = u"evt.{}(".format(egetter.name)
        concrete = assn.replace(old, new)
	etyp = class_lookup(egetter.typ)
	if etyp.is_inner: etyp = etyp.outer.name+"."+etyp.name
	concrete = concrete.replace(u"EventType", etyp)

        # TODO: more precise sig match
        l_param = concrete.find('(')
        r_param = concrete.rfind(')')
        f = concrete[:l_param]
        args = concrete[l_param+1:r_param]
        rm_null = lambda arg: arg.strip().replace(C.J.N, '')
        new_args = filter(None, map(rm_null, args.split(',')))
        new_call = u"{}({});".format(f, ','.join(new_args))
        logging.debug("{} -> {}".format(call, new_call))
        return to_statements(self._cur_mtd, new_call)

    elif node.kind == C.S.FOR:
      ## for (Observer o : _obs) { ... }
      ##   ->
      ## Iterator iter = _obs.(iterator | descendingIterator)();
      ## while (iter.hasNext()) {
      ##   Observer o = (Observer)iter.next();
      ##   ...
      ## }
      cls = self._cur_mtd.clazz
      if hasattr(cls, "obs") and node.init.id in cls.obs.name:
        for exp in self._exps[repr(self._cur_mtd)]:
          m = re.match(Observer.regex_idx, exp)
          if not m: continue
          reverse = m.group(1) == '-'
          msg = "resolved: iterator for {}: {{}}".format(node.init.id)
          if reverse: logging.debug(msg.format("backward"))
          else: logging.debug(msg.format("forward"))

          direction = "iterator"
          if reverse: direction = "descendingIterator"
          iterator = '_'.join(["iter", node.init.id])
          body = u"""
            Iterator {iterator} = {node.init.id}.{direction}();
            while({iterator}.hasNext()) {{
              {node.i.typ} {node.i.id} = ({node.i.typ}){iterator}.next();
            }}""".format(**locals())
          ss = to_statements(self._cur_mtd, body)
          ss[-1].b.extend(node.b)
          return ss

    return [node]

  ## subtype relation encoding: subcls(n, id)
  regex_sub = r"^subcls\((\d+), (.+)\)$"

  @v.when(Expression)
  def visit(self, node):
    if node.kind == C.E.ANNO:
      _anno = node.anno
      ## @Compare(exps) -> exps[0] ?? exps[1]
      if _anno.name == C.A.CMP:
        exp0 = str(_anno.exps[0])
        exp0_f = exp0.split('.')[-1]
        exp1 = str(_anno.exps[1])
        exp1_f = exp1.split('.')[-1]
        for exp in self._exps[repr(self._cur_mtd)]:
          m = re.match(Observer.regex_cmp, exp)
          if not m: continue
          if exp0_f in m.group(1) and exp1_f in m.group(3):
            resolved = ' '.join([exp0, m.group(2), exp1])
            logging.debug("resolved: " + resolved)
            return gen_E_bop(unicode(m.group(2)), _anno.exps[0], _anno.exps[1])

      ## @CompareString(exps) -> exps[0].equals(exps[1])
      elif _anno.name == C.A.CMP_STR:
        return to_expression(u"{}.equals({})".format(*map(str, _anno.exps)))

    elif node.kind == C.E.ID:
      if "auxobserver" in node.id:
        l = node.id
        aux_name = l[:1].upper() + l[1:3] + l[3:4].upper() + l[4:]
        node.id = self._subj[aux_name].name.lower()

    ## subcls(x, y) -> eval(cls_x <= cls_y)
    elif node.kind == C.E.CALL:
      exp = str(node)
      m = re.match(Observer.regex_sub, exp)
      if m and C.OBS.SUBJ in m.group(2):
        x = m.group(1)
        y = self._role[m.group(2).split('.')[-1]]
        cls_x, cls_y = map(lambda i: Clazz.clss()[int(i)], [x, y])
        return to_expression(u"{}".format(str(cls_x <= cls_y).lower()))

    ## (Aux...) x -> (SUBJ) x
    elif node.kind == C.E.CAST and C.OBS.AUX in node.ty.id:
      node.ty.id = self._subj[node.ty.id].name

    return node


text:
//------------------------------------------------------------------------------
//         Headers
//------------------------------------------------------------------------------

#include "dbgu.h"
#include <board.h>

//------------------------------------------------------------------------------
//         Global functions
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
/// Initializes the DBGU with the given parameters, and enables both the
/// transmitter and the receiver. The mode parameter contains the value of the
/// DBGU_MR register.
/// Value DBGU_STANDARD can be used for mode to get the most common configuration
/// (i.e. aysnchronous, 8bits, no parity, 1 stop bit, no flow control).
/// \param mode  Operating mode to configure.
/// \param baudrate  Desired baudrate (e.g. 115200).
/// \param mck  Frequency of the system master clock in Hz.
//------------------------------------------------------------------------------
void DBGU_Configure(
    unsigned int mode,
    unsigned int baudrate,
    unsigned int mck)
{
    #if defined(cortexm3)
    // Enable clock for UART
    AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_DBGU);
    #endif

    // Reset & disable receiver and transmitter, disable interrupts
    AT91C_BASE_DBGU->DBGU_CR = AT91C_US_RSTRX | AT91C_US_RSTTX;
    AT91C_BASE_DBGU->DBGU_IDR = 0xFFFFFFFF;

    // Configure baud rate
    AT91C_BASE_DBGU->DBGU_BRGR = mck / (baudrate * 16);

    // Configure mode register
    AT91C_BASE_DBGU->DBGU_MR = mode;

    // Disable DMA channel
    AT91C_BASE_DBGU->DBGU_PTCR = AT91C_PDC_RXTDIS | AT91C_PDC_TXTDIS;

    // Enable receiver and transmitter
    AT91C_BASE_DBGU->DBGU_CR = AT91C_US_RXEN | AT91C_US_TXEN;
}

//------------------------------------------------------------------------------
/// Outputs a character on the DBGU line.
/// \note This function is synchronous (i.e. uses polling).
/// \param c  Character to send.
//------------------------------------------------------------------------------
void DBGU_PutChar(unsigned char c)
{
    // Wait for the transmitter to be ready
    while ((AT91C_BASE_DBGU->DBGU_CSR & AT91C_US_TXEMPTY) == 0);

    // Send character
    AT91C_BASE_DBGU->DBGU_THR = c;

    // Wait for the transfer to complete
    while ((AT91C_BASE_DBGU->DBGU_CSR & AT91C_US_TXEMPTY) == 0);
}

//------------------------------------------------------------------------------
/// Return 1 if a character can be read in DBGU
//------------------------------------------------------------------------------
unsigned int DBGU_IsRxReady()
{
    return (AT91C_BASE_DBGU->DBGU_CSR & AT91C_US_RXRDY);
}

//------------------------------------------------------------------------------
/// Reads and returns a character from the DBGU.
/// \note This function is synchronous (i.e. uses polling).
/// \return Character received.
//------------------------------------------------------------------------------
unsigned char DBGU_GetChar(void)
{
    while ((AT91C_BASE_DBGU->DBGU_CSR & AT91C_US_RXRDY) == 0);
    return AT91C_BASE_DBGU->DBGU_RHR;
}

redpajama_set_name: RedPajamaGithub


text:
class Transaction < ActiveRecord::Base
  include Authority::Abilities
  module Decoration
    def self.prepended(ancestor)
      method = Proc.new do
        if super().present?
          super()
        else
          Partition.new(name: "Deleted Partition")
        end
      end

      ancestor.class_eval do
        case self.name
        when "Deposit"
          define_method :target, method
        when "Expense"
          define_method :source, method
        else
          define_method :target, method
          define_method :source, method
        end
      end

      ancestor.instance_eval do
        def model_name
          Transaction.model_name
        end
      end
    end
  end

  def self.inherited(subclass)
    subclass.class_eval do
      prepend Transaction::Decoration
    end
    super
  end

  self.per_page = 10

  default_scope -> { order(date: :desc, created_at: :desc) }

  belongs_to :user

  with_options presence: true do
    validates :amount, numericality: true
    validates :type, inclusion: { in: %w(Expense Deposit Transfer) }
    validates :memo, :date
  end
end


text:
@interface PodsDummy_Pods_JazzHandsDemo_JazzHands : NSObject
@end
@implementation PodsDummy_Pods_JazzHandsDemo_JazzHands
@end


text:
//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.42000
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace ZetaResourceEditor.Runtime.Properties {
    using System;

    /// <summary>
    ///   A strongly-typed resource class, for looking up localized strings, etc.
    /// </summary>
    // This class was auto-generated by the StronglyTypedResourceBuilder
    // class via a tool like ResGen or Visual Studio.
    // To add or remove a member, edit your .ResX file then rerun ResGen
    // with the /str option, or rebuild your VS project.
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
    internal class Resources {

        private static global::System.Resources.ResourceManager resourceMan;

        private static global::System.Globalization.CultureInfo resourceCulture;

        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
        internal Resources() {
        }

        /// <summary>
        ///   Returns the cached ResourceManager instance used by this class.
        /// </summary>
        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
        internal static global::System.Resources.ResourceManager ResourceManager {
            get {
                if (object.ReferenceEquals(resourceMan, null)) {
                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ZetaResourceEditor.Runtime.Properties.Resources", typeof(Resources).Assembly);
                    resourceMan = temp;
                }
                return resourceMan;
            }
        }

        /// <summary>
        ///   Overrides the current thread's CurrentUICulture property for all
        ///   resource lookups using this strongly typed resource class.
        /// </summary>
        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
        internal static global::System.Globalization.CultureInfo Culture {
            get {
                return resourceCulture;
            }
            set {
                resourceCulture = value;
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Automatic translation exists.
        /// </summary>
        internal static string FileGroupStates_AutomaticTranslationsExist {
            get {
                return ResourceManager.GetString("FileGroupStates_AutomaticTranslationsExist", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Completely translated.
        /// </summary>
        internal static string FileGroupStates_CompletelyTranslated {
            get {
                return ResourceManager.GetString("FileGroupStates_CompletelyTranslated", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to No strings.
        /// </summary>
        internal static string FileGroupStates_Empty {
            get {
                return ResourceManager.GetString("FileGroupStates_Empty", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to (Some) completely empty rows.
        /// </summary>
        internal static string FileGroupStates_EmptyRows {
            get {
                return ResourceManager.GetString("FileGroupStates_EmptyRows", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Different number of format parameters.
        /// </summary>
        internal static string FileGroupStates_FormatParameterMismatches {
            get {
                return ResourceManager.GetString("FileGroupStates_FormatParameterMismatches", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Translations are missing.
        /// </summary>
        internal static string FileGroupStates_TranslationsMissing {
            get {
                return ResourceManager.GetString("FileGroupStates_TranslationsMissing", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to https://zeta.li/zre-ENU-home.
        /// </summary>
        internal static string SR_AboutForm_linkLabel1LinkClicked_Httpwwwzetasoftwaredelinkszrehome {
            get {
                return ResourceManager.GetString("SR_AboutForm_linkLabel1LinkClicked_Httpwwwzetasoftwaredelinkszrehome", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Your own Website in 10 Minutes - Zeta Producer CMS.
        /// </summary>
        internal static string SR_AdService_stockResponses_ZetaProducer {
            get {
                return ResourceManager.GetString("SR_AdService_stockResponses_ZetaProducer", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Test your applications - Zeta Test.
        /// </summary>
        internal static string SR_AdService_stockResponses_ZetaTest {
            get {
                return ResourceManager.GetString("SR_AdService_stockResponses_ZetaTest", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Easily send large files to your contacts - Zeta Uploader.
        /// </summary>
        internal static string SR_AdService_stockResponses_ZetaUploader {
            get {
                return ResourceManager.GetString("SR_AdService_stockResponses_ZetaUploader", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Finished translating. Translated {0} texts. {1} translations successful, {2} translations failed..
        /// </summary>
        internal static string SR_AutoTranslateForm_buttonTranslateClick_TranslatingTranslatedTexts {
            get {
                return ResourceManager.GetString("SR_AutoTranslateForm_buttonTranslateClick_TranslatingTranslatedTexts", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to The background processing did not respond within the given time-frame..
        /// </summary>
        internal static string SR_BackgroundWorkerLongProgressForm_cancelGuardTimerTick_NotResponding {
            get {
                return ResourceManager.GetString("SR_BackgroundWorkerLongProgressForm_cancelGuardTimerTick_NotResponding", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Error during processing..
        /// </summary>
        internal static string SR_BackgroundWorkerLongProgressGui_DefaultRunWorkerCompleted_ErrorDuringProcessing {
            get {
                return ResourceManager.GetString("SR_BackgroundWorkerLongProgressGui_DefaultRunWorkerCompleted_ErrorDuringProcessin" +
                        "g", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Comment.
        /// </summary>
        internal static string SR_ColumnCaption_Comment {
            get {
                return ResourceManager.GetString("SR_ColumnCaption_Comment", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Name.
        /// </summary>
        internal static string SR_ColumnCaption_Name {
            get {
                return ResourceManager.GetString("SR_ColumnCaption_Name", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Reference language value must be provided but is currently NULL or empty..
        /// </summary>
        internal static string SR_CommandProcessorReceive_getTableRows_Reference_language_value {
            get {
                return ResourceManager.GetString("SR_CommandProcessorReceive_getTableRows_Reference_language_value", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Processing work sheet {0} of {1}, row {2} of {3} ({4}%)..
        /// </summary>
        internal static string SR_CommandProcessorReceive_Process_ProcessingWorkSheetOfRowOf {
            get {
                return ResourceManager.GetString("SR_CommandProcessorReceive_Process_ProcessingWorkSheetOfRowOf", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Group.
        /// </summary>
        internal static string SR_CommandProcessorSend_Process_Group {
            get {
                return ResourceManager.GetString("SR_CommandProcessorSend_Process_Group", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Name.
        /// </summary>
        internal static string SR_CommandProcessorSend_Process_Name {
            get {
                return ResourceManager.GetString("SR_CommandProcessorSend_Process_Name", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Processing file group {0} of {1}, row {2} of {3} ({4}%)..
        /// </summary>
        internal static string SR_CommandProcessorSend_Process_ProcessingFileGroupOfRowOf {
            get {
                return ResourceManager.GetString("SR_CommandProcessorSend_Process_ProcessingFileGroupOfRowOf", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Saving Microsoft Office Excel document....
        /// </summary>
        internal static string SR_CommandProcessorSend_Process_SavingMicrosoftOfficeExcelDocument {
            get {
                return ResourceManager.GetString("SR_CommandProcessorSend_Process_SavingMicrosoftOfficeExcelDocument", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to ZRE Export.
        /// </summary>
        internal static string SR_CommandProcessorSend_Process_ZRE_Export {
            get {
                return ResourceManager.GetString("SR_CommandProcessorSend_Process_ZRE_Export", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Do you really want to cancel the export?.
        /// </summary>
        internal static string SR_ConfirmCancelExport {
            get {
                return ResourceManager.GetString("SR_ConfirmCancelExport", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Do you really want to cancel the import?.
        /// </summary>
        internal static string SR_ConfirmCancelImport {
            get {
                return ResourceManager.GetString("SR_ConfirmCancelImport", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Creating new files....
        /// </summary>
        internal static string SR_CreateNewFilesForm_Creating {
            get {
                return ResourceManager.GetString("SR_CreateNewFilesForm_Creating", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to The operation finished successfully, however no files were created, because the language already exists for all affected file groups..
        /// </summary>
        internal static string SR_CreateNewFilesForm_Finished01 {
            get {
                return ResourceManager.GetString("SR_CreateNewFilesForm_Finished01", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to The operation finished successfully. {0} new files were created, {1} new files were not created (because the language already exists for all affected file groups)..
        /// </summary>
        internal static string SR_CreateNewFilesForm_Finished02 {
            get {
                return ResourceManager.GetString("SR_CreateNewFilesForm_Finished02", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to The operation finished successfully. {0} new files were created..
        /// </summary>
        internal static string SR_CreateNewFilesForm_Finished03 {
            get {
                return ResourceManager.GetString("SR_CreateNewFilesForm_Finished03", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Please select a folder to store the project to..
        /// </summary>
        internal static string SR_CreateNewProjectForm_browseToolStripMenuItemClick_TheProjectTo {
            get {
                return ResourceManager.GetString("SR_CreateNewProjectForm_browseToolStripMenuItemClick_TheProjectTo", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Zeta Resource Editor projects.
        /// </summary>
        internal static string SR_CreateNewProjectForm_CreateNewProjectFormLoad_ZetaResourceEditorProjects {
            get {
                return ResourceManager.GetString("SR_CreateNewProjectForm_CreateNewProjectFormLoad_ZetaResourceEditorProjects", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Save operation was cancelled at file '{0}'..
        /// </summary>
        internal static string SR_DataProcessing_storeFiles_Save_operation_was_cancelled_at_file {
            get {
                return ResourceManager.GetString("SR_DataProcessing_storeFiles_Save_operation_was_cancelled_at_file", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Saving failed because of read-only file '{0}'..
        /// </summary>
        internal static string SR_DataProcessing_storeFiles_Saving_failed_because_of_read_only_file {
            get {
                return ResourceManager.GetString("SR_DataProcessing_storeFiles_Saving_failed_because_of_read_only_file", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to T must be an enumeration..
        /// </summary>
        internal static string SR_EnumComboBox_Initialize_TMustBeAnEnum {
            get {
                return ResourceManager.GetString("SR_EnumComboBox_Initialize_TMustBeAnEnum", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Do you really want to quit the application?.
        /// </summary>
        internal static string SR_ErrorForm_button2Click_QuitTheApplication {
            get {
                return ResourceManager.GetString("SR_ErrorForm_button2Click_QuitTheApplication", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Exception details.
        /// </summary>
        internal static string SR_ErrorForm_inspectTheUnderlyingExceptionToolStripMenuItemClick_ExceptionDetails {
            get {
                return ResourceManager.GetString("SR_ErrorForm_inspectTheUnderlyingExceptionToolStripMenuItemClick_ExceptionDetails" +
                        "", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Excel documents (*.xlsx)|*.xlsx.
        /// </summary>
        internal static string SR_ExportWizard_buttonBrowseClick_ExcelFilesXlsxls {
            get {
                return ResourceManager.GetString("SR_ExportWizard_buttonBrowseClick_ExcelFilesXlsxls", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to New file name does not match required pattern for this file group. Needs '{0}' as the base name and '{1}' as the base extension..
        /// </summary>
        internal static string SR_FileGroup_CreateAndAddNewFile_New_file_name_does_not_match {
            get {
                return ResourceManager.GetString("SR_FileGroup_CreateAndAddNewFile_New_file_name_does_not_match", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to (unnamed).
        /// </summary>
        internal static string SR_FileGroup_NameIntelli_Unnamed {
            get {
                return ResourceManager.GetString("SR_FileGroup_NameIntelli_Unnamed", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Zeta Resource Editor project file.
        /// </summary>
        internal static string SR_Host_Main_ZetaResourceEditorProjectFile {
            get {
                return ResourceManager.GetString("SR_Host_Main_ZetaResourceEditorProjectFile", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Microsoft Office Excel documents (*.xlsx).
        /// </summary>
        internal static string SR_ImportExportWizard_buttonBrowseFileClick_ExcelFilesXls {
            get {
                return ResourceManager.GetString("SR_ImportExportWizard_buttonBrowseFileClick_ExcelFilesXls", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Export translation files into a Microsoft Office Excel document for external translation..
        /// </summary>
        internal static string SR_ImportExportWizard_printDescriptionText_Translation {
            get {
                return ResourceManager.GetString("SR_ImportExportWizard_printDescriptionText_Translation", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to The Excel document was successfully created.
        ///
        ///Do you want to open the Excel document now?.
        /// </summary>
        internal static string SR_ImportExportWizard_wizardFinishButtonClick_ExcelDocumentNow {
            get {
                return ResourceManager.GetString("SR_ImportExportWizard_wizardFinishButtonClick_ExcelDocumentNow", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to https://www.zeta-resource-editor.com/inline-news.html.
        /// </summary>
        internal static string SR_InlineNewsUrl {
            get {
                return ResourceManager.GetString("SR_InlineNewsUrl", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to (Auto detect).
        /// </summary>
        internal static string SR_Language_Auto {
            get {
                return ResourceManager.GetString("SR_Language_Auto", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Pattern '{0}'/'{1}' doesn't match '{2}'..
        /// </summary>
        internal static string SR_LanguageCodeDetection_extractBlock_PatternDoesNotMatch {
            get {
                return ResourceManager.GetString("SR_LanguageCodeDetection_extractBlock_PatternDoesNotMatch", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Freeware license.
        /// </summary>
        internal static string SR_LicenseType_Freeware {
            get {
                return ResourceManager.GetString("SR_LicenseType_Freeware", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to zre-donate-one-usd.
        /// </summary>
        internal static string SR_MainForm_buttonDonateOne_ItemClick_zre_donate_one_currency {
            get {
                return ResourceManager.GetString("SR_MainForm_buttonDonateOne_ItemClick_zre_donate_one_currency", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Do you want to overwrite the read-only file '{0}'?.
        /// </summary>
        internal static string SR_MainForm_dataProcessing_CanOverwrite_Do_you_want_to_overwrite_the_read_only_file___0___ {
            get {
                return ResourceManager.GetString("SR_MainForm_dataProcessing_CanOverwrite_Do_you_want_to_overwrite_the_read_only_fi" +
                        "le___0___", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Do you really want to delete the tag and all of its translations?.
        /// </summary>
        internal static string SR_MainForm_deleteTagToolStripMenuItemClick_DoYouReallyWantToDeleteTheTagAndAllOfItsTranslations {
            get {
                return ResourceManager.GetString("SR_MainForm_deleteTagToolStripMenuItemClick_DoYouReallyWantToDeleteTheTagAndAllOf" +
                        "ItsTranslations", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Do you want to save changes to the resource files?.
        /// </summary>
        internal static string SR_MainForm_DoSaveFiles_SaveChangesToTheResourceFiles {
            get {
                return ResourceManager.GetString("SR_MainForm_DoSaveFiles_SaveChangesToTheResourceFiles", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Resource files.
        /// </summary>
        internal static string SR_MainForm_openToolStripMenuItemClick_ResourceFiles {
            get {
                return ResourceManager.GetString("SR_MainForm_openToolStripMenuItemClick_ResourceFiles", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Hide project panel.
        /// </summary>
        internal static string SR_MainForm_UpdateUI_HideProjectPanel {
            get {
                return ResourceManager.GetString("SR_MainForm_UpdateUI_HideProjectPanel", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Show project panel.
        /// </summary>
        internal static string SR_MainForm_UpdateUI_ShowProjectPanel {
            get {
                return ResourceManager.GetString("SR_MainForm_UpdateUI_ShowProjectPanel", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Clear recent files list.
        /// </summary>
        internal static string SR_MainFormNew_loadMruFileFiles_ClearRecentFilesList {
            get {
                return ResourceManager.GetString("SR_MainFormNew_loadMruFileFiles_ClearRecentFilesList", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Clear recent projects list.
        /// </summary>
        internal static string SR_MainFormNew_loadMruFileProjects_ClearRecentProjectsList {
            get {
                return ResourceManager.GetString("SR_MainFormNew_loadMruFileProjects_ClearRecentProjectsList", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Removes all items from the list above.
        /// </summary>
        internal static string SR_MainFormNew_loadMruFileProjects_RemovesAllItemsFromTheListAbove {
            get {
                return ResourceManager.GetString("SR_MainFormNew_loadMruFileProjects_RemovesAllItemsFromTheListAbove", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to .NET resource files.
        /// </summary>
        internal static string SR_NetResourceFileAccessor_Name_NETResourceFiles {
            get {
                return ResourceManager.GetString("SR_NetResourceFileAccessor_Name_NETResourceFiles", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to https://zeta.li/zre-ENU-purchase-license.
        /// </summary>
        internal static string SR_OptionsForm_purchaseLicenseButton_Click {
            get {
                return ResourceManager.GetString("SR_OptionsForm_purchaseLicenseButton_Click", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to (Invalid license key).
        /// </summary>
        internal static string SR_OptionsForm_updateLicenseInfo__Invalid_license_key_ {
            get {
                return ResourceManager.GetString("SR_OptionsForm_updateLicenseInfo__Invalid_license_key_", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to You can only add files that are from the same folder as the files that are already present..
        /// </summary>
        internal static string SR_ProjectFilesUserControl_AddFilesToFileGroupWithDialog_AlreadyPresent {
            get {
                return ResourceManager.GetString("SR_ProjectFilesUserControl_AddFilesToFileGroupWithDialog_AlreadyPresent", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to The files you try to add already exists in the project..
        /// </summary>
        internal static string SR_ProjectFilesUserControl_AddResourceFilesWithDialog_ExistsInTheProject {
            get {
                return ResourceManager.GetString("SR_ProjectFilesUserControl_AddResourceFilesWithDialog_ExistsInTheProject", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Please select the base folder to add from. Resources in child folders will be added automatically..
        /// </summary>
        internal static string SR_ProjectFilesUserControl_AutomaticallyAddAddResourceFilesWithDialog_AddedAutomatically {
            get {
                return ResourceManager.GetString("SR_ProjectFilesUserControl_AutomaticallyAddAddResourceFilesWithDialog_AddedAutoma" +
                        "tically", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Finished processing. {0} file groups with a total of {1} files were added..
        /// </summary>
        internal static string SR_ProjectFilesUserControl_AutomaticallyAddAddResourceFilesWithDialog_OfFilesWereAdded {
            get {
                return ResourceManager.GetString("SR_ProjectFilesUserControl_AutomaticallyAddAddResourceFilesWithDialog_OfFilesWere" +
                        "Added", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Finished processing. No file groups were added..
        /// </summary>
        internal static string SR_ProjectFilesUserControl_AutomaticallyAddAddResourceFilesWithDialog_WereAdded {
            get {
                return ResourceManager.GetString("SR_ProjectFilesUserControl_AutomaticallyAddAddResourceFilesWithDialog_WereAdded", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Please wait while the files will be added....
        /// </summary>
        internal static string SR_ProjectFilesUserControl_AutomaticallyAddAddResourceFilesWithDialog_WillBeAdded {
            get {
                return ResourceManager.GetString("SR_ProjectFilesUserControl_AutomaticallyAddAddResourceFilesWithDialog_WillBeAdded" +
                        "", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to New project folder.
        /// </summary>
        internal static string SR_ProjectFilesUserControl_buttonAddProjectFolderItemClick_NewProjectFolder {
            get {
                return ResourceManager.GetString("SR_ProjectFilesUserControl_buttonAddProjectFolderItemClick_NewProjectFolder", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Do you really want to remove the select project folder and all contained file groups from the project?.
        /// </summary>
        internal static string SR_ProjectFilesUserControl_buttonRemoveProjectFolder_ItemClick {
            get {
                return ResourceManager.GetString("SR_ProjectFilesUserControl_buttonRemoveProjectFolder_ItemClick", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Do you want to save changes to the project file?.
        /// </summary>
        internal static string SR_ProjectFilesUserControl_DoSaveFile_SaveChangesToTheProjectFile {
            get {
                return ResourceManager.GetString("SR_ProjectFilesUserControl_DoSaveFile_SaveChangesToTheProjectFile", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Zeta Resource Editor project files.
        /// </summary>
        internal static string SR_ProjectFilesUserControl_OpenWithDialog_EditorProjectFiles {
            get {
                return ResourceManager.GetString("SR_ProjectFilesUserControl_OpenWithDialog_EditorProjectFiles", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Do you really want to remove the selected file from the file group?.
        /// </summary>
        internal static string SR_ProjectFilesUserControl_RemoveFileFromFileGroupWithDialog_FromTheFileGroup {
            get {
                return ResourceManager.GetString("SR_ProjectFilesUserControl_RemoveFileFromFileGroupWithDialog_FromTheFileGroup", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Unexpected node type '{0}' while removing..
        /// </summary>
        internal static string SR_ProjectFilesUserControl_removeNodeAndchilds_Unexpected_node_type {
            get {
                return ResourceManager.GetString("SR_ProjectFilesUserControl_removeNodeAndchilds_Unexpected_node_type", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Do you really want to remove the selected file group from the project?.
        /// </summary>
        internal static string SR_ProjectFilesUserControl_RemoveResourceFilesWithDialog_FromTheProject {
            get {
                return ResourceManager.GetString("SR_ProjectFilesUserControl_RemoveResourceFilesWithDialog_FromTheProject", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Root.
        /// </summary>
        internal static string SR_ProjectFolder_RootName_Root {
            get {
                return ResourceManager.GetString("SR_ProjectFolder_RootName_Root", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to QT resource files.
        /// </summary>
        internal static string SR_QTResourceFileAccessor_Name_QTResourceFiles {
            get {
                return ResourceManager.GetString("SR_QTResourceFileAccessor_Name_QTResourceFiles", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Ask whether to overwrite read-only files.
        /// </summary>
        internal static string SR_ReadOnlyFileOverwriteBehaviour_Ask {
            get {
                return ResourceManager.GetString("SR_ReadOnlyFileOverwriteBehaviour_Ask", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Fail when trying to overwrite read-only files.
        /// </summary>
        internal static string SR_ReadOnlyFileOverwriteBehaviour_Fail {
            get {
                return ResourceManager.GetString("SR_ReadOnlyFileOverwriteBehaviour_Fail", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Overwrite read-only files.
        /// </summary>
        internal static string SR_ReadOnlyFileOverwriteBehaviour_Overwrite {
            get {
                return ResourceManager.GetString("SR_ReadOnlyFileOverwriteBehaviour_Overwrite", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Skip read-only files.
        /// </summary>
        internal static string SR_ReadOnlyFileOverwriteBehaviour_Skip {
            get {
                return ResourceManager.GetString("SR_ReadOnlyFileOverwriteBehaviour_Skip", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to The items were sent successfully to Zeta Software. Thank you!.
        /// </summary>
        internal static string SR_ReportItemsForm_buttonOKClick_ThankYou {
            get {
                return ResourceManager.GetString("SR_ReportItemsForm_buttonOKClick_ThankYou", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to The text was not found..
        /// </summary>
        internal static string SR_ResourceEditorUserControl_Find_TheTextWasNotFound {
            get {
                return ResourceManager.GetString("SR_ResourceEditorUserControl_Find_TheTextWasNotFound", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Visual Studio solutions, C# projects.
        /// </summary>
        internal static string SR_SlnNames {
            get {
                return ResourceManager.GetString("SR_SlnNames", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Test.
        /// </summary>
        internal static string SR_Test {
            get {
                return ResourceManager.GetString("SR_Test", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Define a semicolon separated list of optional default types that can be used for the "[optionaldefaulttypes]" placeholder.
        ///
        ///The default types will be ignores during file type parsing for generating new files and language detection.
        ///
        ///E.g. ".aspx;.ascx;.asmx;.master"
        ///
        ///Always include the dot for each type..
        /// </summary>
        internal static string SR_toolTipItem4Text {
            get {
                return ResourceManager.GetString("SR_toolTipItem4Text", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Use the fowllowing (optional) placeholders:
        ///
        ///- "[basename]" (no dot)
        ///- "[languagecode]" (no dot)
        ///- "[extension]" (dot excluded)
        ///- "[optionaldefaulttypes]" (dot included)
        ///
        ///e.g. "[basename][optionaldefaulttypes].[languagecode].[extension]".
        /// </summary>
        internal static string SR_toolTipItem5Text {
            get {
                return ResourceManager.GetString("SR_toolTipItem5Text", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Use the fowllowing (optional) placeholders:
        ///
        ///- "[basename]" (no dot)
        ///- "[languagecode]" (no dot)
        ///- "[extension]" (dot excluded)
        ///- "[optionaldefaulttypes]" (dot included)
        ///
        ///e.g. "[basename][optionaldefaulttypes].[extension]".
        /// </summary>
        internal static string SR_toolTipItem6Text {
            get {
                return ResourceManager.GetString("SR_toolTipItem6Text", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Define the allowed optional default types..
        /// </summary>
        internal static string SR_toolTipTitleItem4Text {
            get {
                return ResourceManager.GetString("SR_toolTipTitleItem4Text", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Defines the file name pattern for non-neutral languages..
        /// </summary>
        internal static string SR_toolTipTitleItem5Text {
            get {
                return ResourceManager.GetString("SR_toolTipTitleItem5Text", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Defines the file name pattern for the neutral language..
        /// </summary>
        internal static string SR_toolTipTitleItem6Text {
            get {
                return ResourceManager.GetString("SR_toolTipTitleItem6Text", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to (Auto detect).
        /// </summary>
        internal static string SR_TranslationHelper_GetSourceLanguages_AutoDetect {
            get {
                return ResourceManager.GetString("SR_TranslationHelper_GetSourceLanguages_AutoDetect", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to The HTML code returned from Google appears to have changed. Please check for an updated version of Zeta Resource Editor..
        /// </summary>
        internal static string SR_TranslationHelper_parseRawPageContent_GoogleCodeChanged {
            get {
                return ResourceManager.GetString("SR_TranslationHelper_parseRawPageContent_GoogleCodeChanged", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Please select a Visual Studio solution or project file.
        /// </summary>
        internal static string SR_VSDialogTitle {
            get {
                return ResourceManager.GetString("SR_VSDialogTitle", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Common.
        /// </summary>
        internal static string SR_ZreLicenseType_LicenseType_Category {
            get {
                return ResourceManager.GetString("SR_ZreLicenseType_LicenseType_Category", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to Specify the type of the license..
        /// </summary>
        internal static string SR_ZreLicenseType_LicenseType_Description {
            get {
                return ResourceManager.GetString("SR_ZreLicenseType_LicenseType_Description", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to License type.
        /// </summary>
        internal static string SR_ZreLicenseType_LicenseType_DisplayName {
            get {
                return ResourceManager.GetString("SR_ZreLicenseType_LicenseType_DisplayName", resourceCulture);
            }
        }

        /// <summary>
        ///   Looks up a localized string similar to [Zeta Resource Editor] 404 Error occurred.
        /// </summary>
        internal static string Str_404EMailMessageSubject {
            get {
                return ResourceManager.GetString("Str_404EMailMessageSubject", resourceCulture);
            }
        }
    }
}


text:
package alimama;

import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.concurrent.TimeUnit;

import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxProfile;
import org.openqa.selenium.remote.Augmenter;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;

/**
 * 娴忚鍣╱til
 */

public class SeleniumUtil {

	private static final Logger logger = Logger.getLogger(SeleniumUtil.class);

	private static FirefoxProfile profile = null;
	private static DesiredCapabilities capability = null;

	public static void setDesiredCapabilities() {
		logger.info("start init Firefox profile!");
		String plugin = SeleniumUtil.class.getResource("/plugin/killspinners-1.2.1-fx.xpi").getPath();
		try {
			profile = new FirefoxProfile();
			// profile = new ProfilesIni().getProfile("default");
			profile.addExtension(new File(plugin));
			// 鍘绘帀css
			// profile.setPreference("permissions.default.stylesheet", 2);
			// 鍘绘帀鍥剧墖
			// profile.setPreference("permissions.default.image", 2);
			// 鍘绘帀flash
			profile.setPreference("dom.ipc.plugins.enabled.libflashplayer.so", false);
			capability = DesiredCapabilities.firefox();
			capability.setCapability("firefox_profile", profile);

		} catch (Exception e) {
			logger.error("init firefox plugin(killspinnners) is error! ", e);
		}
		logger.info("init Firefox profile is success!");
	}

	/**
	 * 鍒濆鍖栨祻瑙堝櫒鐨刾rofile鏂囦欢
	 */
	static {
		setDesiredCapabilities();
	}

	/**
	 * 如果你没找到 NPAPI 项,试试输入:chrome://flags/#enable-npapi 如果仍然没找到,那么,你需要升级你的
	 * Chrome 浏览器到最新版,我的原来是 40.0版本,升级到42.0版本,结果就出现了。 按"启用"后,关闭 Chrome
	 * 程序,然后再重新打开,就可以正常呼出阿里旺旺了。
	 *
	 * @return
	 */
	public static WebDriver initChromeDriver() {
		logger.info("start init WebDriver!");
		WebDriver driver = null;
		try {
			/*ChromeDriverService service = new ChromeDriverService.Builder()
					.usingDriverExecutable(new File("e:\\app\\chromedriver\\chromedriver.exe")).usingAnyFreePort()
					.build();
			service.start();*/
			ChromeOptions options = new ChromeOptions();
			// options.addArguments("–user-data-dir=C:/Users/xxx/AppData/Local/Google/Chrome/User
			// Data/Default");
			String userDateDir = "C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\User Data";
			if(StringUtils.isNotBlank(PropertiesUtil.getPropertiesMap("alimama.userDateDir"))){
				userDateDir = PropertiesUtil.getPropertiesMap("alimama.userDateDir");
			}
			if(!"false".equalsIgnoreCase(userDateDir)){
				options.addArguments("--user-data-dir=" + userDateDir,"--allow-outdated-plugins");
			}
			// 璁剧疆璁块棶ChromeDriver鐨勮矾寰�
			String driverPath = "e:\\app\\chromedriver\\chromedriver.exe";
			String	driverPathUser =	PropertiesUtil.getPropertiesMap("alimama.driverPath");;
			if(StringUtils.isNotBlank(driverPathUser)){
				driverPath = driverPathUser;
			}
			System.setProperty("webdriver.chrome.driver", driverPath);
			driver = new ChromeDriver(options);

			 driver.manage().timeouts().implicitlyWait(60,
			 TimeUnit.SECONDS);
			 driver.manage().timeouts().pageLoadTimeout(60,
			 TimeUnit.SECONDS);
			 driver.manage().timeouts().setScriptTimeout(60,TimeUnit.SECONDS);

		} catch (Exception e) {
			logger.error("Init WebDriver is error!", e);
			throw new RuntimeException(e);
		}
		logger.info("init WebDriver is success!");
		return driver;
	}

	/**
	 * 鍒濆鍖栨祻瑙堝櫒
	 *
	 * @param server
	 * @return
	 */
	public static WebDriver initWebDriver() {
		logger.info("start init WebDriver!");
		WebDriver driver = null;
		try {
			// driver = new RemoteWebDriver(new
			// URL(SystemConfigProper.SELENIUM_SERVER_HTTP+"/wd/hub"),
			// capability);
			driver = new FirefoxDriver(capability);
		} catch (Exception e) {
			logger.error("Init WebDriver is error!", e);
			throw new RuntimeException(e);
		}
		logger.info("init WebDriver is success!");
		return driver;
	}

	/**
	 * 鍒濆鍖栨祻瑙堝櫒
	 *
	 * @param server
	 * @return
	 */
	public static WebDriver initWebDriver(String url) {
		logger.info("start init WebDriver!");
		WebDriver driver = null;
		try {
			driver = new RemoteWebDriver(new URL(url), capability);
		} catch (Exception e) {
			logger.error("Init WebDriver is error!", e);
			throw new RuntimeException(e);
		}
		logger.info("init WebDriver is success!");
		return driver;
	}

	public static WebDriver createWebDriver() throws Exception {
		DesiredCapabilities capability = DesiredCapabilities.chrome();
		capability.setJavascriptEnabled(true);
		FirefoxProfile firefoxProfile = new FirefoxProfile();
		// 鍘绘帀css
		// firefoxProfile.setPreference("permissions.default.stylesheet", 2);
		// 鍘绘帀鍥剧墖
		// firefoxProfile.setPreference("permissions.default.image", 2);
		// 鍘绘帀flash
		firefoxProfile.setPreference("dom.ipc.plugins.enabled.libflashplayer.so", false);

		capability.setCapability("firefox_profile", firefoxProfile);
		WebDriver driver = new FirefoxDriver(capability);

		// WebDriver driver = new HtmlUnitDriver();
		// WebDriver driver = new HtmlUnitDriver();
		// 濡傛灉3s鍐呰繕瀹氫綅涓嶅埌鍒欐姏鍑哄紓甯?
		// driver.manage().timeouts().implicitlyWait(IMPLICITLYWAIT,
		// TimeUnit.SECONDS);
		// 椤甸潰鍔犺浇瓒呮椂鏃堕棿璁剧疆涓?5s
		// driver.manage().timeouts().pageLoadTimeout(PAGELOADTIMEOUT,
		// TimeUnit.SECONDS);
		// driver.manage().timeouts().setScriptTimeout(60,TimeUnit.SECONDS);
		return driver;

	}

	/**
	 * 鎴浘
	 *
	 * @param driver
	 * @param url
	 * @param filePath
	 * @return
	 */
	public static String capture(WebDriver driver, String url, String filePath) {
		if (driver == null) {
			return null;
		}
		if (!url.startsWith("http:") && !url.startsWith("https:")) {
			return null;
		}
		if (StringUtils.isBlank(filePath)) {
			return null;
		}
		try {
			driver.get(url);
			WebDriver augmentedDriver = new Augmenter().augment(driver);
			File screenshot = ((TakesScreenshot) augmentedDriver).getScreenshotAs(OutputType.FILE);
			File file = new File(filePath);
			FileUtils.copyFile(screenshot, file);
			logger.info("capture success!");
		} catch (IOException e) {
			logger.error("browser capture is error!", e);
			filePath = null;
			throw new RuntimeException(e);
		}
		return filePath;
	}

	/**
	 * 鎴浘
	 *
	 * @param driver
	 * @param url
	 * @param filePath
	 * @return
	 */
	public static String capture(WebDriver driver, String url) {
		if (driver == null) {
			return null;
		}
		if (!url.startsWith("http:") && !url.startsWith("https:")) {
			return null;
		}
		String response;
		try {
			driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
			driver.get(url);
			WebDriver augmentedDriver = new Augmenter().augment(driver);
			response = augmentedDriver.getPageSource();
			logger.info("content success!");
		} catch (Exception e) {
			logger.error("browser content is error!", e);
			throw new RuntimeException(e);
		}
		return response;
	}

	public static boolean contentIsIn(WebDriver driver, String url, String text) {
		if (driver == null) {
			return false;
		}
		if (!url.startsWith("http:") && !url.startsWith("https:")) {
			return false;
		}
		text = text.trim();
		if (StringUtils.isBlank(text)) {
			return false;
		}
		try {
			driver.get(url);
			String test = driver.getPageSource();
			String[] txts = text.split(" ++");
			for (String txt : txts) {
				if (test.indexOf(txt) < 0) {
					return false;
				}
			}
			return true;
		} catch (Exception e) {
			logger.error("browser content is error!", e);
			throw new RuntimeException(e);
		}
	}

	/**
	 * 鍏抽棴娴忚鍣?
	 *
	 * @param driver
	 */
	public static void CloseWebDriver(WebDriver driver) {
		logger.info("start Destory WebDriver!");
		driver.quit();
		logger.info("Destory WebDriver is success!");
	}
}


text:
// This is a generated file. Not intended for manual editing.
package ws.epigraph.schema.parser.psi.impl;

import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.intellij.psi.util.PsiTreeUtil;
import static ws.epigraph.schema.lexer.SchemaElementTypes.*;
import com.intellij.extapi.psi.ASTWrapperPsiElement;
import ws.epigraph.schema.parser.psi.*;

public class SchemaOpPathKeyProjectionBodyImpl extends ASTWrapperPsiElement implements SchemaOpPathKeyProjectionBody {

  public SchemaOpPathKeyProjectionBodyImpl(ASTNode node) {
    super(node);
  }

  public void accept(@NotNull SchemaVisitor visitor) {
    visitor.visitOpPathKeyProjectionBody(this);
  }

  public void accept(@NotNull PsiElementVisitor visitor) {
    if (visitor instanceof SchemaVisitor) accept((SchemaVisitor)visitor);
    else super.accept(visitor);
  }

  @Override
  @NotNull
  public List<SchemaOpPathKeyProjectionPart> getOpPathKeyProjectionPartList() {
    return PsiTreeUtil.getChildrenOfTypeAsList(this, SchemaOpPathKeyProjectionPart.class);
  }

  @Override
  @NotNull
  public PsiElement getBracketLeft() {
    return notNullChild(findChildByType(S_BRACKET_LEFT));
  }

  @Override
  @Nullable
  public PsiElement getBracketRight() {
    return findChildByType(S_BRACKET_RIGHT);
  }

}


text:
import _extends from "@babel/runtime/helpers/extends";
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
var _excluded = ["badgeBeforeTitle", "badgeAfterTitle", "badgeBeforeSubtitle", "badgeAfterSubtitle", "before", "indicator", "children", "after", "expandable", "multiline", "subhead", "subtitle", "extraSubtitle", "className"];
import * as React from "react";
import { classNamesString } from "../../lib/classNames";
import { getPlatformClassName } from "../../helpers/getPlatformClassName";
import { Tappable } from "../Tappable/Tappable";
import { Icon24Chevron } from "@vkontakte/icons";
import { Platform } from "../../lib/platform";
import { usePlatform } from "../../hooks/usePlatform";
import { hasReactNode } from "../../lib/utils";
import { useAdaptivity } from "../../hooks/useAdaptivity";
import { Headline } from "../Typography/Headline/Headline";
import { Subhead } from "../Typography/Subhead/Subhead";
import { getSizeYClassName } from "../../helpers/getSizeYClassName";
/**
 * @see https://vkcom.github.io/VKUI/#/SimpleCell
 */
export var SimpleCell = function SimpleCell(_ref) {
  var badgeBeforeTitle = _ref.badgeBeforeTitle,
    badgeAfterTitle = _ref.badgeAfterTitle,
    badgeBeforeSubtitle = _ref.badgeBeforeSubtitle,
    badgeAfterSubtitle = _ref.badgeAfterSubtitle,
    before = _ref.before,
    indicator = _ref.indicator,
    children = _ref.children,
    after = _ref.after,
    expandable = _ref.expandable,
    multiline = _ref.multiline,
    subhead = _ref.subhead,
    subtitle = _ref.subtitle,
    extraSubtitle = _ref.extraSubtitle,
    className = _ref.className,
    restProps = _objectWithoutProperties(_ref, _excluded);
  var platform = usePlatform();
  var hasAfter = hasReactNode(after) || expandable && platform === Platform.IOS;
  var _useAdaptivity = useAdaptivity(),
    sizeY = _useAdaptivity.sizeY;
  return /*#__PURE__*/React.createElement(Tappable, _extends({}, restProps, {
    className: classNamesString("vkuiSimpleCell", getPlatformClassName("vkuiSimpleCell", platform), getSizeYClassName("vkuiSimpleCell", sizeY), expandable && "vkuiSimpleCell--exp", multiline && "vkuiSimpleCell--mult", className)
  }), before, /*#__PURE__*/React.createElement("div", {
    className: "vkuiSimpleCell__main"
  }, subhead && /*#__PURE__*/React.createElement(Subhead, {
    Component: "span",
    className: classNamesString("vkuiSimpleCell__text", "vkuiSimpleCell__subhead")
  }, subhead), /*#__PURE__*/React.createElement("div", {
    className: "vkuiSimpleCell__content"
  }, badgeBeforeTitle && /*#__PURE__*/React.createElement("span", {
    className: "vkuiSimpleCell__badge"
  }, badgeBeforeTitle), /*#__PURE__*/React.createElement(Headline, {
    Component: "span",
    className: "vkuiSimpleCell__children",
    weight: "3"
  }, children), hasReactNode(badgeAfterTitle) && /*#__PURE__*/React.createElement("span", {
    className: "vkuiSimpleCell__badge"
  }, badgeAfterTitle)), subtitle && /*#__PURE__*/React.createElement("div", {
    className: "vkuiSimpleCell__content"
  }, badgeBeforeSubtitle && /*#__PURE__*/React.createElement("span", {
    className: "vkuiSimpleCell__badge"
  }, badgeBeforeSubtitle), /*#__PURE__*/React.createElement("span", {
    className: classNamesString("vkuiSimpleCell__typography", "vkuiSimpleCell__text", "vkuiSimpleCell__subtitle")
  }, subtitle), badgeAfterSubtitle && /*#__PURE__*/React.createElement("span", {
    className: "vkuiSimpleCell__badge"
  }, badgeAfterSubtitle)), extraSubtitle && /*#__PURE__*/React.createElement("span", {
    className: classNamesString("vkuiSimpleCell__typography", "vkuiSimpleCell__text", "vkuiSimpleCell__extraSubtitle")
  }, extraSubtitle)), hasReactNode(indicator) && /*#__PURE__*/React.createElement(Headline, {
    Component: "span",
    weight: "3",
    className: "vkuiSimpleCell__indicator"
  }, indicator), hasAfter && /*#__PURE__*/React.createElement("div", {
    className: "vkuiSimpleCell__after"
  }, after, expandable && platform === Platform.IOS && /*#__PURE__*/React.createElement(Icon24Chevron, null)));
};
//# sourceMappingURL=SimpleCell.js.map


text:
async function runTestInPortal(portalSrc, testName) {
  let portal = document.createElement('portal');
  portal.src = portalSrc + '?testName=' + testName;
  let result = await new Promise((resolve) => {
    portal.onmessage = (e) => {
      resolve(e.data);
    };
    document.body.appendChild(portal);
  });

  assert_equals(result, 'Passed');
}


text:
package codeu.chat.relay;

import static org.junit.Assert.*;

import codeu.chat.common.Relay;
import codeu.chat.common.Secret;
import codeu.chat.common.UserType;
import codeu.chat.util.Time;
import codeu.chat.util.Uuid;
import java.util.Collection;
import org.junit.Test;

public final class ServerTest {

  @Test
  public void testAddTeam() {

    final Server relay = new Server(8, 8);

    final Uuid team = new Uuid(3);
    final Secret secret = new Secret((byte) 0x00, (byte) 0x01, (byte) 0x02);

    assertTrue(relay.addTeam(team, secret));
  }

  @Test
  public void testWriteSuccess() {

    final Server relay = new Server(8, 8);

    final Uuid team = new Uuid(3);
    final Secret secret = new Secret((byte) 0x00, (byte) 0x01, (byte) 0x02);

    assertTrue(relay.addTeam(team, secret));

    assertTrue(
        relay.write(
            team,
            secret,
            relay.pack(new Uuid(4), "User", Time.now()),
            relay.pack(new Uuid(5), "Conversation", Time.now(), new Uuid(6), UserType.NOTSET),
            relay.pack(new Uuid(7), "Hello World", Time.now())));
  }

  @Test
  public void testWriteFailNoTeam() {

    final Server relay = new Server(8, 8);

    final Uuid team = new Uuid(3);
    final Secret secret = new Secret((byte) 0x00, (byte) 0x01, (byte) 0x02);

    assertFalse(
        relay.write(
            team,
            secret,
            relay.pack(new Uuid(4), "User", Time.now()),
            relay.pack(new Uuid(5), "Conversation", Time.now(), new Uuid(6), UserType.NOTSET),
            relay.pack(new Uuid(7), "Hello World", Time.now())));
  }

  @Test
  public void testWriteFailWrongSecret() {

    final Server relay = new Server(8, 8);

    final Uuid team = new Uuid(3);
    final Secret secret = new Secret((byte) 0x00, (byte) 0x01, (byte) 0x02);
    final Secret wrongSecret = new Secret((byte) 0x00, (byte) 0x01, (byte) 0x03);

    assertTrue(relay.addTeam(team, secret));

    assertFalse(
        relay.write(
            team,
            wrongSecret,
            relay.pack(new Uuid(4), "User", Time.now()),
            relay.pack(new Uuid(5), "Conversation", Time.now(), new Uuid(6), UserType.NOTSET),
            relay.pack(new Uuid(7), "Hello World", Time.now())));
  }

  @Test
  public void testWriteAndReadSuccess() {

    final Server relay = new Server(8, 8);

    final Uuid team = new Uuid(3);
    final Secret secret = new Secret((byte) 0x00, (byte) 0x01, (byte) 0x02);

    assertTrue(relay.addTeam(team, secret));

    assertTrue(
        relay.write(
            team,
            secret,
            relay.pack(new Uuid(4), "User", Time.now()),
            relay.pack(new Uuid(5), "Conversation", Time.now(), new Uuid(6), UserType.MEMBER),
            relay.pack(new Uuid(7), "Hello World", Time.now())));

    final Collection<Relay.Bundle> read = relay.read(team, secret, Uuid.NULL, 1);
    assertTrue(read.size() == 1);

    // By the assertion above this loop should only execute once as there should only
    // be a single value in the collection.

    for (final Relay.Bundle bundle : read) {
      assertTrue(Uuid.equals(bundle.team(), team));
      assertTrue(Uuid.equals(bundle.user().id(), new Uuid(4)));
      assertTrue(Uuid.equals(bundle.conversation().id(), new Uuid(5)));
      assertTrue(Uuid.equals(bundle.message().id(), new Uuid(7)));
    }
  }

  @Test
  public void testReadFailWrongSecret() {

    final Server relay = new Server(8, 8);

    final Uuid team = new Uuid(3);
    final Secret secret = new Secret((byte) 0x00, (byte) 0x01, (byte) 0x02);
    final Secret wrongSecret = new Secret((byte) 0x00, (byte) 0x01, (byte) 0x00);

    assertTrue(relay.addTeam(team, secret));

    assertFalse(
        relay.write(
            team,
            wrongSecret,
            relay.pack(new Uuid(4), "User", Time.now()),
            relay.pack(new Uuid(5), "Conversation", Time.now(), new Uuid(6), UserType.NOTSET),
            relay.pack(new Uuid(7), "Hello World", Time.now())));
  }

  @Test
  public void testReadFailMissingTeam() {

    final Server relay = new Server(8, 8);

    final Uuid team = new Uuid(3);
    final Secret secret = new Secret((byte) 0x00, (byte) 0x01, (byte) 0x02);

    assertTrue(relay.addTeam(team, secret));

    assertFalse(
        relay.write(
            new Uuid(33),
            secret,
            relay.pack(new Uuid(4), "User", Time.now()),
            relay.pack(new Uuid(5), "Conversation", Time.now(), new Uuid(6), UserType.NOTSET),
            relay.pack(new Uuid(7), "Hello World", Time.now())));
  }

  @Test
  public void testReadLimited() {

    final Server relay = new Server(8, 1);

    final Uuid team = new Uuid(3);
    final Secret secret = new Secret((byte) 0x00, (byte) 0x01, (byte) 0x02);

    assertTrue(relay.addTeam(team, secret));

    assertTrue(
        relay.write(
            team,
            secret,
            relay.pack(new Uuid(4), "User", Time.now()),
            relay.pack(new Uuid(5), "Conversation", Time.now(), new Uuid(6), UserType.NOTSET),
            relay.pack(new Uuid(7), "Hello World", Time.now())));

    assertTrue(
        relay.write(
            team,
            secret,
            relay.pack(new Uuid(4), "User", Time.now()),
            relay.pack(new Uuid(5), "Conversation", Time.now(), new Uuid(6), UserType.NOTSET),
            relay.pack(new Uuid(8), "Hello World... again", Time.now())));

    final Collection<Relay.Bundle> read = relay.read(team, secret, Uuid.NULL, 2);
    assertTrue(read.size() == 1);
  }

  @Test
  public void testHistoryOverwrite() {

    final Server relay = new Server(1, 8);

    final Uuid team = new Uuid(3);
    final Secret secret = new Secret((byte) 0x00, (byte) 0x01, (byte) 0x02);

    assertTrue(relay.addTeam(team, secret));

    assertTrue(
        relay.write(
            team,
            secret,
            relay.pack(new Uuid(4), "User", Time.now()),
            relay.pack(new Uuid(5), "Conversation", Time.now(), new Uuid(6), UserType.NOTSET),
            relay.pack(new Uuid(7), "Hello World", Time.now())));

    assertTrue(
        relay.write(
            team,
            secret,
            relay.pack(new Uuid(4), "User", Time.now()),
            relay.pack(new Uuid(5), "Conversation", Time.now(), new Uuid(6), UserType.NOTSET),
            relay.pack(new Uuid(8), "Hello World... again", Time.now())));

    final Collection<Relay.Bundle> read = relay.read(team, secret, Uuid.NULL, 2);
    assertTrue(read.size() == 1);

    // By the assertion above this loop should only execute once as there should only
    // be a single value in the collection.

    for (final Relay.Bundle bundle : read) {
      assertTrue(Uuid.equals(bundle.team(), team));
      assertTrue(Uuid.equals(bundle.user().id(), new Uuid(4)));
      assertTrue(Uuid.equals(bundle.conversation().id(), new Uuid(5)));
      assertTrue(Uuid.equals(bundle.message().id(), new Uuid(8)));
    }
  }

  @Test
  public void testReadWithMissingRoot() {

    final Server relay = new Server(8, 8);

    final Uuid team = new Uuid(3);
    final Secret secret = new Secret((byte) 0x00, (byte) 0x01, (byte) 0x02);

    assertTrue(relay.addTeam(team, secret));

    assertTrue(
        relay.write(
            team,
            secret,
            relay.pack(new Uuid(4), "User", Time.now()),
            relay.pack(new Uuid(5), "Conversation", Time.now(), new Uuid(6), UserType.NOTSET),
            relay.pack(new Uuid(7), "Hello World", Time.now())));

    final Collection<Relay.Bundle> read = relay.read(team, secret, new Uuid(8), 1);
    assertTrue(read.size() == 1);

    // By the assertion above this loop should only execute once as there should only
    // be a single value in the collection.

    for (final Relay.Bundle bundle : read) {
      assertTrue(Uuid.equals(bundle.team(), team));
      assertTrue(Uuid.equals(bundle.user().id(), new Uuid(4)));
      assertTrue(Uuid.equals(bundle.conversation().id(), new Uuid(5)));
      assertTrue(Uuid.equals(bundle.message().id(), new Uuid(7)));
    }
  }

  @Test
  public void testReadMidHistory() {

    final Server relay = new Server(8, 8);

    final Uuid team = new Uuid(3);
    final Secret secret = new Secret((byte) 0x00, (byte) 0x01, (byte) 0x02);

    assertTrue(relay.addTeam(team, secret));

    assertTrue(
        relay.write(
            team,
            secret,
            relay.pack(new Uuid(4), "User", Time.now()),
            relay.pack(new Uuid(5), "Conversation", Time.now(), new Uuid(6), UserType.NOTSET),
            relay.pack(new Uuid(7), "Hello World", Time.now())));

    assertTrue(
        relay.write(
            team,
            secret,
            relay.pack(new Uuid(8), "User", Time.now()),
            relay.pack(new Uuid(9), "Conversation", Time.now(), new Uuid(10), UserType.NOTSET),
            relay.pack(new Uuid(11), "Hello World", Time.now())));

    assertTrue(
        relay.write(
            team,
            secret,
            relay.pack(new Uuid(12), "User", Time.now()),
            relay.pack(new Uuid(13), "Conversation", Time.now(), new Uuid(14), UserType.NOTSET),
            relay.pack(new Uuid(15), "Hello World", Time.now())));

    final Collection<Relay.Bundle> read = relay.read(team, secret, new Uuid(2), 1);
    assertTrue(read.size() == 1);

    // By the assertion above this loop should only execute once as there should only
    // be a single value in the collection.

    for (final Relay.Bundle bundle : read) {

      // The relay server uses a linear id generator starting at 1 - so starting
      // bundle 2, the id should be 3.
      assertTrue(Uuid.equals(bundle.id(), new Uuid(3)));
    }
  }
}


text:
<?php
/**
 * Created by PhpStorm.
 * User: Develop
 * Date: 19.08.14
 * Time: 1:32
 */

namespace XMLModel\Worksheet\WorksheetOptions;
use XMLModel\Base\XMLTeg;

class VerticalResolution  extends  XMLTeg{

}


text:
@interface blaxjackSettingsViewController : UIViewController

@end


text:
import * as express from 'express'
import { Paths } from 'claim/paths'
import FeesClient from 'fees/feesClient'
import ErrorHandling from 'shared/errorHandling'
import { Amount } from 'forms/models/amount'
import { YesNo } from 'forms/models/yesNo'
import { FeeResponse } from 'fees/model/feeResponse'
import { Draft } from '@hmcts/draft-store-client'
import { DraftLegalClaim } from 'drafts/models/draftLegalClaim'

function renderView (res: express.Response, next: express.NextFunction) {
  const draft: Draft<DraftLegalClaim> = res.locals.legalClaimDraft
  const claimAmount: Amount = draft.document.amount
  FeesClient.getFeeAmount(claimAmount)
    .then((feeResponse: FeeResponse) => {
      const isHousingDisrepair = draft.document.housingDisrepair.housingDisrepair.value === YesNo.YES.value
      const isPersonalInjury = draft.document.personalInjury.personalInjury.value === YesNo.YES.value

      res.render(Paths.detailsSummaryPage.associatedView, {
        legalClaimDraft: draft.document,
        feeAmount: feeResponse.amount,
        isHousingDisrepair: isHousingDisrepair,
        isPersonalInjury: isPersonalInjury,
        paths: Paths
      })
    })
    .catch(next)
}

export default express.Router()
  .get(Paths.detailsSummaryPage.uri,
    ErrorHandling.apply(async (req: express.Request, res: express.Response, next: express.NextFunction): Promise<void> => {
      renderView(res, next)
    }))

  .post(Paths.detailsSummaryPage.uri, (req: express.Request, res: express.Response) => {
    res.redirect(Paths.statementOfTruthPage.uri)
  })


text:
package com.alorma.github.ui.view;

import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.support.annotation.NonNull;
import android.support.v4.view.ViewCompat;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.HorizontalScrollView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.alorma.github.R;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @author Aidan Follestad (afollestad)
 */
public class LinearBreadcrumb extends HorizontalScrollView implements View.OnClickListener {

  private List<Crumb> mCrumbs;
  private LinearLayout mChildFrame;
  private int mActive;
  private SelectionCallback mCallback;

  public LinearBreadcrumb(Context context) {
    super(context);
    init();
  }

  public LinearBreadcrumb(Context context, AttributeSet attrs) {
    super(context, attrs);
    init();
  }

  public LinearBreadcrumb(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);
    init();
  }

  private void init() {
    setMinimumHeight((int) getResources().getDimension(R.dimen.breadcrumb_height));
    setClipToPadding(false);
    mCrumbs = new ArrayList<>();
    mChildFrame = new LinearLayout(getContext());
    addView(mChildFrame, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT));
  }

  @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
  private void setAlpha(View view, int alpha) {
    if (view instanceof ImageView && Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
      ((ImageView) view).setImageAlpha(alpha);
    } else {
      ViewCompat.setAlpha(view, alpha);
    }
  }

  public void addPath(@NonNull String path, @NonNull String separator) {
    clearCrumbs();
    initRootCrumb();
    String[] paths = path.split(separator);
    Crumb lastCrumb = null;
    for (String splitPath : paths) {
      lastCrumb = new Crumb(splitPath);
      addCrumb(lastCrumb, false);
    }

    if (lastCrumb != null) {
      setActive(lastCrumb);
    }
  }

  public void addCrumb(@NonNull Crumb crumb, boolean refreshLayout) {
    LinearLayout view = (LinearLayout) LayoutInflater.from(getContext()).inflate(R.layout.bread_crumb, this, false);
    view.setTag(mCrumbs.size());
    view.setOnClickListener(this);

    ImageView iv = (ImageView) view.getChildAt(1);
    Drawable arrow = getResources().getDrawable(R.drawable.ic_right_arrow);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
      if (arrow != null) {
        arrow.setAutoMirrored(true);
      }
    }
    iv.setImageDrawable(arrow);
    iv.setVisibility(View.GONE);

    mChildFrame.addView(view, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
    mCrumbs.add(crumb);
    if (refreshLayout) {
      mActive = mCrumbs.size() - 1;
      requestLayout();
    }
    invalidateActivatedAll();
  }

  @Override
  protected void onLayout(boolean changed, int l, int t, int r, int b) {
    super.onLayout(changed, l, t, r, b);
    //RTL works fine like this
    View child = mChildFrame.getChildAt(mActive);
    if (child != null) smoothScrollTo(child.getLeft(), 0);
  }

  public Crumb findCrumb(@NonNull String forDir) {
    for (int i = 0; i < mCrumbs.size(); i++) {
      if (mCrumbs.get(i).getPath().equals(forDir)) return mCrumbs.get(i);
    }
    return null;
  }

  public void clearCrumbs() {
    try {
      mCrumbs.clear();
      mChildFrame.removeAllViews();
    } catch (IllegalStateException e) {
      e.printStackTrace();
    }
  }

  public Crumb getCrumb(int index) {
    return mCrumbs.get(index);
  }

  public void setCallback(SelectionCallback callback) {
    mCallback = callback;
  }

  public boolean setActive(Crumb newActive) {
    mActive = mCrumbs.indexOf(newActive);
    invalidateActivatedAll();
    boolean success = mActive > -1;
    if (success) requestLayout();
    return success;
  }

  private void invalidateActivatedAll() {
    for (int i = 0; i < mCrumbs.size(); i++) {
      Crumb crumb = mCrumbs.get(i);
      invalidateActivated(mChildFrame.getChildAt(i), mActive == mCrumbs.indexOf(crumb), false, i < mCrumbs.size() - 1).setText(
          crumb.getTitle());
    }
  }

  private void removeCrumbAt(int index) {
    mCrumbs.remove(index);
    mChildFrame.removeViewAt(index);
  }

  private void updateIndices() {
    for (int i = 0; i < mChildFrame.getChildCount(); i++)
      mChildFrame.getChildAt(i).setTag(i);
  }

  private boolean isValidPath(String path) {
    return path == null;
  }

  public int size() {
    return mCrumbs.size();
  }

  private TextView invalidateActivated(View view, boolean isActive, boolean noArrowIfAlone, boolean allowArrowVisible) {
    LinearLayout child = (LinearLayout) view;
    TextView tv = (TextView) child.getChildAt(0);
    tv.setTextColor(getResources().getColor(isActive ? R.color.crumb_active : R.color.crumb_inactive));
    ImageView iv = (ImageView) child.getChildAt(1);
    setAlpha(iv, isActive ? 255 : 109);
    if (noArrowIfAlone && getChildCount() == 1) {
      iv.setVisibility(View.GONE);
    } else if (allowArrowVisible) iv.setVisibility(View.VISIBLE);
    return tv;
  }

  public int getActiveIndex() {
    return mActive;
  }

  @Override
  public void onClick(View v) {
    if (mCallback != null) {
      int index = (Integer) v.getTag();
      if (index >= 0 && index < size()) {
        mCallback.onCrumbSelection(mCrumbs.get(index), getAbsolutePath(mCrumbs.get(index), "/"), mCrumbs.size(), index);
      }
    }
  }

  public SavedStateWrapper getStateWrapper() {
    return new SavedStateWrapper(this);
  }

  public void restoreFromStateWrapper(SavedStateWrapper mSavedState, Activity context) {
    if (mSavedState != null) {
      mActive = mSavedState.mActive;
      for (Crumb c : mSavedState.mCrumbs) {
        addCrumb(c, false);
      }
      requestLayout();
      setVisibility(mSavedState.mVisibility);
    }
  }

  public String getAbsolutePath(Crumb crumb, @NonNull String separator) {
    StringBuilder builder = new StringBuilder();
    if (size() > 1) {
      List<Crumb> crumbs = mCrumbs.subList(1, size());
      for (Crumb mCrumb : crumbs) {
        builder.append(mCrumb.getPath());
        builder.append(separator);
        if (mCrumb.equals(crumb)) {
          break;
        }
      }
      String path = builder.toString();
      return path.substring(0, path.length() - 1);
    } else {
      return null;
    }
  }

  public void initRootCrumb() {
    clearCrumbs();
    addCrumb(new Crumb("/"), true);
  }

  public interface SelectionCallback {

    void onCrumbSelection(Crumb crumb, String absolutePath, int count, int index);
  }

  public static class Crumb implements Serializable {

    private final String mPath;
    private int mScrollY;
    private int mScrollOffset;

    public Crumb(String path) {
      mPath = path;
    }

    public int getScrollY() {
      return mScrollY;
    }

    public void setScrollY(int scrollY) {
      this.mScrollY = scrollY;
    }

    public int getScrollOffset() {
      return mScrollOffset;
    }

    public void setScrollOffset(int scrollOffset) {
      this.mScrollOffset = scrollOffset;
    }

    public String getPath() {
      return mPath;
    }

    public String getTitle() {
      return (mPath != null && mPath.equals("/")) ? "ROOT" : mPath;
    }

    @Override
    public boolean equals(Object o) {
      return (o instanceof Crumb) && ((Crumb) o).getPath().equals(getPath());
    }

    @Override
    public String toString() {
      return getPath();
    }
  }

  public static class SavedStateWrapper implements Serializable {

    public final int mActive;

    public final List<Crumb> mCrumbs;
    public final int mVisibility;

    public SavedStateWrapper(LinearBreadcrumb view) {
      mActive = view.mActive;
      mCrumbs = view.mCrumbs;
      mVisibility = view.getVisibility();
    }
  }
}


text:
/**
 * @author Keith
 */
function DataFix(data,Convert){

// we add these properties on the entire array since
// after we render the table we can't make changes to individual rows on android
data.prop = 'font';
data.prop = 'color';
data.prop = 'backgroundColor';
//data.prop = 'backgroundGradient';
///
//var Convert ;
var username ;
data.prop = 'rightImage';
data.prop = 'backgroundImage';
var user = [username];

if(Convert)
{
	data.prop = 'user' ;

	//data[i].prop = 'username' ;
	//alert('yo');
	data.prop = 'downloadable' ;
	data.prop = 'title';
//Convert = true ;

}
//leftImage
///
//data.font.prop = 'fontSize';
for(var i = 0; i < data.length; i++)
{
	//.user.username
	if(Convert){
	//	data.user.prop = 'username';
		//data[i].user.username = "JM Artist";
	data[i].downloadable = true ;
		data[i].title = data[i].name ;
	}
	//data[i].backgroundImage = data[i].waveform_url ;

	if(data[i].downloadable == true){
	data[i].color = 'green';
	data[i].rightImage = 'text/vON.png' ;
	//data[i].backgroundColor = 'green';

	//data[i].backgroundGradient = BackGreen ;

	}
	else
	{
		data[i].rightImage = 'text/vOFF.png';
//		data[i].backgroundColor = 'red';
	data[i].color = 'red';
	//	data[i].backgroundGradient = BackRed ;
	}

	if(Convert){

		data[i].color = 'blue';
	}

  data[i].font = {fontSize: '17dp'};
}
return data ;
}
module.exports = DataFix ;