text:
<?php namespace Mosaiqo\Packet\Console\Commands;

use Illuminate\Console\Command;
use Mosaiqo\Packet\Helpers\PackageHelper;
use Mosaiqo\Packet\Helpers\TemplateHelper;

class NewPackageCommand extends Command
{

    protected $helper;

    protected $template;

    protected $vendor;

    protected $package;

    protected $packageDescription;

    protected $fullPath;

    protected $path;

    protected $templatesPath = __DIR__.'/../../../resources/templates';

	/**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'package:new
                            {name : The package name.}
                            {--vendor= : The vendor name if not provided it will look for the config file.}
                            {--description=This is a fake description change it. : The description for your package.}';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Create a new package';

    public function __construct (PackageHelper $helper, TemplateHelper $template)
    {
        parent::__construct();
        $this->helper = $helper;
        $this->template = $template;
    }
    /**
     * Execute the console command.
     *
     * @return mixed
     */
    public function handle()
    {
        $this->instantiateVariables();
        $this->checkIfPackageAllreadyExists();
        $this->createDirectoryStructure();
        $this->copySkeleton();
        $this->initComposer();
        $this->initRepository();
        $this->initFlow();
    }

    protected function createDirectoryStructure ()
    {
        $this->createPackagesDirectory();
        $this->createVendorDirectory();
        $this->createPackageDirectory();
        $this->createSrcDirectory();
        $this->createTestsDirectory();
        $this->createResourcesDirectory();
        $this->createAssetsDirectory();
        $this->createTranslationsDirectory();
        $this->createViewsDirectory();
        $this->createConfigDirectory();
        $this->createPublicAssetsDirectory();
        $this->createDatabaseDirectory();

    }

    protected function instantiateVariables ()
    {
        // Common variables
        $vendor = $this->option('vendor')?:config('packet.vendor');

        if($vendor == null || $vendor == '')
        {
            $vendor = $this->output->ask('You have to provide a vendor name');
            if($vendor == null || $vendor == '')
            {
                throw new \Exception('You have to provide a vendor');
            }
        }

        $this->vendor = strtolower($vendor);
        $this->packageDescription = $this->option('description');
        $this->package = strtolower($this->argument('name'));
        $this->path = getcwd()."/".config('packet.path','packages')."/";
        $this->fullPath = $this->path.ucfirst($this->vendor).'/'.ucfirst($this->package);

    }

    protected function checkIfPackageAllreadyExists ()
    {
        $this->info('Creating package '.$this->vendor.'\\'.$this->package.'...');
        $this->helper->checkPackageDoNotExist($this->path, $this->vendor, $this->package);
    }

    protected function createPackagesDirectory ()
    {
        $this->helper->makeDir($this->path);
    }

    protected function createVendorDirectory ()
    {
        $this->helper->makeDir($this->path.ucfirst($this->vendor));
    }

    protected function createPackageDirectory ()
    {
        $this->helper->makeDir($this->fullPath);
    }

    protected function createSrcDirectory ()
    {
        $directory = config('packet.directories.src', 'app');
        $this->helper->makeDir($this->fullPath."/{$directory}");
    }

    protected function createTestsDirectory ()
    {
        $tests = config('packet.directories.tests', 'tests');
        $this->helper->makeDir($this->fullPath."/{$tests}");
    }

    protected function copySkeleton ()
    {
       $this->info('Copying skeleton...');

       $this->copyGitignore();
       $this->copyLicense();
       $this->copyComposer();
       $this->copyContributing();
       $this->copyReadme();
       $this->copyChangelog();
       $this->copySkeletonClass();
       $this->copyServiceProvider();
       $this->copyPHPUnit();
    }

    protected function copyGitignore ()
    {
      $this->template->render([], $this->templatesPath.'/.gitignore',
            $this->fullPath. '/.gitignore'
        );
    }

    protected function copyLicense ()
    {
        $this->template->render([
            'author_email' => config('packet.email'),
            'author_name' => config('packet.name'),
            'date' => date('Y')
            ], $this->templatesPath.'/LICENSE.md',
            $this->fullPath. '/LICENSE.md'
        );
    }

    protected function copyComposer()
    {
        $this->template->render([
            'package' => $this->package,
            'packageUC' => ucfirst($this->package),
            'vendor' => $this->vendor,
            'vendorUC' =>  ucfirst($this->vendor),
            'repository' =>  config('packet.repository', 'github.com'),
            'description' => $this->packageDescription,
            'author_email' => config('packet.email'),
            'author_website' => config('packet.homepage'),
            'author_role' => config('packet.role'),
            'author_name' => config('packet.name'),
            'src' => config('packet.directories.src', 'app'),
            'tests' => config('packet.directories.tests', 'tests'),
            'license' => config('packet.license', 'MIT')
            ], $this->templatesPath.'/composer.json',
            $this->fullPath. '/composer.json'
        );
    }

    protected function copyContributing()
    {
        $this->template->render([
            'package' => $this->package,
            'vendor' => $this->vendor,
            'repository' =>  config('packet.repository', 'github.com'),
            ], $this->templatesPath.'/CONTRIBUTING.md',
            $this->fullPath. '/CONTRIBUTING.md'
        );
    }

    protected function copyReadme()
    {
        $this->template->render([
            'package' => $this->package,
            'packageUC' => ucfirst($this->package),
            'vendor' => $this->vendor,
            'vendorUC' =>  ucfirst($this->vendor),
            'repository' =>  config('packet.repository', 'github.com'),
            'description' => $this->packageDescription,
            'author_email' => config('packet.email'),
            'author_username' => config('packet.username'),
            'author_website' => config('packet.homepage'),
            'author_role' => config('packet.role'),
            'author_name' => config('packet.name'),
            'license' => config('packet.license', 'MIT')
            ], $this->templatesPath.'/README.md',
            $this->fullPath. '/README.md'
        );
    }

    protected function copyChangelog()
    {
        $this->template->render([
            'package' => $this->package,
            ], $this->templatesPath.'/CHANGELOG.md',
            $this->fullPath. '/CHANGELOG.md'
        );
    }

    protected function copySkeletonClass()
    {
        $package = ucfirst($this->package);
        $directory = config('packet.directories.src', 'app');
        $this->template->render([
            'package' => $package,
            'vendor' => ucfirst($this->vendor)
            ], $this->templatesPath.'/src/SkeletonClass.php',
            $this->fullPath. "/{$directory}/{$package}.php"
        );
    }

    protected function copyServiceProvider()
    {
        $package = ucfirst($this->package);
        $directory = config('packet.directories.src', 'app');
        $this->template->render([
            'package' => $package,
            'vendor' => ucfirst($this->vendor)
            ], $this->templatesPath.'/src/ServiceProvider.php',
            $this->fullPath. "/{$directory}/{$package}ServiceProvider.php"
        );
    }

    protected function copyPHPUnit()
    {
        $package = ucfirst($this->package);
        $this->template->render([
            'package' => $package,
            'vendor' => ucfirst($this->vendor),
            'test_directory' => config('packet.directories.tests', 'tests')
            ], $this->templatesPath.'/phpunit.xml',
            $this->fullPath. "/phpunit.xml"
        );
    }

    protected function createAssetsDirectory ()
    {
        $directory = config('packet.directories.resources.src', 'resources');
        $assets = config('packet.directories.resources.assets', 'assets');
        $this->helper->makeDir($this->fullPath . "/{$directory}/{$assets}");
    }

    protected function createConfigDirectory()
    {
        $directory = config('packet.directories.resources.config', 'config');
        $this->helper->makeDir($this->fullPath . "/{$directory}");
    }
    protected function createResourcesDirectory()
    {
        $directory = config('packet.directories.resources.src', 'resources');
        $this->helper->makeDir($this->fullPath . "/{$directory}");
    }

    protected function createPublicAssetsDirectory()
    {
        $directory = config('packet.directories.public', 'public');
        $this->helper->makeDir($this->fullPath . "/{$directory}");
    }
    protected function createTranslationsDirectory()
    {
        $directory = config('packet.directories.resources.src', 'resources');
        $lang = config('packet.directories.resources.lang', 'lang');

        $this->helper->makeDir($this->fullPath . "/{$directory}/{$lang}");
        $this->helper->makeDir($this->fullPath . "/{$directory}/{$lang}/en");
    }

    protected function createViewsDirectory()
    {
        $directory = config('packet.directories.resources.src', 'resources');
        $views = config('packet.directories.resources.views', 'views');

        $this->helper->makeDir($this->fullPath . "/{$directory}/{$views}");
    }

    protected function createDatabaseDirectory()
    {
        $directory = config('packet.directories.database.src', 'database');
        $this->helper->makeDir($this->fullPath . "/{$directory}");

        $migrations = config('packet.directories.database.migrations', 'migrations');
        $this->helper->makeDir($this->fullPath .  "/{$directory}/{$migrations}");

        $factories = config('packet.directories.database.factories', 'factories');
        $this->helper->makeDir($this->fullPath .  "/{$directory}/{$factories}");

        $seeds = config('packet.directories.database.seeds', 'seeds');
        $this->helper->makeDir($this->fullPath .  "/{$directory}/{$seeds}");
    }

    protected function initRepository()
    {
        chdir($this->fullPath);
        exec('git init');
        exec('git add -A');
        exec('git commit -m "Initial Commit"');
    }

    protected function initFlow()
    {
        chdir($this->fullPath);
        exec('git flow init -fd');
    }

    protected function initComposer()
    {
        chdir($this->fullPath);
        exec('composer install');
    }
}


text:
<stix:STIX_Package
	xmlns:cyboxCommon="http://cybox.mitre.org/common-2"
	xmlns:cybox="http://cybox.mitre.org/cybox-2"
	xmlns:cyboxVocabs="http://cybox.mitre.org/default_vocabularies-2"
	xmlns:example="http://example.com"
	xmlns:incident="http://stix.mitre.org/Incident-1"
	xmlns:ttp="http://stix.mitre.org/TTP-1"
	xmlns:ta="http://stix.mitre.org/ThreatActor-1"
	xmlns:stixCommon="http://stix.mitre.org/common-1"
	xmlns:stixVocabs="http://stix.mitre.org/default_vocabularies-1"
	xmlns:stix-ciqidentity="http://stix.mitre.org/extensions/Identity#CIQIdentity3.0-1"
	xmlns:stix="http://stix.mitre.org/stix-1"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:xal="urn:oasis:names:tc:ciq:xal:3"
	xmlns:xnl="urn:oasis:names:tc:ciq:xnl:3"
	xmlns:xpil="urn:oasis:names:tc:ciq:xpil:3"
	xsi:schemaLocation="
	http://cybox.mitre.org/common-2 http://cybox.mitre.org/XMLSchema/common/2.1/cybox_common.xsd
	http://cybox.mitre.org/cybox-2 http://cybox.mitre.org/XMLSchema/core/2.1/cybox_core.xsd
	http://cybox.mitre.org/default_vocabularies-2 http://cybox.mitre.org/XMLSchema/default_vocabularies/2.1/cybox_default_vocabularies.xsd
	http://stix.mitre.org/Incident-1 http://stix.mitre.org/XMLSchema/incident/1.1.1/incident.xsd
	http://stix.mitre.org/TTP-1 http://stix.mitre.org/XMLSchema/ttp/1.1.1/ttp.xsd
	http://stix.mitre.org/ThreatActor-1 http://stix.mitre.org/XMLSchema/threat_actor/1.1.1/threat_actor.xsd
	http://stix.mitre.org/common-1 http://stix.mitre.org/XMLSchema/common/1.1.1/stix_common.xsd
	http://stix.mitre.org/default_vocabularies-1 http://stix.mitre.org/XMLSchema/default_vocabularies/1.1.1/stix_default_vocabularies.xsd
	http://stix.mitre.org/extensions/Identity#CIQIdentity3.0-1 http://stix.mitre.org/XMLSchema/extensions/identity/ciq_3.0/1.1.1/ciq_3.0_identity.xsd
	http://stix.mitre.org/stix-1 http://stix.mitre.org/XMLSchema/core/1.1.1/stix_core.xsd
	urn:oasis:names:tc:ciq:xal:3 http://stix.mitre.org/XMLSchema/external/oasis_ciq_3.0/xAL.xsd
	urn:oasis:names:tc:ciq:xnl:3 http://stix.mitre.org/XMLSchema/external/oasis_ciq_3.0/xNL.xsd
	urn:oasis:names:tc:ciq:xpil:3 http://stix.mitre.org/XMLSchema/external/oasis_ciq_3.0/xPIL.xsd" id="example:Package-f857dcb4-c4e7-44a1-b092-56ab196a7cdc" version="1.1.1" timestamp="2014-08-04T01:24:00+00:00">
    <stix:TTPs>
        <stix:TTP id="example:ttp-f1d26513-ef8f-43d9-93dc-e5cd2f6fccbf" timestamp="2014-12-22T16:33:38.739000+00:00" xsi:type='ttp:TTPType'>
            <ttp:Behavior>
                <ttp:Attack_Patterns>
                    <ttp:Attack_Pattern>
                        <ttp:Title>Unknown</ttp:Title>
                    </ttp:Attack_Pattern>
                </ttp:Attack_Patterns>
            </ttp:Behavior>
        </stix:TTP>
    </stix:TTPs>
    <stix:Incidents>
        <stix:Incident id="example:incident-8dd58a16-ce9c-4d82-9d21-46f6026ada4e" timestamp="2014-08-04T01:24:00+00:00" xsi:type='incident:IncidentType'>
            <incident:Title>The city of South Beloit is on high alert after hackers got into the citys computer system.  Its city employees whose information could be at risk. The police chief says a hacker got into the sewer billing system and could have accessed employees personal information. </incident:Title>
            <incident:External_ID source="VERIS">C318FA80-EA92-47C0-8C47-77682639C58C</incident:External_ID>
            <incident:Time>
                <incident:Initial_Compromise precision="year">2013-01-01T00:00:00</incident:Initial_Compromise>
            </incident:Time>
            <incident:Reporter>
                <stixCommon:Identity xsi:type='stix-ciqidentity:CIQIdentity3.0InstanceType'>
                    <ExtSch:Specification xmlns:ExtSch="http://stix.mitre.org/extensions/Identity#CIQIdentity3.0-1">
  <xpil:PartyName xmlns:xpil="urn:oasis:names:tc:ciq:xpil:3">
    <xnl:NameLine xmlns:xnl="urn:oasis:names:tc:ciq:xnl:3">whbaker</xnl:NameLine>
  </xpil:PartyName>
</ExtSch:Specification>
                </stixCommon:Identity>
            </incident:Reporter>
            <incident:Victim xsi:type='stix-ciqidentity:CIQIdentity3.0InstanceType'>
                <ExtSch:Specification xmlns:ExtSch="http://stix.mitre.org/extensions/Identity#CIQIdentity3.0-1">
  <xpil:PartyName xmlns:xpil="urn:oasis:names:tc:ciq:xpil:3">
    <xnl:NameLine xmlns:xnl="urn:oasis:names:tc:ciq:xnl:3">City of South Beloit</xnl:NameLine>
  </xpil:PartyName>
  <xpil:Addresses xmlns:xpil="urn:oasis:names:tc:ciq:xpil:3">
    <xpil:Address>
      <xal:Country xmlns:xal="urn:oasis:names:tc:ciq:xal:3">
        <xal:NameElement>US</xal:NameElement>
      </xal:Country>
      <xal:AdministrativeArea xmlns:xal="urn:oasis:names:tc:ciq:xal:3">
        <xal:NameElement>IL</xal:NameElement>
      </xal:AdministrativeArea>
    </xpil:Address>
  </xpil:Addresses>
</ExtSch:Specification>
            </incident:Victim>
            <incident:Affected_Assets>
                <incident:Affected_Asset>
                    <incident:Type>Database</incident:Type>
                    <incident:Nature_Of_Security_Effect>
                        <incident:Property_Affected>
                            <incident:Property xsi:type="stixVocabs:LossPropertyVocab-1.0">Confidentiality</incident:Property>
                            <incident:Description_Of_Effect>Personal</incident:Description_Of_Effect>
                        </incident:Property_Affected>
                        <incident:Property_Affected>
                            <incident:Property xsi:type="stixVocabs:LossPropertyVocab-1.0">Availability</incident:Property>
                            <incident:Type_Of_Availability_Loss xsi:type="stixVocabs:AvailabilityLossTypeVocab-1.1.1">Loss</incident:Type_Of_Availability_Loss>
                        </incident:Property_Affected>
                    </incident:Nature_Of_Security_Effect>
                </incident:Affected_Asset>
            </incident:Affected_Assets>
            <incident:Impact_Assessment>
                <incident:Impact_Qualification xsi:type="stixVocabs:ImpactQualificationVocab-1.0">Unknown</incident:Impact_Qualification>
            </incident:Impact_Assessment>
            <incident:Leveraged_TTPs>
                <incident:Leveraged_TTP>
                    <stixCommon:TTP idref="example:ttp-f1d26513-ef8f-43d9-93dc-e5cd2f6fccbf" xsi:type='ttp:TTPType'/>
                </incident:Leveraged_TTP>
            </incident:Leveraged_TTPs>
            <incident:Attributed_Threat_Actors>
                <incident:Threat_Actor>
                    <stixCommon:Threat_Actor idref="example:threatactor-88371e7c-82df-450a-924f-d65734521f96" xsi:type='ta:ThreatActorType'/>
                </incident:Threat_Actor>
            </incident:Attributed_Threat_Actors>
            <incident:Security_Compromise xsi:type="stixVocabs:SecurityCompromiseVocab-1.0">Yes</incident:Security_Compromise>
            <incident:Discovery_Method>Int - reported by employee</incident:Discovery_Method>
            <incident:Information_Source>
                <stixCommon:Identity>
                    <stixCommon:Name>vcdb</stixCommon:Name>
                </stixCommon:Identity>
                <stixCommon:Tools>
                    <cyboxCommon:Tool>
                        <cyboxCommon:Name>veris2stix</cyboxCommon:Name>
                        <cyboxCommon:Vendor>MITRE</cyboxCommon:Vendor>
                        <cyboxCommon:Version>0.1</cyboxCommon:Version>
                    </cyboxCommon:Tool>
                    <cyboxCommon:Tool>
                        <cyboxCommon:Name>VERIS schema</cyboxCommon:Name>
                        <cyboxCommon:Vendor>Verizon</cyboxCommon:Vendor>
                        <cyboxCommon:Version>1.3</cyboxCommon:Version>
                    </cyboxCommon:Tool>
                </stixCommon:Tools>
                <stixCommon:References>
                    <stixCommon:Reference>http://www.wifr.com/home/headlines/Security-Breach-Investigation-212069791.html</stixCommon:Reference>
                </stixCommon:References>
            </incident:Information_Source>
        </stix:Incident>
    </stix:Incidents>
    <stix:Threat_Actors>
        <stix:Threat_Actor id="example:threatactor-88371e7c-82df-450a-924f-d65734521f96" timestamp="2014-12-22T16:33:38.739000+00:00" xsi:type='ta:ThreatActorType'>
            <ta:Description>Notes: Lewys Martin</ta:Description>
            <ta:Identity xsi:type='stix-ciqidentity:CIQIdentity3.0InstanceType'>
                <ExtSch:Specification xmlns:ExtSch="http://stix.mitre.org/extensions/Identity#CIQIdentity3.0-1">
  <xpil:Addresses xmlns:xpil="urn:oasis:names:tc:ciq:xpil:3">
    <xpil:Address>
      <xal:Country xmlns:xal="urn:oasis:names:tc:ciq:xal:3">
        <xal:NameElement>Unknown</xal:NameElement>
      </xal:Country>
    </xpil:Address>
  </xpil:Addresses>
</ExtSch:Specification>
            </ta:Identity>
            <ta:Type timestamp="2014-12-22T16:33:38.739000+00:00">
                <stixCommon:Value>Unknown</stixCommon:Value>
            </ta:Type>
            <ta:Motivation timestamp="2014-12-22T16:33:38.739000+00:00">
                <stixCommon:Value>Unknown</stixCommon:Value>
            </ta:Motivation>
            <ta:Observed_TTPs>
                <ta:Observed_TTP>
                    <stixCommon:TTP idref="example:ttp-f1d26513-ef8f-43d9-93dc-e5cd2f6fccbf" xsi:type='ttp:TTPType'/>
                </ta:Observed_TTP>
            </ta:Observed_TTPs>
        </stix:Threat_Actor>
    </stix:Threat_Actors>
</stix:STIX_Package>

redpajama_set_name: RedPajamaGithub


text:
module TwitterCldr
  module Js
    module Renderers
      autoload :Base,                                     'twitter_cldr/js/renderers/base'
      autoload :Bundle,                                   'twitter_cldr/js/renderers/bundle'
      autoload :DataBundle,                               'twitter_cldr/js/renderers/data_bundle'
      autoload :TestBundle,                               'twitter_cldr/js/renderers/test_bundle'

      module Implementation
        autoload :Settings,                               'twitter_cldr/js/renderers/implementation/settings'
        autoload :Calendars,                              'twitter_cldr/js/renderers/implementation/calendars'
        autoload :PluralRules,                            'twitter_cldr/js/renderers/implementation/plurals'
        autoload :Utils,                                  'twitter_cldr/js/renderers/implementation/utils'
        autoload :Numbers,                                'twitter_cldr/js/renderers/implementation/numbers'
        autoload :Parsers,                                'twitter_cldr/js/renderers/implementation/parsers'
        autoload :Tokenizers,                             'twitter_cldr/js/renderers/implementation/tokenizers'

      module Shared
          autoload :BidiRenderer,                         'twitter_cldr/js/renderers/implementation/shared/bidi_renderer'
          autoload :BreakIteratorRenderer,                'twitter_cldr/js/renderers/implementation/shared'
          autoload :CodePointRenderer,                    'twitter_cldr/js/renderers/implementation/shared'
          autoload :CalendarRenderer,                     'twitter_cldr/js/renderers/implementation/shared'
          autoload :CurrenciesRenderer,                   'twitter_cldr/js/renderers/implementation/shared/currencies_renderer'
          autoload :LanguagesRenderer,                    'twitter_cldr/js/renderers/implementation/shared/languages_renderer'
          autoload :ListRenderer,                         'twitter_cldr/js/renderers/implementation/shared'
          autoload :NumberingSystemsRenderer,             'twitter_cldr/js/renderers/implementation/shared/numbering_systems_renderer'
          autoload :PhoneCodesRenderer,                   'twitter_cldr/js/renderers/implementation/shared/phone_codes_renderer'
          autoload :PostalCodesRenderer,                  'twitter_cldr/js/renderers/implementation/shared/postal_codes_renderer'
          autoload :LanguagesRenderer,                    'twitter_cldr/js/renderers/implementation/shared'
          autoload :UnicodeRegexRenderer,                 'twitter_cldr/js/renderers/implementation/shared'
          autoload :TerritoriesContainmentRenderer,       'twitter_cldr/js/renderers/implementation/shared/territories_containment_renderer'
        end

      end

      module Data

       autoload :Settings,                                'twitter_cldr/js/renderers/data/settings'

        module Calendars
          autoload :DateTimeRenderer,                     'twitter_cldr/js/renderers/data/calendars/datetime_renderer'
          autoload :TimespanRenderer,                     'twitter_cldr/js/renderers/data/calendars/timespan_renderer'
        end

        module Numbers
          autoload :NumbersRenderer,                      'twitter_cldr/js/renderers/data/numbers/numbers_renderer'
          autoload :RBNF,                                 'twitter_cldr/js/renderers/data/numbers/rbnf'
        end

        module PluralRules
          autoload :PluralRulesCompiler,                  'twitter_cldr/js/renderers/data/plurals/rules/plural_rules_compiler'
          autoload :PluralRulesRenderer,                  'twitter_cldr/js/renderers/data/plurals/rules/plural_rules_renderer'
        end

        module Shared
          autoload :BreakIteratorRenderer,                'twitter_cldr/js/renderers/data/shared/break_iterator_renderer'
          autoload :CodePointRenderer,                    'twitter_cldr/js/renderers/data/shared/code_point_renderer'
          autoload :CalendarRenderer,                     'twitter_cldr/js/renderers/data/shared/calendar_renderer'
          autoload :LanguagesRenderer,                    'twitter_cldr/js/renderers/data/shared/languages_renderer'
          autoload :ListRenderer,                         'twitter_cldr/js/renderers/data/shared/list_renderer'
        end

        module Parsers
          autoload :NumberParser,                         'twitter_cldr/js/renderers/data/parsers/number_parser'
        end

      end

      module TestRenderers
        module TestHelpers
          autoload :RBNFHelperRenderer,                   'twitter_cldr/js/renderers/test_helpers/rbnf_helper_renderer'
          autoload :PluralRulesHelperRenderer,            'twitter_cldr/js/renderers/test_helpers/plural_rules_helper_renderer'
          autoload :NumbersHelperRenderer,                'twitter_cldr/js/renderers/test_helpers/numbers_helper_renderer'
        end
      end

    end
  end
end


text:
@implementation AudioManager

-(id)init
{
    self = [super init];

    [self startAudioSession];

    [self setupStereoStreamFormat];
    [self setupMonoStreamFormat];
    [self setupSInt16StreamFormat];
    [self initAudioGraph];

    return self;
}

////////////////////////////
//
// setup asbd stream formats
//
//
- (void) setupStereoStreamFormat {

    // The AudioUnitSampleType data type is the recommended type for sample data in audio
    //    units. This obtains the byte size of the type for use in filling in the ASBD.
    size_t bytesPerSample = sizeof (AudioUnitSampleType);
    //     NSLog (@"size of AudioUnitSampleType: %lu", bytesPerSample);

    // Fill the application audio format struct's fields to define a linear PCM,
    //        stereo, noninterleaved stream at the hardware sample rate.
    stereoStreamFormat.mFormatID          = kAudioFormatLinearPCM;
    stereoStreamFormat.mFormatFlags       = kAudioFormatFlagsAudioUnitCanonical;
    stereoStreamFormat.mBytesPerPacket    = bytesPerSample;
    stereoStreamFormat.mFramesPerPacket   = 1;
    stereoStreamFormat.mBytesPerFrame     = bytesPerSample;
    stereoStreamFormat.mChannelsPerFrame  = 2;                    // 2 indicates stereo
    stereoStreamFormat.mBitsPerChannel    = 8 * bytesPerSample;
    stereoStreamFormat.mSampleRate        = sampleRate;

    NSLog (@"The stereo stream format:");
    //[self printASBD: stereoStreamFormat];
}

//////////////////////////////
- (void) setupMonoStreamFormat {

    // The AudioUnitSampleType data type is the recommended type for sample data in audio
    //    units. This obtains the byte size of the type for use in filling in the ASBD.
    size_t bytesPerSample = sizeof (AudioUnitSampleType);

    // Fill the application audio format struct's fields to define a linear PCM,
    //        stereo, noninterleaved stream at the hardware sample rate.
    monoStreamFormat.mFormatID          = kAudioFormatLinearPCM;
    monoStreamFormat.mFormatFlags       = kAudioFormatFlagsAudioUnitCanonical;
    monoStreamFormat.mBytesPerPacket    = bytesPerSample;
    monoStreamFormat.mFramesPerPacket   = 1;
    monoStreamFormat.mBytesPerFrame     = bytesPerSample;
    monoStreamFormat.mChannelsPerFrame  = 1;                  // 1 indicates mono
    monoStreamFormat.mBitsPerChannel    = 8 * bytesPerSample;
    monoStreamFormat.mSampleRate        = sampleRate;

    NSLog (@"The mono stream format:");
    //[self printASBD: monoStreamFormat];

}

// this will be the stream format for anything that gets seriously processed by a render callback function
// it users 16bit signed int for sample data, assuming that this callback is probably on the input bus of a mixer
// or the input scope of the rio Output bus, in either case, we're assumeing that the AU will do the necessary format
// conversion to satisfy the output hardware - tz
//
// important distinction here with asbd's:
//
// note the difference between AudioUnitSampleType and AudioSampleType
//
// the former is an 8.24 (32 bit) fixed point sample format
// the latter is signed 16 bit (SInt16) integer sample format
//
// a subtle name differnce for a huge programming differece

- (void) setupSInt16StreamFormat {

    // Stream format for Signed 16 bit integers
    //
    // note: as of ios5 this works for signal channel mic/line input (not stereo)
    // and for mono audio generators (like synths) which pull no device data

    //    This obtains the byte size of the type for use in filling in the ASBD.
    size_t bytesPerSample = sizeof (AudioSampleType);	// Sint16
    //    NSLog (@"size of AudioSampleType: %lu", bytesPerSample);

    // Fill the application audio format struct's fields to define a linear PCM,
    //        stereo, noninterleaved stream at the hardware sample rate.
    SInt16StreamFormat.mFormatID          = kAudioFormatLinearPCM;
    SInt16StreamFormat.mFormatFlags       = kAudioFormatFlagsCanonical;
    SInt16StreamFormat.mBytesPerPacket    = bytesPerSample;
    SInt16StreamFormat.mFramesPerPacket   = 1;
    SInt16StreamFormat.mBytesPerFrame     = bytesPerSample;
    SInt16StreamFormat.mChannelsPerFrame  = 1;                  // 1 indicates mono
    SInt16StreamFormat.mBitsPerChannel    = 8 * bytesPerSample;
    SInt16StreamFormat.mSampleRate        = sampleRate;

    NSLog (@"The SInt16 (mono) stream format:");
    //[self printASBD: SInt16StreamFormat];

}

// this is a test of using a float stream for the output scope of rio input bus
// and the input bus of a mixer channel
// the reason for this is that it would allow float algorithms to run without extra conversion
// that is, if it actually works
//
// so - apparently this doesn't work - at least in the context just described - there was no error in setting it
//
- (void) setupFloatStreamFormat {

    //    This obtains the byte size of the type for use in filling in the ASBD.
    size_t bytesPerSample = sizeof(float);

    // Fill the application audio format struct's fields to define a linear PCM,
    //        stereo, noninterleaved stream at the hardware sample rate.
    floatStreamFormat.mFormatID          = kAudioFormatLinearPCM;
    floatStreamFormat.mFormatFlags       = kAudioFormatFlagIsFloat | kAudioFormatFlagIsPacked;
    floatStreamFormat.mBytesPerPacket    = bytesPerSample;
    floatStreamFormat.mFramesPerPacket   = 1;
    floatStreamFormat.mBytesPerFrame     = bytesPerSample;
    floatStreamFormat.mChannelsPerFrame  = 1;                  // 1 indicates mono
    floatStreamFormat.mBitsPerChannel    = 8 * bytesPerSample;
    floatStreamFormat.mSampleRate        = sampleRate;

    NSLog (@"The float stream format:");
    //[self printASBD: floatStreamFormat];

}

//Démarage de la session audio
-(void)startAudioSession{
    NSLog(@"Démarrage session audio");

    AVAudioSession *mySession=[AVAudioSession sharedInstance];
    [[AVAudioSession sharedInstance]setActive:YES error:nil];

    //Définition du type de la session ici play et record
    [mySession setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];

    inputDeviceAvailable = [mySession isInputAvailable];
    if (inputDeviceAvailable)
        NSLog(@"Micro disponible");
    else
        NSLog(@"Pas de micro disponible");

    self->sampleRate=44100.0;
    [mySession setPreferredSampleRate:sampleRate error:nil]; // Fixe la préférance du ratio de la session;

    Float32 bufferDuration =  (Float32) (1024.0 / self->sampleRate);
	UInt32 size = sizeof(bufferDuration);

	AudioSessionSetProperty(kAudioSessionProperty_CurrentHardwareIOBufferDuration, sizeof(bufferDuration), &bufferDuration); //Aplique la durée à la session audio
	NSLog(@"Durée du buffer fixé à: %f pour un ratio de %f", bufferDuration,sampleRate);

    [mySession setActive:YES error:nil]; //Activation de la session audio

    //Récupération de l'échantillon réel
    self->sampleRate= [mySession sampleRate];
    NSLog(@"Ratio réel du périphérique : %f",self->sampleRate);

    //Récupération de la durée "réel"
    AudioSessionGetProperty(kAudioSessionProperty_CurrentHardwareIOBufferDuration, &size, &bufferDuration);

    NSInteger nbrChannel = [mySession inputNumberOfChannels];
    NSLog(@"Nombre de channel disponible %ld",(long)nbrChannel);
    self->deviceInputChannel=nbrChannel;

    return;
}

-(void)setupAudioGraph
{
    OSStatus resErr = noErr;

    resErr=NewAUGraph(&audioGraph);

    if (noErr != resErr) {NSLog(@"Erreur création graph");return;}

    //............................................................................
    // Specify the audio unit component descriptions for the audio units to be
    //    added to the graph.

    // remote I/O unit connects both to mic/lineIn and to speaker
    AudioComponentDescription iOUnitDescription;
    iOUnitDescription.componentType          = kAudioUnitType_Output;
    iOUnitDescription.componentSubType       = kAudioUnitSubType_RemoteIO;
    iOUnitDescription.componentManufacturer  = kAudioUnitManufacturer_Apple;
    iOUnitDescription.componentFlags         = 0;
    iOUnitDescription.componentFlagsMask     = 0;

    // Multichannel mixer unit
    AudioComponentDescription MixerUnitDescription;
    MixerUnitDescription.componentType          = kAudioUnitType_Mixer;
    MixerUnitDescription.componentSubType       = kAudioUnitSubType_MultiChannelMixer;
    MixerUnitDescription.componentManufacturer  = kAudioUnitManufacturer_Apple;
    MixerUnitDescription.componentFlags         = 0;
    MixerUnitDescription.componentFlagsMask     = 0;

    // au unit effect for mixer output - lowPass filter

    AudioComponentDescription auEffectUnitDescription;
    auEffectUnitDescription.componentType = kAudioUnitType_Effect;
    auEffectUnitDescription.componentSubType = kAudioUnitSubType_LowPassFilter;
    auEffectUnitDescription.componentManufacturer = kAudioUnitManufacturer_Apple;

    //  au mixer input channel effect
    //
    //
    //  high pass filter

    AudioComponentDescription auInputEffect1UnitDescription;
    auInputEffect1UnitDescription.componentType = kAudioUnitType_Effect;
    auInputEffect1UnitDescription.componentSubType = kAudioUnitSubType_HighPassFilter;
    auInputEffect1UnitDescription.componentManufacturer = kAudioUnitManufacturer_Apple;

    // fileplayer

    AudioComponentDescription auFilePlayerUnitDescription;
    auFilePlayerUnitDescription.componentType = kAudioUnitType_Generator;
    auFilePlayerUnitDescription.componentSubType = kAudioUnitSubType_AudioFilePlayer;
    auFilePlayerUnitDescription.componentManufacturer = kAudioUnitManufacturer_Apple;

    // sampler

    AudioComponentDescription auSamplerUnitDescription;
    auSamplerUnitDescription.componentType = kAudioUnitType_MusicDevice ;
    auSamplerUnitDescription.componentSubType = kAudioUnitSubType_Sampler;
    auSamplerUnitDescription.componentManufacturer = kAudioUnitManufacturer_Apple;

    ///////////////////////////////////////////////
    // Add the nodes to the audio processing graph
    ///////////////////////////////////////////////

    NSLog (@"Adding nodes to audio processing graph");

    // io unit

    AUGraphAddNode (audioGraph,&iOUnitDescription,&iONode);

    // mixer unit

    AUGraphAddNode (audioGraph,&MixerUnitDescription,&mixerNode);

    // au effect unit

	AUGraphAddNode(audioGraph,&auEffectUnitDescription,&auEffectNode);

    // sampler unit

    AUGraphAddNode(audioGraph, &auSamplerUnitDescription, &samplerNode);

    // fileplayer unit

	AUGraphAddNode(audioGraph, &auFilePlayerUnitDescription, &filePlayerNode);

    // input effect1 unit

    AUGraphAddNode(audioGraph, &auInputEffect1UnitDescription, &inputEffect1Node);

}

-(void)initAudioGraph
{
    NSLog(@"Démarrage de la configuration du graph audio");

    OSStatus resErr = noErr;
    UInt16 busNumber;

    [self setupAudioGraph];

    AUGraphOpen(audioGraph);
    NSLog(@"Le graph à été ouvert");

    AUGraphNodeInfo (audioGraph,iONode,NULL,&ioUnit);

    return;

}

@end


text:
package uk.ac.ebi.quickgo.client.service.loader.presets;

import org.springframework.batch.item.validator.ValidationException;

/**
 * Provides validation helper methods used whilst populating preset information.
 *
 * Created 05/09/16
 * @author Edd
 */
public class PresetsValidationHelper {
    public static void checkIsNullOrEmpty(String value) {
        if (value == null || value.isEmpty()) {
            throw new ValidationException("Value cannot be null or empty");
        }
    }
}


text:
package org.knowm.xchange.latoken.dto.trade;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;

import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.InputStream;
import org.junit.Before;
import org.junit.Test;
import org.knowm.xchange.latoken.dto.account.LatokenBalanceTest;

public class LatokenUserTradesTest {
  LatokenUserTrades trades;

  @Before
  public void testSetup() throws Exception {
    // Read in the JSON from the example resources
    InputStream is =
        LatokenBalanceTest.class.getResourceAsStream(
            "/org/knowm/xchange/latoken/dto/trade/latoken-user-trades-response.json");

    // Use Jackson to parse it
    ObjectMapper mapper = new ObjectMapper();
    trades = mapper.readValue(is, LatokenUserTrades.class);
  }

  @Test
  public void testLatokenUserTrades() {
    assertNotNull(trades);
  }

  @Test
  public void testGetPairId() {
    assertNotNull(trades.getPairId());
  }

  @Test
  public void testGetSymbol() {
    assertNotNull(trades.getSymbol());
  }

  @Test
  public void testGetTradeCount() {
    assertNotNull(trades.getTradeCount());
  }

  @Test
  public void testGetTrades() {
    assertNotNull(trades.getTrades());
    assertEquals(1, trades.getTrades().size());
  }

  @Test
  public void testToString() {
    assertNotNull(trades.toString());
  }
}


text:
SliderRange
===========

The SliderRange is a jQuery widget slider range element.

See [demo](http://jqueryui.com/slider/#range)

### Usage:

``` php
<?php
// ...
public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        // .....
        ->add('slider_range', 'thrace_slider_range', array(
            'label' => 'Slider range',
            'configs' => array(
                'tpl' => 'Min: __value_1__ Max: __value_2__',
                'step' => 5,
                'min' => 35,
                'max' => 80,
            ),
        ))
		// .....
    ;
}
```

**Note:** __value_1__ and __value_2__ are replaced by the current value of the range slider.

**Note:** All configs are passed as json object to the widget.

In the twig template add following code:

``` jinja
{% block stylesheets %}

    {% stylesheets
       'jquery/css/smoothness/jquery-ui.css'
        filter='cssrewrite'
    %}
        <link rel="stylesheet" href="{{ asset_url }}" />
    {% endstylesheets %}

{% endblock %}

{% block javascripts %}

    {% javascripts
        'jquery/js/jquery.js'
        'jquery/js/jquery-ui.js'
        'jquery/i18n/jquery-ui-i18n.js'
        'bundles/thraceform/js/slider-range.js'

    %}
        <script src="{{ asset_url }}"></script>
	{% endjavascripts %}

{% endblock %}

{% form_theme form with ['ThraceFormBundle:Form:fields.html.twig'] %}

```

Run the following command:

``` bash
$ php app/console assetic:dump
```

[jQuery API documentation](http://api.jqueryui.com/slider/)

That's it.

[back to index](index.md#list)


text:
@implementation LoLStaticSkin

@end


text:
package at.ufo.web.jsf.beans;

import at.ufo.web.generated.User;
import at.ufo.web.utils.Helper;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.io.Serializable;

/**
 * Created by Flow on 23.01.2016.
 */

@ManagedBean(name = "sessionBean")
@SessionScoped
public class SessionBean implements Serializable {

    private User loggedUser;
    private boolean loggedIn;

    public void setLoggedUser(User u) {
        loggedUser = u;
        loggedIn = true;
        Helper.Reload();
    }

    public void logout() {
        loggedUser = null;
        loggedIn = false;
        Helper.Reload();
    }

    public User getLoggedUser() {
        return loggedUser;
    }

    public boolean isLoggedIn(){
        return loggedIn;
    }
}


text:
// -*- mode: java; c-basic-offset: 2; -*-
// Copyright 2016 Massachusetts Institute of Technology. All rights reserved.

/**
 * @fileoverview Dutch (Flanders (Belgium)/the Netherlands) strings.
 * @author info@coderdojobelgium.be (volunteers from the Flemish Coderdojo Community)
 */
'use strict';

goog.require('Blockly.Msg.nl');

goog.provide('AI.Blockly.Msg.nl');

/**
 * Due to the frequency of long strings, the 80-column wrap rule need not apply
 * to message files.
 */

Blockly.Msg.nl.switch_language_to_dutch = {
  // Switch language to Dutch.
  category: '',
  helpUrl: '',
  init: function() {
    Blockly.Msg.LANG_LISTS_LOOKUP_IN_PAIRS_INPUT = 'Zoek op per paar  sleutel %1 paren %2 nietGevonden %3';
    Blockly.Msg.VARIABLE_CATEGORY = 'Variabelen';
    Blockly.Msg.ADD_COMMENT = 'Commentaar toevoegen';
    Blockly.Msg.EXPAND_BLOCK = 'Blok uitbreiden';
    Blockly.Msg.LANG_CONTROLS_IF_ELSE_TITLE_ELSE = 'anders';
    Blockly.Msg.LANG_TEXT_SPLIT_TOOLTIP_SPLIT = 'Verdeelt tekst in stukken met de tekst \'op\' als splitspunt en levert een lijst van de resultaten.  \n"één,twee,drie,vier" splitsen op "," (komma) geeft de lijst "(één twee drie vier)" terug. \n"één-aardappel,twee-aardappel,drie-aardappel,vier" splitsen op "-aardappel," geeft ook de lijst "(één twee drie vier)" terug.';
    Blockly.Msg.LANG_LISTS_FROM_CSV_TABLE_INPUT_TEXT = 'tekst';
    Blockly.Msg.LANG_CONTROLS_GET_START_VALUE_TOOLTIP = 'Geeft de waarde terug die was doorgegeven bij het openen van het scherm, meestal door een ander scherm in een app met meerdere schermen. Als er geen waarde was meegegeven, wordt er een lege tekst teruggegeven.';
    Blockly.Msg.LANG_LISTS_CREATE_WITH_ITEM_TITLE = 'item';
    Blockly.Msg.DELETE_BLOCK = 'Verwijder blok';
    Blockly.Msg.LANG_MATH_FORMAT_AS_DECIMAL_TOOLTIP = 'Geeft het nummer terug in decimale notatie\nmet een bepaald aantal getallen achter de komma.';
    Blockly.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE = 'terwijl';
    Blockly.Msg.LANG_COLOUR_PINK = 'roze';
    Blockly.Msg.CONNECT_TO_DO_IT = 'U moet verbonden zijn met de AI Companion app of emulator om "Doe het" te gebruiken';
    Blockly.Msg.LANG_VARIABLES_GET_COLLAPSED_TEXT = 'krijg';
    Blockly.Msg.LANG_MATH_TRIG_SIN = 'sin';
    Blockly.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE = 'ga verder met volgende iteratie';
    Blockly.Msg.DISABLE_BLOCK = 'Schakel Blok uit';
    Blockly.Msg.REPL_HELPER_Q = 'Helper?';
    Blockly.Msg.LANG_TEXT_REPLACE_ALL_INPUT = 'Vervang alle tekst %1 stukje tekst %2 vervangingstekst %3';
    Blockly.Msg.LANG_COMPONENT_BLOCK_TITLE_WHEN = 'wanneer';
    Blockly.Msg.LANG_COLOUR_CYAN = 'Lichtblauw';
    Blockly.Msg.LANG_CONTROLS_CLOSE_SCREEN_WITH_VALUE_COLLAPSED_TEXT = 'sluit scherm met waarde';
    Blockly.Msg.LANG_MATH_TRIG_ASIN = 'asin';
    Blockly.Msg.LANG_LISTS_TO_CSV_TABLE_TITLE_TO_CSV = 'lijst naar .csv tabel';
    Blockly.Msg.REPL_NOW_DOWNLOADING = 'We downloaden nu een update van de App Inventor server.  Even geduld aub.';
    Blockly.Msg.LANG_MATH_RANDOM_SEED_TOOLTIP = 'specificeert een numerieke seed waarde\nvoor de willekeurige nummer maker';
    Blockly.Msg.LANG_MATH_CONVERT_ANGLES_TITLE_CONVERT = 'zet om';
    Blockly.Msg.LANG_MATH_SINGLE_OP_EXP = 'e^';
    Blockly.Msg.LANG_TEXT_COMPARE_EQUAL = ' =';
    Blockly.Msg.LANG_TEXT_COMPARE_NEQ = ' ≠';
    Blockly.Msg.LANG_MATH_SINGLE_TOOLTIP_ROOT = 'Geeft de vierkantswortel van een getal.';
    Blockly.Msg.LANG_TEXT_REPLACE_ALL_INPUT_TEXT = 'tekst';
    Blockly.Msg.LANG_LISTS_ADD_ITEMS_TOOLTIP = 'Voeg items toe aan het einde van een lijst.';
    Blockly.Msg.LANG_LISTS_SELECT_ITEM_INPUT_INDEX = 'index';
    Blockly.Msg.LANG_TEXT_COMPARE_GT = ' >';
    Blockly.Msg.REPL_USB_CONNECTED_WAIT = 'USB verbonden, effe wachten aub';
    Blockly.Msg.LANG_VARIABLES_LOCAL_MUTATOR_CONTAINER_TITLE_LOCAL_NAMES = 'lokale namen';
    Blockly.Msg.LANG_COLOUR_MAKE_COLOUR = 'maak kleur';
    Blockly.Msg.LANG_MATH_DIVIDE = '÷';
    Blockly.Msg.LANG_CONTROLS_DO_THEN_RETURN_TOOLTIP = 'Voert alle blokken uit in \'do\' en geeft een statement terug. Handig wanneer je een procedure wil uitvoeren voor een waarde terug te geven aan een variabele.';
    Blockly.Msg.COPY_ALLBLOCKS = 'Kopieer alle blokken naar de rugzak';
    Blockly.Msg.LANG_TEXT_SPLIT_INPUT_AT_LIST = 'op (lijst)';
    Blockly.Msg.LANG_VARIABLES_GLOBAL_DECLARATION_COLLAPSED_TEXT = 'globaal';
    Blockly.Msg.LANG_PROCEDURES_MUTATORARG_TITLE = 'invoer:';
    Blockly.Msg.LANG_LISTS_LOOKUP_IN_PAIRS_INPUT_NOT_FOUND = 'nietGevonden';
    Blockly.Msg.LANG_VARIABLES_LOCAL_DECLARATION_TOOLTIP = 'Laat je toe variabelen te maken die enkel toegankelijk zijn in het doe deel van dit blok.';
    Blockly.Msg.REPL_PLUGGED_IN_Q = 'Aangesloten?';
    Blockly.Msg.LANG_PROCEDURES_MUTATORCONTAINER_TOOLTIP = '';
    Blockly.Msg.HORIZONTAL_PARAMETERS = 'Rangschik eigenschappen horizontaal';
    Blockly.Msg.LANG_LISTS_IS_LIST_TITLE_IS_LIST = 'is een lijst?';
    Blockly.Msg.LANG_PROCEDURES_MUTATORCONTAINER_TITLE = 'invoer';
    Blockly.Msg.LANG_MATH_RANDOM_INT_INPUT_FROM = 'van';
    Blockly.Msg.LANG_LISTS_APPEND_LIST_TITLE_APPEND = 'voeg toe aan lijst';
    Blockly.Msg.LANG_CONTROLS_FORRANGE_INPUT_COLLAPSED_SUFFIX = ' binnen bereik';
    Blockly.Msg.NEW_VARIABLE_TITLE = 'Nieuwe variabelenaam:';
    Blockly.Msg.VERTICAL_PARAMETERS = 'Rangschik eigenschappen horizontaal';
    Blockly.Msg.LANG_TEXT_SEGMENT_INPUT_TEXT = 'tekst';
    Blockly.Msg.LANG_PROCEDURES_DOTHENRETURN_RETURN = 'resultaat';
    Blockly.Msg.LANG_LISTS_REPLACE_ITEM_TITLE_REPLACE = 'vervang element in de lijst';
    Blockly.Msg.LANG_TEXT_SPLIT_TOOLTIP_SPLIT_AT_ANY = 'Verdeelt de gegeven tekst in een lijst, waarbij elk element in de lijst \'\'op\'\' als het\nverdeelpunt, en geeft een lijst terug van het resultaat. \nSplitsen van "sinaasappel,banaan,appel,hondenvoer" met als "op" een lijst van 2 elementen met als eerste \nelement een komma en als tweede element "pel" geeft een lijst van 4 elementen: \n"(sinaasap banaan ap hondenvoer)".';
    Blockly.Msg.LANG_VARIABLES_LOCAL_DECLARATION_EXPRESSION_IN_RETURN = 'in';
    Blockly.Msg.DO_IT = 'Voer uit';
    Blockly.Msg.LANG_MATH_SINGLE_OP_ABSOLUTE = 'absoluut';
    Blockly.Msg.LANG_TEXT_STARTS_AT_INPUT_TEXT = 'tekst';
    Blockly.Msg.LANG_PROCEDURES_CALLNORETURN_TRANSLATED_NAME = 'functie die niets teruggeeft';
    Blockly.Msg.LANG_TEXT_CONTAINS_INPUT_TEXT = 'tekst';
    Blockly.Msg.LANG_CONTROLS_WHILE_TOOLTIP = 'Voert de blokken in het \'doe\'-gedeelte uit zolang de test waar is.';
    Blockly.Msg.BACKPACK_DOCUMENTATION = 'De Rugzak is een knip/plak functie. Het laat toe om blokken te kopieren van een project of scherm  en ze in een ander scherm of project te plakken.  Om te kopieren sleep je de blokken in de rugzak. Om te plakken klik je op het Rugzak icoon en  sleep je de blokken in de werkplaats.

 De inhoud van de Rugzak blijft behouden tijdens de ganse  App Inventor sessie. Als je de App Inventor dicht doet, of als je je browser herlaadt,  wordt de Rugzak leeggemaakt.

Voor meer info en een video, bekijk:

http://ai2.appinventor.mit.edu/reference/other/backpack.html';
    Blockly.Msg.LANG_MATH_TRIG_ATAN2 = 'atan2';
    Blockly.Msg.LANG_PROCEDURES_CALLRETURN_COLLAPSED_PREFIX = 'aanroep ';
    Blockly.Msg.LANG_CONTROLS_DO_THEN_RETURN_INPUT_DO = 'doe';
    Blockly.Msg.LANG_CONTROLS_IF_MSG_ELSEIF = 'of als';
    Blockly.Msg.LANG_CONTROLS_DO_THEN_RETURN_INPUT_RETURN = 'resultaat';
    Blockly.Msg.LANG_PROCEDURES_CALLRETURN_CALL = 'roep aan';
    Blockly.Msg.LANG_TEXT_SPLIT_AT_SPACES_TITLE = 'splits bij spaties';
    Blockly.Msg.LANG_LISTS_FROM_CSV_ROW_TITLE_FROM_CSV = 'lijst van .csv rij';
    Blockly.Msg.LANG_VARIABLES_LOCAL_MUTATOR_ARG_DEFAULT_VARIABLE = 'x';
    Blockly.Msg.REPL_CONNECTION_FAILURE1 = 'Verbindingsfout';
    Blockly.Msg.LANG_TEXT_SPLIT_TOOLTIP_SPLIT_AT_FIRST_OF_ANY = 'Splitst een gegeven tekst in een lijst met twee elementen. De eerste plaats van eender welk item in de lijst "aan" is het \'\'splitsingspunt\'\'. \n\nBijvoorbeeld als je  "Ik hou van appels, bananen en ananas" splitst volgens de lijst "(ba,ap)", dan geeft dit \neen lijst van 2 elementen terug. Het eerste item is "Ik hou van" en het tweede item is \n"pels, bananen en ananas."';
    Blockly.Msg.LANG_CONTROLS_OPEN_ANOTHER_SCREEN_TITLE = 'open een ander scherm';
    Blockly.Msg.LANG_LISTS_IS_LIST_INPUT_THING = 'ding';
    Blockly.Msg.LANG_LISTS_CREATE_WITH_CONTAINER_TOOLTIP = 'Voeg toe, verwijder of verander de volgorde van de secties om dit lijst blok opnieuw te configureren. ';
    Blockly.Msg.LANG_MATH_COMPARE_TOOLTIP_GTE = 'Geef waar terug als het eerste getal groter is\ndan of gelijk aan het tweede getal.';
    Blockly.Msg.LANG_CONTROLS_FOR_TOOLTIP = 'Tel van een start- tot een eindnummer.\nZet het huidige nummer, voor iedere tel, op\nvariabele "%1", en doe erna een aantal dingen.';
    Blockly.Msg.LANG_LISTS_REPLACE_ITEM_INPUT_LIST = 'lijst';
    Blockly.Msg.LANG_MATH_RANDOM_FLOAT_TOOLTIP = 'Geef een willekeurig getal tussen 0 en 1 terug.';
    Blockly.Msg.LANG_MATH_RANDOM_INT_INPUT_TO = 'tot';
    Blockly.Msg.LANG_VARIABLES_VARIABLE = ' variabele';
    Blockly.Msg.LANG_LISTS_ADD_ITEMS_CONTAINER_TITLE_ADD = 'lijst';
    Blockly.Msg.WARNING_DELETE_X_BLOCKS = 'Weet u zeker dat u alle %1 van deze blokken wilt verwijderen?';
    Blockly.Msg.LANG_TEXT_JOIN_ITEM_TOOLTIP = '';
    Blockly.Msg.LANG_LISTS_INSERT_INPUT_ITEM = 'item';
    Blockly.Msg.LANG_CONTROLS_CLOSE_SCREEN_TITLE = 'sluit scherm';
    Blockly.Msg.LANG_TEXT_COMPARE_TOOLTIP_EQUAL = 'Test of stukken tekst identiek zijn, of ze dezelfde karakters hebben\n in dezelfde volgorde. Dit verschilt van de normale=\nin het geval waarin de stukken tekst getallen zijn: 123 en 0123 zijn=\nmaar niet tekst =.';
    Blockly.Msg.LANG_TEXT_COMPARE_TOOLTIP_NEQ = 'Test of stukken tekst verschillend zijn, of ze niet dezelfde karakters hebben\n in dezelfde volgorde. Dit verschilt van de normale≠\nin het geval waarin de stukken tekst getallen zijn: 123 en 0123 zijn tekst ≠\nmaar wiskundig =.';
    Blockly.Msg.LANG_MATH_ROUND_TOOLTIP_ROUND = 'Rond een nummer af naar boven of beneden.';
    Blockly.Msg.LANG_CONTROLS_FORRANGE_INPUT_END = 'tot';
    Blockly.Msg.LANG_COLOUR_ORANGE = 'oranje';
    Blockly.Msg.REPL_STARTING_COMPANION_IN_EMULATOR = 'AI Companion App wordt opgestart in de emulator.';
    Blockly.Msg.LANG_MATH_COMPARE_LT = '<';
    Blockly.Msg.LANG_MATH_SINGLE_TOOLTIP_ABS = 'Geef de absolute waarde van een getal terug.';
    Blockly.Msg.LANG_LISTS_ADD_ITEMS_INPUT_ITEM = 'item';
    Blockly.Msg.ERROR_SELECT_VALID_ITEM_FROM_DROPDOWN = 'Selecteer een geldig item uit de drop down.';
    Blockly.Msg.LANG_MATH_ONLIST_OPERATOR_MAX = 'max';
    Blockly.Msg.LANG_MATH_CONVERT_ANGLES_OP_DEG_TO_RAD = 'graden naar radialen';
    Blockly.Msg.LANG_CONTROLS_GET_PLAIN_START_TEXT_TOOLTIP = 'Geeft de platte tekst terug die doorgegeven werd toen dit scherm werd gestart door een andere app. Als er geen waarde werd doorgegeven, geeft deze functie een lege tekst terug. Voor multischerm apps, gebruik dan neem start waarde in plaats van neem platte start tekst.';
    Blockly.Msg.LANG_CONTROLS_FORRANGE_INPUT_ITEM = 'voor elk';
    Blockly.Msg.BACKPACK_DOC_TITLE = 'Rugzak informatie';
    Blockly.Msg.LANG_TEXT_JOIN_TITLE_JOIN = 'samenvoegen';
    Blockly.Msg.LANG_TEXT_LENGTH_TOOLTIP = 'Geeft het aantal letters (inclusief spaties)\nterug in de meegegeven tekst.';
    Blockly.Msg.LANG_CONTROLS_IF_IF_TOOLTIP = 'Voeg toe, verwijder of verander de volgorde van de secties\nom dit blok opnieuw te configureren.';
    Blockly.Msg.REPL_COMPANION_OUT_OF_DATE1 = 'De AI Companion die je op je smartphone gebruikt, is verouderd.

Deze versie van de App Inventor moet gebruikt worden met Companion versie';
    Blockly.Msg.LANG_TEXT_CHANGECASE_OPERATOR_UPPERCASE = 'hoofdletters';
    Blockly.Msg.LANG_MATH_ARITHMETIC_ADD = '+';
    Blockly.Msg.REPL_COMPANION_VERSION_CHECK = 'Versie controle van de AI Companion';
    Blockly.Msg.LANG_PROCEDURES_DEFRETURN_TOOLTIP = 'Een procedure die een resultaat teruggeeft.';
    Blockly.Msg.LANG_MATH_TRIG_ATAN2_X = 'x';
    Blockly.Msg.EXPAND_ALL = 'Blok uitbreiden';
    Blockly.Msg.CHANGE_VALUE_TITLE = 'Wijzig waarde:';
    Blockly.Msg.LANG_CONTROLS_OPEN_ANOTHER_SCREEN_TOOLTIP = 'Opent een nieuw scherm in een app met meerdere schermen.';
    Blockly.Msg.LANG_TEXT_ISEMPTY_TOOLTIP = 'Geeft waar terug als de lengte van de\ntekst gelijk is aan 0, anders wordt niet waar teruggegeven.';
    Blockly.Msg.LANG_VARIABLES_SET_COLLAPSED_TEXT = 'ingesteld';
    Blockly.Msg.LANG_MATH_RANDOM_FLOAT_TITLE_RANDOM = 'willekeurig deel';
    Blockly.Msg.LANG_COLOUR_BLUE = 'blauw';
    Blockly.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL = 'tot';
    Blockly.Msg.LANG_VARIABLES_GET_TITLE_GET = 'krijg';
    Blockly.Msg.REPL_APPROVE_UPDATE = ' scherm omdat je gevraagd gaat worden om een update goed te keuren.';
    Blockly.Msg.LANG_TEXT_TRIM_TOOLTIP = 'Geeft een kopie terug van de tekst argumenten met elke\nspatie vooraan en achteraan verwijderd.';
    Blockly.Msg.REPL_EMULATORS = 'emulators';
    Blockly.Msg.LANG_MATH_IS_A_NUMBER_INPUT_NUM = 'is een getal?';
    Blockly.Msg.LANG_PROCEDURES_DEFRETURN_COLLAPSED_PREFIX = 'to ';
    Blockly.Msg.LANG_LISTS_SELECT_ITEM_INPUT_LIST = 'lijst';
    Blockly.Msg.LANG_TEXT_COMPARE_INPUT_COMPARE = 'vergelijk teksten';
    Blockly.Msg.LANG_MATH_NUMBER_TOOLTIP = 'Rapporteer het getoonde getal.';
    Blockly.Msg.LANG_TEXT_COMPARE_LT = ' <';
    Blockly.Msg.LANG_LISTS_INPUT_LIST = 'lijst';
    Blockly.Msg.LANG_LISTS_REMOVE_ITEM_TOOLTIP = 'Verwijdert het element op de gegeven positie uit de lijst.';
    Blockly.Msg.LANG_LISTS_IS_IN_TITLE_IS_IN = 'staat in een lijst?';
    Blockly.Msg.LANG_MATH_ROUND_TOOLTIP_CEILING = 'Rond de input af tot het kleinste\ngetal dat niet kleiner is dan de input';
    Blockly.Msg.LANG_COLOUR_YELLOW = 'geel';
    Blockly.Msg.LANG_MATH_ROUND_TOOLTIP_FLOOR = 'Rond de input af tot het grootste\ngetal dat niet groter is dan de input';
    Blockly.Msg.LANG_MATH_DIVIDE_TOOLTIP_MODULO = 'Geeft de gehele deling terug.';
    Blockly.Msg.LANG_TEXT_JOIN_ITEM_TITLE_ITEM = 'tekst';
    Blockly.Msg.LANG_PROCEDURES_CALLNORETURN_PROCEDURE = 'procedure';
    Blockly.Msg.LANG_CONTROLS_IF_MSG_ELSE = 'anders';
    Blockly.Msg.LANG_TEXT_STARTS_AT_TOOLTIP = 'Geeft de beginpositie terug van het stukje in de tekst\nwaar index 1 het begin van de tekst aangeeft. Geeft 0 terug wanneer\nhet stuk tekst niet voorkomt.';
    Blockly.Msg.SORT_W = 'Sorteer blokken op breedte';
    Blockly.Msg.ENABLE_BLOCK = 'Schakel blok aan';
    Blockly.Msg.LANG_CONTROLS_EVAL_BUT_COLLAPSED_TEXT = 'evalueer maar negeer';
    Blockly.Msg.LANG_MATH_ARITHMETIC_TOOLTIP_ADD = 'Geeft de som van twee getallen terug.';
    Blockly.Msg.LANG_LISTS_POSITION_IN_INPUT = 'index in lijst  item %1 lijst %2';
    Blockly.Msg.REPL_SECONDS_ENSURE_RUNNING = ' seconden om er zeker van te zijn dat alles draait.';
    Blockly.Msg.REPL_NO_ERROR_FIVE_SECONDS = '
Merk op:&nbsp,Je zal geen andere foutmeldingen zien gedurende de volgende 5 seconden.';
    Blockly.Msg.LANG_LOGIC_NEGATE_INPUT_NOT = 'niet';
    Blockly.Msg.LANG_PROCEDURES_DEFRETURN_PROCEDURE = 'procedure';
    Blockly.Msg.LANG_CATEGORY_CONTROLS = 'Bediening';
    Blockly.Msg.LANG_COLOUR_MAGENTA = 'magenta';
    Blockly.Msg.LANG_LISTS_IS_IN_TOOLTIP = 'Geeft waar terug als het ding een item is dat in de lijst zit, anders wordt onwaar teruggegeven.';
    Blockly.Msg.LANG_LISTS_REPLACE_ITEM_INPUT = 'vervang lijst item  lijst %1 index %2 vervanging %3';
    Blockly.Msg.LANG_MATH_CONVERT_NUMBER_TOOLTIP_DEC_TO_BIN = 'Neemt een positief geheel decimaal getal en geeft de tekst weer die dat getal voorstelt in binair';
    Blockly.Msg.LANG_MATH_CONVERT_NUMBER_OP_HEX_TO_DEC = 'hex naar dec';
    Blockly.Msg.LANG_LOGIC_COMPARE_NEQ = '≠';
    Blockly.Msg.LANG_VARIABLES_GLOBAL_DECLARATION_NAME = 'naam';
    Blockly.Msg.NEW_VARIABLE = 'Nieuwe variabele ...';
    Blockly.Msg.LANG_LOGIC_OPERATION_TOOLTIP_OR = 'Geef waar terug als de invoer waar is.';
    Blockly.Msg.LANG_VARIABLES_LOCAL_MUTATOR_CONTAINER_TOOLTIP = '';
    Blockly.Msg.LANG_TEXT_CONTAINS_INPUT_CONTAINS = 'bevat';
    Blockly.Msg.LANG_LISTS_REMOVE_ITEM_INPUT = 'verwijder lijstitem  lijst %1 index %2';
    Blockly.Msg.LANG_TEXT_SEGMENT_INPUT = 'segment  tekst %1 start %2 lengte %3';
    Blockly.Msg.LANG_LISTS_LENGTH_INPUT = 'lengte van de lijst lijst %1';
    Blockly.Msg.LANG_TEXT_CONTAINS_TOOLTIP = 'Test of het stukje voorkomt in de tekst.';
    Blockly.Msg.LANG_MATH_CONVERT_ANGLES_TOOLTIP_RAD_TO_DEG = 'Geeft de graden terug tussen\n(0,360) die overeenkomt met het argument in radialen.';
    Blockly.Msg.LANG_LISTS_REMOVE_ITEM_INPUT_INDEX = 'index';
    Blockly.Msg.LANG_CONTROLS_GET_PLAIN_START_TEXT_COLLAPSED_TEXT = 'Neem platte start tekst';
    Blockly.Msg.LANG_LISTS_POSITION_IN_INPUT_LIST = 'lijst';
    Blockly.Msg.LANG_TEXT_REPLACE_ALL_INPUT_SEGMENT = 'segment';
    Blockly.Msg.LANG_LISTS_ADD_ITEMS_INPUT_LIST = ' lijst';
    Blockly.Msg.LANG_CONTROLS_FOREACH_INPUT_COLLAPSED_PREFIX = 'voor ';
    Blockly.Msg.LANG_MATH_TRIG_TAN = 'tan';
    Blockly.Msg.LANG_MATH_TRIG_ATAN = 'atan';
    Blockly.Msg.LANG_MATH_RANDOM_SEED_INPUT_TO = 'tot';
    Blockly.Msg.LANG_VARIABLES_LOCAL_DECLARATION_COLLAPSED_TEXT = 'lokaal';
    Blockly.Msg.LANG_PROCEDURES_DOTHENRETURN_DO = 'doe';
    Blockly.Msg.LANG_CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL = 'Terwijl een waarde onwaar is, doe enkele andere stappen.';
    Blockly.Msg.LANG_CONTROLS_CLOSE_SCREEN_WITH_VALUE_INPUT_RESULT = 'resultaat';
    Blockly.Msg.LANG_MATH_CONVERT_ANGLES_OP_RAD_TO_DEG = 'radialen naar graden';
    Blockly.Msg.LANG_LISTS_SELECT_ITEM_TITLE_SELECT = 'kies een item uit de lijst';
    Blockly.Msg.LANG_CATEGORY_TEXT = 'Tekst';
    Blockly.Msg.LANG_LISTS_APPEND_LIST_INPUT = 'voeg toe aan lijst  lijst1 %1 lijst2 %2';
    Blockly.Msg.LANG_COLOUR_SPLIT_COLOUR = 'splits kleur';
    Blockly.Msg.LANG_CONTROLS_IF_MSG_IF = 'als';
    Blockly.Msg.LANG_PROCEDURES_CALLRETURN_TOOLTIP = 'Roep een procedure op die iets teruggeeft.';
    Blockly.Msg.LANG_MATH_ROUND_OPERATOR_ROUND = 'rond af';
    Blockly.Msg.REPL_DISMISS = 'Negeer';
    Blockly.Msg.LANG_LISTS_REPLACE_ITEM_TOOLTIP = 'Vervangt het n\'de item in een lijst.';
    Blockly.Msg.LANG_TEXT_COMPARE_TOOLTIP_GT = 'Geeft aan of tekst1 lexicologisch groter is dan tekst2.\nAls een tekst het eerste deel is van de andere, dan wordt de kortere tekst aanzien als kleiner.\nHoofdletters hebben voorrang op kleine letters.';
    Blockly.Msg.LANG_CONTROLS_FOREACH_INPUT_VAR = 'item';
    Blockly.Msg.LANG_CONTROLS_FOR_INPUT_TO = 'tot';
    Blockly.Msg.LANG_COLOUR_RED = 'rood';
    Blockly.Msg.LANG_VARIABLES_SET_TITLE_TO = 'tot';
    Blockly.Msg.LANG_LISTS_CREATE_WITH_CONTAINER_TITLE_ADD = 'lijst';
    Blockly.Msg.REPL_KEEP_TRYING = 'Blijf Proberen';
    Blockly.Msg.LANG_LISTS_CREATE_WITH_TITLE_MAKE_LIST = 'maak een lijst';
    Blockly.Msg.LANG_MATH_ROUND_OPERATOR_CEILING = 'afrondenNaarBoven';
    Blockly.Msg.LANG_COMPONENT_BLOCK_GENERIC_SETTER_TITLE_SET = 'zet';
    Blockly.Msg.EXTERNAL_INPUTS = 'Externe ingangen';
    Blockly.Msg.LANG_LISTS_LOOKUP_IN_PAIRS_INPUT_PAIRS = 'paren';
    Blockly.Msg.LANG_CONTROLS_OPEN_ANOTHER_SCREEN_WITH_START_VALUE_TITLE = 'open ander scherm met startwaarde';
    Blockly.Msg.LANG_MATH_CONVERT_NUMBER_TOOLTIP_HEX_TO_DEC = 'Neemt een tekst die een hexadecimaal getal voorstelt en geeft een tekst terug die dat nummer voorstelt als decimaal getal.';
    Blockly.Msg.LANG_MATH_TRIG_TOOLTIP_SIN = 'Geeft de sinus van de gegeven hoek (in graden).';
    Blockly.Msg.REPL_GIVE_UP = 'Opgeven';
    Blockly.Msg.LANG_CATEGORY_LOGIC = 'Logica';
    Blockly.Msg.LANG_LISTS_COPY_INPUT_LIST = 'lijst';
    Blockly.Msg.LANG_LISTS_INSERT_INPUT = 'voeg lijstitem toe  lijst %1 index %2 item %3';
    Blockly.Msg.LANG_MATH_CONVERT_NUMBER_TOOLTIP_DEC_TO_HEX = 'Neemt een positief decimaal getal en geeft een tekst terug die dat getal voorstelt in hexadecimale notatie.';
    Blockly.Msg.LANG_CONTROLS_FORRANGE_INPUT_START = 'van';
    Blockly.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK = 'breek uit';
    Blockly.Msg.LANG_LISTS_FROM_CSV_ROW_TOOLTIP = 'Ontleedt een tekst als een CSV (d.i. door komma\'s gescheiden waarde) opgemaakte rij om een lijst met velden te produceren. Als de rij tekst meerdere onbeschermde nieuwe regels (meerdere lijnen) bevat in de velden, krijg je een foutmelding. Je moet de rij tekst laten eindigen in een nieuwe regel of CRLF.';
    Blockly.Msg.LANG_MATH_ARITHMETIC_TOOLTIP_POWER = 'Geeft het eerste getal verheven tot\nde macht van het tweede getal.';
    Blockly.Msg.LANG_LISTS_FROM_CSV_ROW_INPUT_TEXT = 'tekst';
    Blockly.Msg.LANG_VARIABLES_SET_TITLE_SET = 'zet';
    Blockly.Msg.LANG_COMPONENT_BLOCK_TITLE_DO = 'doe';
    Blockly.Msg.LANG_TEXT_SPLIT_INPUT_TEXT = 'tekst';
    Blockly.Msg.LANG_COLOUR_GRAY = 'grijs';
    Blockly.Msg.REPL_NETWORK_ERROR_RESTART = 'Netwerk Communicatie Fout met de AI Companion.
Probeer eens de smartphone te herstarten en opnieuw te connecteren.';
    Blockly.Msg.LANG_CONTROLS_FORRANGE_INPUT_DO = 'doe';
    Blockly.Msg.LANG_LISTS_PICK_RANDOM_TITLE_PICK_RANDOM = 'kies een willekeurig item';
    Blockly.Msg.LANG_TEXT_COMPARE_TOOLTIP_LT = 'Controleert of tekst1 lexicografisch kleiner is dan text2. \ NAls een stuk tekst het voorvoegsel is van de andere, dan wordt de kortere tekst \ nals kleiner beschouwd. Kleine letters worden voorafgegaan door hoofdletters.';
    Blockly.Msg.LANG_TEXT_APPEND_APPENDTEXT = 'voeg tekst toe';
    Blockly.Msg.REPL_CANCEL = 'Annuleren';
    Blockly.Msg.LANG_CATEGORY_MATH = 'Wiskunde';
    Blockly.Msg.LANG_TEXT_TEXT_OBSFUCATE_TOOLTIP = 'Produceert tekst, zoals een tekstblok.  Het verschil is dat de \ntekst niet gemakkelijk te detecteren is door de APK van de app te onderzoeken.  Gebruik deze functie daarom bij het maken van apps \n die vertrouwelijke informatie bevatten, zoals API sleutels.  \nWaarschuwing: tegen complexe security-aanvallen biedt deze functie slechts een zeer lage bescherming.';
    Blockly.Msg.SORT_C = 'Sorteer blokken op categorie';
    Blockly.Msg.LANG_CONTROLS_WHILE_INPUT_DO = 'doe';
    Blockly.Msg.LANG_LISTS_SELECT_ITEM_TOOLTIP = 'Geeft het item op positie index in de lijst.';
    Blockly.Msg.LANG_LISTS_IS_IN_INPUT_THING = 'ding';
    Blockly.Msg.LANG_LISTS_LENGTH_INPUT_LENGTH = 'lengte van de lijst';
    Blockly.Msg.LANG_VARIABLES_LOCAL_MUTATOR_ARG_TITLE_NAME = 'naam';
    Blockly.Msg.LANG_MATH_FORMAT_AS_DECIMAL_TITLE = 'maak op als decimaal';
    Blockly.Msg.LANG_CONTROLS_WHILEUNTIL_TOOLTIP_WHILE = 'Zolang een waarde waar is, do dan enkele regels code.';
    Blockly.Msg.LANG_LISTS_CREATE_EMPTY_TITLE = 'maak lege lijst';
    Blockly.Msg.LANG_MATH_ARITHMETIC_POWER = '^';
    Blockly.Msg.LANG_LISTS_IS_IN_INPUT_LIST = 'lijst';
    Blockly.Msg.LANG_CONTROLS_EVAL_BUT_IGNORE_TOOLTIP = 'Voert het aangesloten blok code uit en negeert de return waarde (indien aanwezig). Deze functie is handig wanneer je een procedure wil aanroepen die een return waarde heeft, zonder dat je die waarde zelf nodig hebt.';
    Blockly.Msg.LANG_LISTS_CREATE_WITH_TOOLTIP = 'Maak een lijst met een bepaald aantal items.';
    Blockly.Msg.ERROR_DUPLICATE_EVENT_HANDLER = 'Dit een een copy van een signaalafhandelaar voor deze component.';
    Blockly.Msg.LANG_MATH_TRIG_COS = 'cos';
    Blockly.Msg.BACKPACK_CONFIRM_EMPTY = 'Weet u zeker dat u de rugzak wil ledigen?';
    Blockly.Msg.LANG_LISTS_IS_EMPTY_TOOLTIP = 'Geeft \'waar\' terug als de lijst leeg is.';
    Blockly.Msg.LANG_PROCEDURES_CALLRETURN_TRANSLATED_NAME = 'oproep weergave';
    Blockly.Msg.LANG_LISTS_REMOVE_ITEM_INPUT_LIST = 'lijst';
    Blockly.Msg.LANG_MATH_SINGLE_TOOLTIP_LN = 'Teruggave van het natuurlijke logaritme van een getal, d.w.z. het logaritme met het grondtal e (2,71828 ...)';
    Blockly.Msg.LANG_TEXT_CHANGECASE_TOOLTIP_UPPERCASE = 'Geeft een kopie van de meegegeven tekst omgezet in hoofdletters.';
    Blockly.Msg.LANG_LISTS_ADD_ITEMS_CONTAINER_TOOLTIP = 'Toevoegen, verwijderen of herschikken van secties om dit lijstblok te herconfigureren.';
    Blockly.Msg.LANG_COLOUR_DARK_GRAY = 'donkergrijs';
    Blockly.Msg.ARRANGE_H = 'Rangschik blokken horizontaal';
    Blockly.Msg.LANG_CONTROLS_IF_ELSEIF_TITLE_ELSEIF = 'anders als';
    Blockly.Msg.LANG_CONTROLS_CLOSE_SCREEN_WITH_VALUE_TOOLTIP = 'Sluit het huidig scherm en geeft een resultaat terug aan het scherm dat deze opende.';
    Blockly.Msg.LANG_CONTROLS_IF_TOOLTIP_4 = 'Als de eerste waarde \'waar\' is, voer dan het eerste blok met opdrachten uit.\nAnders, als de tweede waarde \'waar\' is, voer dan het tweede blok met opdrachten uit.\nAls geen van de waarden \'waar\' is, voer dan het laatste blok met opdrachten uit.';
    Blockly.Msg.REPL_NETWORK_CONNECTION_ERROR = 'Fout netwerkverbinding';
    Blockly.Msg.LANG_CONTROLS_FOREACH_INPUT_COLLAPSED_SUFFIX = ' in lijst';
    Blockly.Msg.LANG_LISTS_IS_IN_INPUT = 'is in lijst? item %1 lijst %2';
    Blockly.Msg.LANG_COMPONENT_BLOCK_GENERIC_METHOD_TITLE_CALL = 'aanroep ';
    Blockly.Msg.LANG_CONTROLS_FOR_INPUT_VAR = 'x';
    Blockly.Msg.LANG_MATH_IS_A_DECIMAL_INPUT_NUM = 'is decimaal?';
    Blockly.Msg.LANG_COLOUR_SPLIT_COLOUR_TOOLTIP = 'Een lijst van vier elementen, elk op een schaal van 0 tot 255, die de rode, groene, blauwe en alfa componenten voorstellen.';
    Blockly.Msg.LANG_CONTROLS_EVAL_BUT_IGNORE_TITLE = 'evalueer maar negeer het resultaat';
    Blockly.Msg.LANG_LISTS_TO_CSV_ROW_INPUT_LIST = 'lijst';
    Blockly.Msg.CAN_NOT_DO_IT = 'Kan dit niet doen';
    Blockly.Msg.LANG_VARIABLES_LOCAL_DECLARATION_TRANSLATED_NAME = 'initialiseer lokale variable in doe';
    Blockly.Msg.LANG_TEXT_TEXT_LEFT_QUOTE = '"';
    Blockly.Msg.LANG_CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE = 'Sla de rest van deze loop over en \n begin met de volgende iteratie.';
    Blockly.Msg.LANG_CONTROLS_FOR_INPUT_FROM = 'van';
    Blockly.Msg.COPY_TO_BACKPACK = 'Voeg toe aan rugzak';
    Blockly.Msg.LANG_CONTROLS_GET_START_VALUE_INPUT_SCREENNAME = 'schermNaam';
    Blockly.Msg.LANG_TEXT_ISEMPTY_INPUT_ISEMPTY = 'is leeg';
    Blockly.Msg.LANG_TEXT_SPLIT_OPERATOR_SPLIT_AT_ANY = 'splits bij elk';
    Blockly.Msg.EXPORT_IMAGE = 'Download blokken als afbeelding';
    Blockly.Msg.REPL_GOT_IT = 'Begrepen';
    Blockly.Msg.LANG_COLOUR_MAKE_COLOUR_TOOLTIP = 'Een kleur met de gegeven rood, groen, blauw en optionele alfa componenten.';
    Blockly.Msg.LANG_LISTS_TITLE_IS_EMPTY = 'is de lijst leeg?';
    Blockly.Msg.LANG_MATH_SINGLE_OP_NEG = 'negatief';
    Blockly.Msg.LANG_CONTROLS_OPEN_ANOTHER_SCREEN_WITH_START_VALUE_INPUT_SCREENNAME = 'schermNaam';
    Blockly.Msg.LANG_COMPONENT_BLOCK_SETTER_TITLE_SET = 'stel in';
    Blockly.Msg.INLINE_INPUTS = 'Inlijn invulveld';
    Blockly.Msg.LANG_LISTS_INSERT_TOOLTIP = 'Voeg een element toe op een specifieke plaats in een lijst.';
    Blockly.Msg.REPL_CONNECTING = 'Verbinden ...';
    Blockly.Msg.LANG_LISTS_LOOKUP_IN_PAIRS_TOOLTIP = 'Geeft de waarde terug die hoort bij de sleutel in een lijst van paren';
    Blockly.Msg.LANG_MATH_SINGLE_TOOLTIP_NEG = 'Geeft het negatief van een getal.';
    Blockly.Msg.REPL_UNABLE_TO_LOAD = 'Opladen naar de App Inventor server mislukt';
    Blockly.Msg.LANG_LISTS_COPY_TOOLTIP = 'Maakt een kopie van een lijst. Sublijsten worden ook gekopieerd';
    Blockly.Msg.LANG_LOGIC_BOOLEAN_TOOLTIP_TRUE = 'Geeft de booleaanse waar terug.';
    Blockly.Msg.LANG_TEXT_TEXT_OBSFUCATE = 'Onleesbaar gemaakte Tekst';
    Blockly.Msg.LANG_TEXT_TEXT_TOOLTIP = 'Een tekst.';
    Blockly.Msg.LANG_LISTS_SELECT_ITEM_INPUT = 'Selecteer een element uit lijst %1 index %2';
    Blockly.Msg.REPL_DO_YOU_REALLY_Q = 'Wil Je Dit Echt? Echt echt?';
    Blockly.Msg.LANG_VARIABLES_LOCAL_DECLARATION_EXPRESSION_TOOLTIP = 'Laat je toe om variabelen te maken die je alleen kan gebruiken in het deel van dit blok dat iets teruggeeft.';
    Blockly.Msg.LANG_VARIABLES_GLOBAL_DECLARATION_TITLE_INIT = 'Initializeer globaal';
    Blockly.Msg.LANG_MATH_IS_A_HEXADECIMAL_INPUT_NUM = 'is hexadecimaal?';
    Blockly.Msg.LANG_MATH_DIVIDE_TOOLTIP_QUOTIENT = 'Berekent het quotient.';
    Blockly.Msg.LANG_MATH_IS_A_BINARY_INPUT_NUM = 'is binair?';
    Blockly.Msg.LANG_CONTROLS_FOREACH_TOOLTIP = 'Voert de blokken in het \'doe\'  deel uit voor elk element van de lijst.   Gebruik de opgegeven naam van de variabele om te verwijzen naar het huidige element.';
    Blockly.Msg.LANG_TEXT_REPLACE_ALL_INPUT_REPLACEMENT = 'vervanging';
    Blockly.Msg.LANG_TEXT_TEXT_RIGHT_QUOTE = '"';
    Blockly.Msg.LANG_CONTROLS_IF_MSG_THEN = 'dan';
    Blockly.Msg.LANG_CONTROLS_WHILE_TITLE = 'terwijl';
    Blockly.Msg.LANG_MATH_COMPARE_GT = '>';
    Blockly.Msg.LANG_MATH_IS_A_DECIMAL_TOOLTIP = 'Test of iets een string is die een positief integraal grondgetal 10 voorstelt.';
    Blockly.Msg.LANG_MATH_MUTATOR_ITEM_INPUT_NUMBER = 'getal';
    Blockly.Msg.LANG_LISTS_ADD_ITEM_TOOLTIP = 'Voeg een item toe aan de lijst.';
    Blockly.Msg.LANG_VARIABLES_LOCAL_DECLARATION_IN_DO = 'in';
    Blockly.Msg.LANG_MATH_COMPARE_TOOLTIP_LT = 'Geeft Waar terug als het eerste nummer\nkleiner is dan het tweede nummer.';
    Blockly.Msg.LANG_COLOUR_BLACK = 'zwart';
    Blockly.Msg.LANG_CONTROLS_CLOSE_SCREEN_WITH_PLAIN_TEXT_TOOLTIP = 'Sluit het huidige scherm af en geeft de tekst terug aan de app die dit scherm geopend heeft.   Deze functie is bedoeld om tekst te retourneren aan activiteiten die niet gerelateerd zijn aan App Inventor en niet om naar App Inventor schermen terug te keren. Voor App Inventor apps met meerdere schermen, gebruik de functie Sluit Scherm met Waarde, niet Sluit Scherm met Gewone Tekst.';
    Blockly.Msg.REPL_COMPANION_OUT_OF_DATE = 'Jouw Companion App is te oud. Klik "OK" om bijwerken te starten. Bekijk jouw ';
    Blockly.Msg.LANG_LOGIC_OPERATION_TOOLTIP_AND = 'Geef Waar terug als alle invoer Waar is.';
    Blockly.Msg.REPL_NO_START_EMULATOR = 'Het is niet gelukt de MIT AI Companion te starten in de Emulator';
    Blockly.Msg.LANG_CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK = 'Breek uit de omliggende lus.';
    Blockly.Msg.LANG_MATH_COMPARE_TOOLTIP_EQ = 'Geef Waar terug als beide getallen gelijk zijn aan elkaar.';
    Blockly.Msg.LANG_LOGIC_OPERATION_AND = 'en';
    Blockly.Msg.LANG_TEXT_SPLIT_TOOLTIP_SPLIT_AT_FIRST = 'Verdeelt de opgegeven tekst in twee delen en gebruikt hiervoor de plaats het eerste voorkomen \nvan de tekst \'aan\' als splitser, en geeft een lijst met twee elementen terug. Deze lijst bestaat \nuit het deel voor de splitser en het deel achter de splitser. \nHet splitsen van "appel,banaan,kers,hondeneten" met als een komma als splitser geeft een lijst \nterug met twee elementen: het eerste is de tekst "appel" en het tweede is de tekst \n"banaan,kers,hondeneten". \nMerk op de de komma achter "appel\' niet in het resultaat voorkomt, omdat dit de splitser is.';
    Blockly.Msg.LANG_PROCEDURES_DOTHENRETURN_COLLAPSED_TEXT = 'doe/resultaat';
    Blockly.Msg.LANG_MATH_CONVERT_NUMBER_OP_BIN_TO_DEC = 'binair naar decimaal';
    Blockly.Msg.LANG_CONTROLS_IF_ELSE_TOOLTIP = 'Voeg een finaal, vang-alles-op conditie toe aan het als blok.';
    Blockly.Msg.GENERATE_YAIL = 'Genereer Yail';
    Blockly.Msg.LANG_LOGIC_COMPARE_TRANSLATED_NAME = 'logische is gelijk';
    Blockly.Msg.LANG_TEXT_CHANGECASE_TOOLTIP_DOWNCASE = 'Geeft een kopie terug van de tekst in kleine letters.';
    Blockly.Msg.LANG_TEXT_LENGTH_INPUT_LENGTH = 'lengte';
    Blockly.Msg.LANG_LISTS_POSITION_IN_INPUT_THING = 'ding';
    Blockly.Msg.LANG_MATH_DIVIDE_OPERATOR_QUOTIENT = 'quotiënt van';
    Blockly.Msg.LANG_MATH_COMPARE_TOOLTIP_NEQ = 'Geef Waar terug als beide getallen niet gelijk zijn aan elkaar.';
    Blockly.Msg.DELETE_X_BLOCKS = 'Verwijder %1 blokken';
    Blockly.Msg.LANG_MATH_DIVIDE_OPERATOR_MODULO = 'rest van';
    Blockly.Msg.LANG_TEXT_STARTS_AT_INPUT = 'start op  tekst %1 stuk %2';
    Blockly.Msg.BACKPACK_EMPTY = 'Maak de Rugzak leeg';
    Blockly.Msg.LANG_CONTROLS_FOREACH_INPUT_INLIST = 'in lijst';
    Blockly.Msg.LANG_PROCEDURES_DOTHENRETURN_TOOLTIP = 'Voert de blokken in \'\'doe\'\' uit en geeft een statement terug. Handig als je een procedure wil uitvoeren alvorens een waarde terug te geven aan een variabele.';
    Blockly.Msg.LANG_CONTROLS_FORRANGE_TOOLTIP = 'Voert de blokken in de \'doe\' sectie uit voor elke numerieke waarde van begin tot eind, telkens verdergaand met de volgende waarde. Gebruik de gegeven naam van de variabele  om te verwijzen naar de actuele waarde.';
    Blockly.Msg.LANG_LISTS_REMOVE_ITEM_TITLE_REMOVE = 'verwijder lijst item';
    Blockly.Msg.REPL_STARTING_COMPANION_ON_PHONE = 'Bezig het opstarten van de Companion App op de aangesloten telefoon.';
    Blockly.Msg.ARRANGE_S = 'Rangschik blokken diagonaal';
    Blockly.Msg.ERROR_COMPONENT_DOES_NOT_EXIST = 'Component bestaat niet';
    Blockly.Msg.LANG_MATH_COMPARE_LTE = '≤';
    Blockly.Msg.LANG_TEXT_CONTAINS_INPUT = 'bevat  tekst %1 stuk %2';
    Blockly.Msg.LANG_MATH_ONLIST_OPERATOR_MIN = 'min';
    Blockly.Msg.LANG_MATH_FORMAT_AS_DECIMAL_INPUT = 'Formatteer als decimaal getal  %1 plaatsen %2';
    Blockly.Msg.LANG_CONTROLS_CHOOSE_INPUT_TEST = '';
    Blockly.Msg.LANG_PROCEDURES_MUTATORARG_TOOLTIP = '';
    Blockly.Msg.LANG_PROCEDURES_CALLNORETURN_CALL = 'aanroep ';
    Blockly.Msg.LANG_MATH_TRIG_TOOLTIP_TAN = 'Geeft de tangens van de gegeven hoek in graden.';
    Blockly.Msg.LANG_VARIABLES_GLOBAL_DECLARATION_TO = 'tot';
    Blockly.Msg.LANG_CONTROLS_OPEN_ANOTHER_SCREEN_INPUT_SCREENNAME = 'schermNaam';
    Blockly.Msg.HELP = 'Hulp';
    Blockly.Msg.LANG_LISTS_POSITION_IN_TITLE_POSITION = 'positie in lijst';
    Blockly.Msg.LANG_CONTROLS_CLOSE_APPLICATION_TITLE = 'toepassing sluiten';
    Blockly.Msg.LANG_COLOUR_GREEN = 'groen';
    Blockly.Msg.LANG_PROCEDURES_HIGHLIGHT_DEF = 'Markeer Procedure';
    Blockly.Msg.LANG_CONTROLS_GET_START_VALUE_TITLE = 'krijg startwaarde';
    Blockly.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP = 'van lus';
    Blockly.Msg.LANG_PROCEDURES_CALLNORETURN_COLLAPSED_PREFIX = 'roep op ';
    Blockly.Msg.LANG_CONTROLS_GET_PLAIN_START_TEXT_TITLE = 'Verkrijg gewone starttekst';
    Blockly.Msg.LANG_PROCEDURES_CALLNORETURN_TOOLTIP = 'Roep een procedure op die geen waarde teruggeeft.';
    Blockly.Msg.LANG_LISTS_FROM_CSV_TABLE_TITLE_FROM_CSV = 'lijst van een csv tabel';
    Blockly.Msg.LANG_LISTS_INSERT_TITLE_INSERT_LIST = 'voeg een lijst element toe';
    Blockly.Msg.LANG_LISTS_TO_CSV_TABLE_INPUT_LIST = 'lijst';
    Blockly.Msg.LANG_LISTS_APPEND_LIST_INPUT_LIST1 = 'lijst1';
    Blockly.Msg.LANG_LISTS_APPEND_LIST_INPUT_LIST2 = 'lijst2';
    Blockly.Msg.REPL_UPDATE_INFO = 'De update wordt nu geïnstalleerd op je toestel. Hou je scherm (of emulator) in het oog en keur de installatie goed wanneer je dat gevraagd wordt.

BELANGRIJK: Wanneer de update afloopt, kies "VOLTOOID" (klik niet op "open"). Ga dan naar App Inventor in je web browser, klik op het "Connecteer" menu en kies "Herstart Verbinding". Verbind dan het toestel.';
    Blockly.Msg.LANG_MATH_COMPARE_TOOLTIP_LTE = 'Geeft waar terug als het eerste getal kleiner is\nof gelijk aan het tweede getal.';
    Blockly.Msg.LANG_CONTROLS_CLOSE_SCREEN_WITH_PLAIN_TEXT_COLLAPSED_TEXT = 'sluit scherm met platte tekst';
    Blockly.Msg.LANG_CONTROLS_WHILE_COLLAPSED_TEXT = 'herhaal tot';
    Blockly.Msg.LANG_LISTS_LOOKUP_IN_PAIRS_INPUT_KEY = 'sleutel';
    Blockly.Msg.LANG_TEXT_JOIN_TITLE_CREATEWITH = 'maak tekst met';
    Blockly.Msg.LANG_LISTS_TO_CSV_ROW_TOOLTIP = 'Interpreteert de lijst als een rij van een tabel en geeft een CSV (door komma\'s gescheiden waarden) tekst terug die de rij representeert. Elk item in de rij lijst wordt beschouwd als een veld, er wordt naar verwezen met dubbele aanhalingstekens in de CSV tekst. Items worden gescheiden door een komma. De geretourneerde rij tekst heeft geen lijn separator aan het einde.';
    Blockly.Msg.LANG_TEXT_JOIN_TOOLTIP = 'Voegt alle inputs samen tot 1 enkele tekst.\nAls er geen inputs zijn, wordt een lege tekst gemaakt.';
    Blockly.Msg.LANG_COLOUR_WHITE = 'Wit';
    Blockly.Msg.LANG_MATH_ARITHMETIC_TOOLTIP_DIVIDE = 'Geeft het quotiënt van twee getallen.';
    Blockly.Msg.LANG_LISTS_ADD_ITEMS_INPUT = 'voeg items to lijst lijst %1 item %2';
    Blockly.Msg.LANG_LOGIC_BOOLEAN_FALSE = 'onwaar';
    Blockly.Msg.LANG_LISTS_INSERT_INPUT_INDEX = 'index';
    Blockly.Msg.LANG_LISTS_FROM_CSV_TABLE_TOOLTIP = 'Ontleedt een tekst als een CSV (d.i. een door komma\'s gescheiden waarde) opgemaakte tabel om een lijst van rijen te produceren, elke rij is een lijst van velden. Rijen kunnen worden gescheiden door nieuwe lijnen (n) of CRLF (rn).';
    Blockly.Msg.LANG_CONTROLS_CHOOSE_INPUT_ELSE_RETURN = 'anders';
    Blockly.Msg.LANG_CONTROLS_OPEN_ANOTHER_SCREEN_WITH_START_VALUE_TOOLTIP = 'Opent een nieuw scherm in een meer-schermen app en geeft de startwaarde mee aan dat scherm.';
    Blockly.Msg.LANG_MATH_TRIG_TOOLTIP_ASIN = 'Geeft een hoek tussen [-90,+90]\ngraden met de gegeven sinus waarde.';
    Blockly.Msg.LANG_COMPONENT_BLOCK_GENERIC_GETTER_TITLE_OF_COMPONENT = 'van component';
    Blockly.Msg.LANG_MATH_RANDOM_SEED_TITLE_RANDOM = 'stel willekeurige seed in';
    Blockly.Msg.LANG_PROCEDURES_DEFNORETURN_DO = 'doe';
    Blockly.Msg.LANG_LISTS_LOOKUP_IN_PAIRS_TITLE_LOOKUP_IN_PAIRS = 'zoek op in paren';
    Blockly.Msg.LANG_VARIABLES_LOCAL_DECLARATION_EXPRESSION_COLLAPSED_TEXT = 'lokaal';
    Blockly.Msg.LANG_TEXT_CONTAINS_INPUT_PIECE = 'stukje';
    Blockly.Msg.LANG_TEXT_STARTS_AT_INPUT_STARTS_AT = 'begint bij';
    Blockly.Msg.REPL_NOT_NOW = 'Niet Nu. Later, misschien ...';
    Blockly.Msg.LANG_TEXT_STARTS_AT_INPUT_PIECE = 'stukje';
    Blockly.Msg.LANG_COMPONENT_BLOCK_GENERIC_METHOD_TITLE_FOR_COMPONENT = 'voor component';
    Blockly.Msg.HIDE_WARNINGS = 'Waarschuwingen Verbergen';
    Blockly.Msg.LANG_MATH_CONVERT_NUMBER_OP_DEC_TO_HEX = 'decimaal naar hexadecimaal';
    Blockly.Msg.REPL_CONNECT_TO_COMPANION = 'Connecteer met de Companion';
    Blockly.Msg.LANG_COLOUR_PICKER_TOOLTIP = 'Klik op de rechthoek om een kleur te kiezen.';
    Blockly.Msg.LANG_COMPONENT_BLOCK_GENERIC_SETTER_TITLE_TO = ' tot';
    Blockly.Msg.REPL_SOFTWARE_UPDATE = 'Software bijwerken';
    Blockly.Msg.LANG_LISTS_PICK_RANDOM_ITEM_INPUT_LIST = 'lijst';
    Blockly.Msg.LANG_CONTROLS_CHOOSE_TOOLTIP = 'Als de voorwaarde die wordt getest waar is,retourneer dan het resultaat verbonden aan het \'dan-teruggave\' veld, indien niet, geef dan het resultaat terug van het \'zoneen-teruggave\' veld, op zijn minst een van de resultaten verbonden aan beide teruggave velden wordt weergegeven.';
    Blockly.Msg.RENAME_VARIABLE_TITLE = 'Hernoem alle "%1" variabelen naar:';
    Blockly.Msg.LANG_LOGIC_BOOLEAN_TOOLTIP_FALSE = 'Geeft booleaanse niet waar terug.';
    Blockly.Msg.REPL_TRY_AGAIN1 = 'Connecteren met de AI2 Companion is mislukt, probeer het eens opnieuw.';
    Blockly.Msg.REPL_VERIFYING_COMPANION = 'Kijken of de Companion gestart is...';
    Blockly.Msg.LANG_CONTROLS_OPEN_ANOTHER_SCREEN_WITH_START_VALUE_INPUT_STARTVALUE = 'startWaarde';
    Blockly.Msg.LANG_LISTS_POSITION_IN_TOOLTIP = 'Zoek de positie van het ding op in de lijst. Als het ding niet in de lijst zit, geef 0 terug.';
    Blockly.Msg.LANG_LISTS_INSERT_INPUT_LIST = 'lijst';
    Blockly.Msg.LANG_CONTROLS_CLOSE_SCREEN_WITH_PLAIN_TEXT_INPUT_TEXT = 'tekst';
    Blockly.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING = 'Waarschuwing:\nDit blok mag alleen\ngebruikt worden in een lus.';
    Blockly.Msg.REPL_AI_NO_SEE_DEVICE = 'AI2 ziet je toestel niet, zorg ervoor dat de kabel is aangesloten en dat de besturingsprogramma\'s juist zijn.';
    Blockly.Msg.LANG_LISTS_REPLACE_ITEM_INPUT_INDEX = 'index';
    Blockly.Msg.LANG_MATH_CONVERT_ANGLES_TOOLTIP_DEG_TO_RAD = 'Geeft de waarde in radialen terug volgens een schaal van\n[-π, +π) overeenkomstig met de graden.';
    Blockly.Msg.REPL_STARTING_EMULATOR = 'Bezig met opstarten van de Android Emulator
Even geduld: Dit kan een minuutje of twee duren (of koop snellere computer, grapke Pol! :p).';
    Blockly.Msg.REPL_RUNTIME_ERROR = 'Uitvoeringsfout';
    Blockly.Msg.LANG_CONTROLS_OPEN_ANOTHER_SCREEN_COLLAPSED_TEXT = 'open scherm';
    Blockly.Msg.REPL_FACTORY_RESET = 'Deze probeert jouw Emulator te herstellen in zijn initiële staat. Als je eerder je AI Companion had geupdate in de emulator, ga je dit waarschijnlijk op nieuw moeten doen. ';
    Blockly.Msg.LANG_LISTS_ADD_ITEM_TITLE = 'item';
    Blockly.Msg.LANG_CONTROLS_CHOOSE_TITLE = 'als';
    Blockly.Msg.LANG_CATEGORY_LISTS = 'Lijsten';
    Blockly.Msg.LANG_MATH_COMPARE_TOOLTIP_GT = 'Geeft waar terug als het eerste getal groter is\ndan het tweede getal.';
    Blockly.Msg.LANG_CONTROLS_CLOSE_APPLICATION_COLLAPSED_TEXT = 'sluit toepassing';
    Blockly.Msg.LANG_CONTROLS_GET_START_VALUE_COLLAPSED_TEXT = 'Krijg start waarde';
    Blockly.Msg.LANG_CONTROLS_CLOSE_SCREEN_COLLAPSED_TEXT = 'sluit scherm';
    Blockly.Msg.REMOVE_COMMENT = 'Commentaar Verwijderen';
    Blockly.Msg.LANG_PROCEDURES_DEFNORETURN_PROCEDURE = 'procedure';
    Blockly.Msg.REPL_OK_LOWER = 'OK';
    Blockly.Msg.LANG_MATH_SINGLE_OP_LN = 'log';
    Blockly.Msg.LANG_MATH_IS_A_BINARY_TOOLTIP = 'Test of iets een tekst is die een binair getal voorstelt.';
    Blockly.Msg.REPL_UNABLE_TO_UPDATE = 'Het is niet gelukt een update naar het toestel/emulator te sturen.';
    Blockly.Msg.LANG_LISTS_LENGTH_INPUT_LIST = 'lijst';
    Blockly.Msg.LANG_VARIABLES_LOCAL_DECLARATION_INPUT_TO = 'tot';
    Blockly.Msg.LANG_MATH_COMPARE_NEQ = '≠';
    Blockly.Msg.LANG_CONTROLS_FORRANGE_INPUT_STEP = 'bij';
    Blockly.Msg.LANG_MATH_COMPARE_GTE = '≥';
    Blockly.Msg.LANG_COMPONENT_BLOCK_METHOD_TITLE_CALL = 'aanroep ';
    Blockly.Msg.LANG_MATH_TRIG_ACOS = 'acos';
    Blockly.Msg.LANG_MATH_TRIG_TOOLTIP_ATAN = 'Geeft een hoek tussen [-90, +90]\ngraden met de gegeven tangens.';
    Blockly.Msg.LANG_PROCEDURES_DEFRETURN_DEFINE = 'tot';
    Blockly.Msg.LANG_MATH_ARITHMETIC_MINUS = '-';
    Blockly.Msg.LANG_PROCEDURES_DEFRETURN_RETURN = 'resultaat';
    Blockly.Msg.LANG_CONTROLS_IF_TOOLTIP_1 = 'Als een waarde waar is, voer dan enkele stappen uit.';
    Blockly.Msg.LANG_CONTROLS_IF_TOOLTIP_3 = 'Als de eerste waarde waar is, voer dan het eerste codeblok uit.\nAnders, als de tweede waarde waar is, voer het tweede codeblok uit.';
    Blockly.Msg.LANG_CONTROLS_IF_TOOLTIP_2 = 'Als de waarde waar is, voer dan het eerste codeblok uit.\nAnders, voer het tweede codeblok uit.';
    Blockly.Msg.LANG_MATH_ROUND_OPERATOR_FLOOR = 'naar beneden afgerond';
    Blockly.Msg.LANG_TEXT_APPEND_TO = 'naar';
    Blockly.Msg.LANG_CONTROLS_IF_ELSEIF_TOOLTIP = 'Voeg een test toe aan het als blok.';
    Blockly.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT = 'herhaal';
    Blockly.Msg.LANG_CONTROLS_FOR_INPUT_WITH = 'tel met';
    Blockly.Msg.LANG_VARIABLES_GLOBAL_DECLARATION_TOOLTIP = 'Maakt een globale variabele en geeft die de waarde van de geconnecteerde blokken';
    Blockly.Msg.CLEAR_DO_IT_ERROR = 'Wis Fout';
    Blockly.Msg.LANG_LISTS_TO_CSV_ROW_TITLE_TO_CSV = 'lijst to csv rij';
    Blockly.Msg.LANG_MATH_SINGLE_TOOLTIP_EXP = 'Geef e (2.71828...) tot de macht terug';
    Blockly.Msg.LANG_VARIABLES_LOCAL_DECLARATION_DEFAULT_NAME = 'naam';
    Blockly.Msg.LANG_MATH_ARITHMETIC_MULTIPLY = '*';
    Blockly.Msg.LANG_CONTROLS_CLOSE_APPLICATION_TOOLTIP = 'Sluit al de schermen af in deze app en stopt de app.';
    Blockly.Msg.MISSING_SOCKETS_WARNINGS = 'Je moet alle connecties opvullen met blokken';
    Blockly.Msg.LANG_MATH_ARITHMETIC_DIVIDE = '/';
    Blockly.Msg.LANG_CONTROLS_CLOSE_SCREEN_TOOLTIP = 'Sluit het huidige scherm';
    Blockly.Msg.LANG_LISTS_TO_CSV_TABLE_TOOLTIP = 'Interpreteert de lijst als een tabel in rij-eerst formaat en geeft een CSV (door komma\'s gescheiden waarden) tekst terug die de tabel voorstelt. Elk element in de lijst zou op zijn beurt zelf een lijst moeten zijn die een rij van de CSV tabel voorstelt. Elk element in de rij lijst wordt beschouwd als een veld, waarvan de uiteindelijke CSV tekst zich binnen dubbele aanhalingstekens bevindt. In de teruggegeven tekst worden de elementen in de rijen gescheiden door komma\'s en worden de rijen zelf gescheiden door CRLF (\\r\\n).';
    Blockly.Msg.LANG_CONTROLS_CLOSE_SCREEN_WITH_VALUE_TITLE = 'sluit venster met waarde';
    Blockly.Msg.LANG_TEXT_SPLIT_AT_TOOLTIP = 'Splitst de tekst in stukjes bij elke spatie.';
    Blockly.Msg.LANG_MATH_IS_A_NUMBER_TOOLTIP = 'Test of iets een getal is.';
    Blockly.Msg.LANG_LISTS_IS_LIST_TOOLTIP = 'Test of iets in een lijst zit.';
    Blockly.Msg.LANG_MATH_TRIG_TOOLTIP_ACOS = 'Geeft een hoek tussen [0, 180]\ngraden met de gegeven cosinus waarde.';
    Blockly.Msg.LANG_MATH_RANDOM_INT_TITLE_RANDOM = 'willekeurig getal';
    Blockly.Msg.ERROR_BLOCK_CANNOT_BE_IN_DEFINTION = 'Dit blok kan niet in een definitie';
    Blockly.Msg.LANG_MATH_DIVIDE_TOOLTIP_REMAINDER = 'Geef de rest terug.';
    Blockly.Msg.REPL_CONNECTING_USB_CABLE = 'Aan het connecteren via USB kabel';
    Blockly.Msg.LANG_MATH_FORMAT_AS_DECIMAL_INPUT_PLACES = 'plaatsen';
    Blockly.Msg.LANG_CONTROLS_FOR_INPUT_DO = 'doe';
    Blockly.Msg.LANG_CONTROLS_OPEN_ANOTHER_SCREEN_WITH_START_VALUE_COLLAPSED_TEXT = 'open scherm met waarde';
    Blockly.Msg.LANG_LISTS_APPEND_LIST_TOOLTIP = 'Voeg alle elementen van list2 achteraan toe bij lijst1. Na deze toevoegoperatie zal lijst1 de toegevoegde elementen bevatten, lijst2 zal niet gewijzigd zijn.';
    Blockly.Msg.REPL_COMPANION_OUT_OF_DATE_IMMEDIATE = 'Je gebrukt een oude Companion. Je zou zo snel mogelijk moeten upgraden naar MIT AI2 Companion. Als je automatisch updaten hebt ingesteld in de store, gebeurt de update binnenkort vanzelf.';
    Blockly.Msg.LANG_MATH_TRIG_TOOLTIP_COS = 'Geeft de cosinus van een gegeven hoek in graden.';
    Blockly.Msg.LANG_TEXT_SEGMENT_TITLE_SEGMENT = 'segment';
    Blockly.Msg.BACKPACK_GET = 'Plak Alle Blokken van Rugzak';
    Blockly.Msg.PROCEDURE_CATEGORY = 'Procedures';
    Blockly.Msg.LANG_TEXT_SEGMENT_INPUT_LENGTH = 'lengte';
    Blockly.Msg.LANG_COMPONENT_BLOCK_SETTER_TITLE_TO = ' tot';
    Blockly.Msg.LANG_LISTS_COPY_TITLE_COPY = 'copieer lijst';
    Blockly.Msg.LANG_LISTS_LENGTH_TOOLTIP = 'Telt het aantal elementen van een lijst';
    Blockly.Msg.LANG_VARIABLES_GET_TOOLTIP = 'Geeft de waarde van deze variabele terug.';
    Blockly.Msg.LANG_CONTROLS_WHILEUNTIL_INPUT_DO = 'doe';
    Blockly.Msg.LANG_TEXT_APPEND_VARIABLE = 'item';
    Blockly.Msg.LANG_MATH_ARITHMETIC_TOOLTIP_MULTIPLY = 'Geeft het product van twee getallen terug.';
    Blockly.Msg.REPL_OK = 'OK';
    Blockly.Msg.LANG_PROCEDURES_DOTHENRETURN_THEN_RETURN = 'resultaat';
    Blockly.Msg.LANG_CONTROLS_FORRANGE_INPUT_COLLAPSED_PREFIX = 'voor ';
    Blockly.Msg.LANG_MATH_TRIG_ATAN2_Y = 'j';
    Blockly.Msg.LANG_PROCEDURES_CALLRETURN_PROCEDURE = 'procedure';
    Blockly.Msg.LANG_PROCEDURES_DEFRETURN_DO = 'doe';
    Blockly.Msg.REPL_HELPER_NOT_RUNNING = 'De aiStarter helper lijkt niet opgestart
hulp nodig?';
    Blockly.Msg.LANG_TEXT_SEGMENT_AT_TOOLTIP = 'Haalt een deel van gegeven lengte uit de gegeven tekst\nstartend van de gegeven tekst op de gegeven positie. Positie \n1 betekent het begin van de tekst.';
    Blockly.Msg.LANG_LOGIC_OPERATION_OR = 'of';
    Blockly.Msg.WRONG_TYPE_BLOCK_WARINGS = 'Dit blok moet worden geconnecteerd met een gebeurtenisblok of de definitie van een procedure';
    Blockly.Msg.LANG_MATH_ARITHMETIC_TOOLTIP_MINUS = 'Geeft het verschil tussen twee getallen terug.';
    Blockly.Msg.LANG_TEXT_APPEND_TOOLTIP = 'Voeg wat tekst toe aan variabele "%1".';
    Blockly.Msg.LANG_TEXT_REPLACE_ALL_TITLE_REPLACE_ALL = 'vervang allemaal';
    Blockly.Msg.LANG_CONTROLS_WHILE_INPUT_TEST = 'test';
    Blockly.Msg.LANG_PROCEDURES_DEFNORETURN_COLLAPSED_PREFIX = 'tot ';
    Blockly.Msg.LANG_TEXT_TRIM_TITLE_TRIM = 'trim';
    Blockly.Msg.LANG_CONTROLS_FORRANGE_INPUT_VAR = 'getal';
    Blockly.Msg.LANG_CONTROLS_GET_START_VALUE_INPUT_STARTVALUE = 'startWaarde';
    Blockly.Msg.LANG_MATH_FORMAT_AS_DECIMAL_INPUT_NUM = 'getal';
    Blockly.Msg.LANG_MATH_TRIG_TOOLTIP_ATAN2 = 'Geeft een hoek in tussen [-180, +180]\ngraden met de gegeven rechthoekcoordinaten.';
    Blockly.Msg.REPL_YOUR_CODE_IS = 'Jouw code is';
    Blockly.Msg.LANG_TEXT_SPLIT_OPERATOR_SPLIT = 'splits';
    Blockly.Msg.LANG_CONTROLS_IF_IF_TITLE_IF = 'als';
    Blockly.Msg.LANG_CONTROLS_FOREACH_INPUT_DO = 'doe';
    Blockly.Msg.LANG_VARIABLES_LOCAL_DECLARATION_EXPRESSION_TRANSLATED_NAME = 'initializeer lokaal in return';
    Blockly.Msg.REPL_EMULATOR_STARTED = 'Emulator gestart, wachten ';
    Blockly.Msg.LANG_TEXT_SPLIT_OPERATOR_SPLIT_AT_FIRST = 'splits aan de eerste';
    Blockly.Msg.LANG_COLOUR_LIGHT_GRAY = 'lichtgrijs';
    Blockly.Msg.LANG_CONTROLS_WHILEUNTIL_TOOLTIP_1 = 'Voert de blokken in het \'doe\'-gedeelte uit zolang de test waar is.';
    Blockly.Msg.DUPLICATE_BLOCK = 'Dupliceer';
    Blockly.Msg.SORT_H = 'Soorteer Blokken op Hoogte';
    Blockly.Msg.ARRANGE_V = 'Organizeer Blokken Vertikaal';
    Blockly.Msg.LANG_PROCEDURES_DEFNORETURN_DEFINE = 'tot';
    Blockly.Msg.LANG_MATH_RANDOM_INT_INPUT = 'willekeurig getal tussen %1 en %2';
    Blockly.Msg.LANG_LOGIC_COMPARE_TOOLTIP_EQ = 'Test of twee dingen gelijk zijn. \nDe dingen die worden vergeleken kunnen vanalles zijn, niet enkel getallen. \nGetallen worden als gelijk beschouwd aan hun tekstvorm, \nbijvoorbeeld, het getal 0 is gelijk aan de tekst "0".  Ook two tekstvelden \ndie getallen voorstellen zijn gelijk aan elkaar als de getallen gelijk zijn aan mekaar. \n"1" is gelijk aan "01".';
    Blockly.Msg.LANG_LOGIC_COMPARE_EQ = '=';
    Blockly.Msg.RENAME_VARIABLE = 'Geef variabele een andere naam...';
    Blockly.Msg.LANG_MATH_RANDOM_INT_TOOLTIP = 'Geeft een willekeurige geheel getal tussen de boven en de\nondergrens. De grenzen worden afgerond tot getallen kleiner\ndan 2**30.';
    Blockly.Msg.LANG_LOGIC_BOOLEAN_TRUE = 'waar';
    Blockly.Msg.LANG_CONTROLS_FOREACH_INPUT_ITEM = 'voor elk';
    Blockly.Msg.LANG_LISTS_PICK_RANDOM_TOOLTIP = 'Neem een willekeurig element van de lijst.';
    Blockly.Msg.LANG_LISTS_REPLACE_ITEM_INPUT_REPLACEMENT = 'vervanging';
    Blockly.Msg.LANG_CONTROLS_CLOSE_SCREEN_WITH_PLAIN_TEXT_TITLE = 'Sluit het venster met gewone tekst';
    Blockly.Msg.REPL_UNABLE_TO_LOAD_NO_RESPOND = 'Kan geen update laden van de App Inventor server (de server antwoordt niet)';
    Blockly.Msg.LANG_TEXT_SEGMENT_INPUT_START = 'start';
    Blockly.Msg.LANG_CONTROLS_DO_THEN_RETURN_TITLE = 'doe resultaat';
    Blockly.Msg.LANG_PROCEDURES_DEFNORETURN_TOOLTIP = 'Een procedure die geen waarde teruggeeft.';
    Blockly.Msg.LANG_MATH_IS_A_HEXADECIMAL_TOOLTIP = 'Tests of iets een tekst is die een hexadecimaal getal voorstelt.';
    Blockly.Msg.LANG_TEXT_REPLACE_ALL_TOOLTIP = 'Geeft een nieuwe tekst terug door alle stukjes tekst zoals het segment\nte vervangen door de vervangtekst.';
    Blockly.Msg.LANG_VARIABLES_SET_TOOLTIP = 'Zet deze variabele gelijk aan de input.';
    Blockly.Msg.REPL_ERROR_FROM_COMPANION = 'Fout van de Companion';
    Blockly.Msg.LANG_LOGIC_COMPARE_TOOLTIP_NEQ = 'Geef waar terug als beide inputs niet gelijk zijn aan elkaar.';
    Blockly.Msg.LANG_COMPONENT_BLOCK_GENERIC_SETTER_TITLE_OF_COMPONENT = 'van de component';
    Blockly.Msg.LANG_CONTROLS_DO_THEN_RETURN_COLLAPSED_TEXT = 'doe/resultaat';
    Blockly.Msg.LANG_LISTS_CREATE_WITH_ITEM_TOOLTIP = 'Voeg een element toe aan de lijst.';
    Blockly.Msg.LANG_TEXT_CHANGECASE_OPERATOR_DOWNCASE = 'naar kleine letters';
    Blockly.Msg.LANG_CONTROLS_FOREACH_INPUT_COLLAPSED_TEXT = 'voor element in lijst';
    Blockly.Msg.COLLAPSE_ALL = 'Klap blokken dicht';
    Blockly.Msg.LANG_PROCEDURES_DEF_DUPLICATE_WARNING = 'Waarschuwing:\nDeze procedure heeft\ndubbele inputs.';
    Blockly.Msg.LANG_CONTROLS_CHOOSE_COLLAPSED_TEXT = 'als';
    Blockly.Msg.REPL_NETWORK_ERROR = 'Netwerkfout';
    Blockly.Msg.LANG_MATH_CONVERT_NUMBER_TITLE_CONVERT = 'zet getal om';
    Blockly.Msg.COLLAPSE_BLOCK = 'Klap blok dicht';
    Blockly.Msg.LANG_LISTS_ADD_ITEMS_TITLE_ADD = 'voeg dingen toe aan lijst';
    Blockly.Msg.REPL_COMPANION_STARTED_WAITING = 'Companion start op, effe wachten ...';
    Blockly.Msg.LANG_MATH_CONVERT_NUMBER_TOOLTIP_BIN_TO_DEC = 'Neemt een tekst die een binair getal voorstelt en geeft de tekst terug die dat getal decimaal voorstelt';
    Blockly.Msg.LANG_LOGIC_NEGATE_TOOLTIP = 'Geeft waar terug wanneer de input niet waar is.\nGeeft niet waar terug waneer de input waar is.';
    Blockly.Msg.LANG_MATH_DIVIDE_OPERATOR_REMAINDER = 'de rest van';
    Blockly.Msg.LANG_TEXT_SPLIT_OPERATOR_SPLIT_AT_FIRST_OF_ANY = 'splits bij de eerste van';
    Blockly.Msg.SHOW_WARNINGS = 'Toon Waarschuwingen';
    Blockly.Msg.LANG_MATH_CONVERT_NUMBER_OP_DEC_TO_BIN = 'decimaal naar binair';
    Blockly.Msg.LANG_VARIABLES_LOCAL_DECLARATION_TITLE_INIT = 'initializeer lokaal';
    Blockly.Msg.REPL_DEVICES = 'apparaten';
    Blockly.Msg.LANG_CONTROLS_CHOOSE_INPUT_THEN_RETURN = 'dan';
    Blockly.Msg.LANG_TEXT_SPLIT_INPUT_AT = 'op';
    Blockly.Msg.LANG_CONTROLS_FORRANGE_INPUT_COLLAPSED_TEXT = 'voor getal in een zeker bereik';
    Blockly.Msg.LANG_MATH_SINGLE_OP_ROOT = 'vierkantswortel';
    Blockly.Msg.LANG_MATH_COMPARE_EQ = '=';
    Blockly.Msg.LANG_MATH_ONLIST_TOOLTIP_MIN = 'Geeft het kleinste van zijn argumenten terug..';
    Blockly.Msg.LANG_MATH_ONLIST_TOOLTIP_MAX = 'Geeft het grootste van zijn argumenten terug..';

    Blockly.Msg.TIME_YEARS = "Jaren";
    Blockly.Msg.TIME_MONTHS = "Maanden";
    Blockly.Msg.TIME_WEEKS = "Weken";
    Blockly.Msg.TIME_DAYS = "Dagen";
    Blockly.Msg.TIME_HOURS = "Uren";
    Blockly.Msg.TIME_MINUTES = "Minuten";
    Blockly.Msg.TIME_SECONDS = "Seconden";
    Blockly.Msg.TIME_DURATION = "Duurtijd";

    Blockly.Msg.SHOW_BACKPACK_DOCUMENTATION = "Toon Rugzak informatie";
    Blockly.Msg.ENABLE_GRID = 'Toon Werkruimte raster';
    Blockly.Msg.DISABLE_GRID = 'Werkruimte raster verbergen';
    Blockly.Msg.ENABLE_SNAPPING = 'Uitlijnen op raster aanzetten';
    Blockly.Msg.DISABLE_SNAPPING = 'Uitlijnen op raster uitzetten';

  }
};
// Initalize language definition to Dutch
Blockly.Msg.nl.switch_blockly_language_to_nl.init();
Blockly.Msg.nl.switch_language_to_dutch.init();


text:
    <d2-left-bar></d2-left-bar>

            <input type="text" id="searchField" name="key"/>
            <input type="button" value="{{'find'| translate}}" onclick="selection.findByName()"/>

        {{'loading_tree'| translate}}

        {{'loading_metadata'| translate}}

    <input type="hidden" class="form-control" selected-org-unit ng-model="selectedOrgUnit.displayName">

                {{'full_data_export'| translate}}

                {{'full_data_export_heading' | translate}}
                 {{selectedOrgUnit.n}}  / {{model.selectedPeriod.id}}

                <form class="form-horizontal" role="form" name="reportForm" novalidate>

                            {{'report_filters'| translate}}

                                    {{'select_org_unit'| translate}}
                                    *

                                    <input class="form-control" ng-disabled="true" ng-model="selectedOrgUnit.displayName">

                                    {{'mapping_year'| translate}}
                                    *

                                            <select ng-model="model.selectedPeriod"
                                                    ng-required="true"
                                                    name="selectedPeriod"
                                                    class="form-control"
                                                    ng-options="period as period.name for period in model.periods">
                                                <option value="">{{'please_select'| translate}}</option>
                                            </select>

                                                <button type="button" class="btn btn-default" ng-click="getPeriods('PRV')" title="{{'previous_periods'| translate}}">{{'prev'| translate}}</button>

                                                <button type="button" class="btn btn-default" ng-disabled="periodOffset > -1" ng-click="getPeriods('NXT')" title="{{'next_periods'| translate}}">{{'next'| translate}}</button>

                                    {{'action_select_label'| translate}}*

                                    <d2-multi-select
                                        ng-model="model.selectedDataSets"
                                        available="model.dataSets"
                                        available-label="{{'available'| translate}}"
                                        selected-label="{{'selected'| translate}}"
                                        display-attr="displayName">
                                    </d2-multi-select>

                            <button type="button"
                                    class="btn btn-default"
                                    ng-disabled="selectedOrgUnit.l > model.dataEntryLevel.level"
                                    ng-click="getReport()">
                                {{'submit'| translate}}
                            </button>

                </form>

                        {{'generating_report'| translate}}

 model.dataEntryLevel.level">
                        {{'please_select_a' | translate }} {{model.dataEntryLevel.displayName}}

                        {{'no_data_exists'| translate}}

                    <button type="button"
                            class="btn btn-primary"
                            title="{{'export_excel'| translate}}"
                            ng-click="exportData()">

                    </button>

                                    {{ header.displayName}}

                                    {{header.domain === 'EV' ? data.roles[header.id].sort().join(", ") : data[header.id]}}