<commit_before><!--

    JBoss, Home of Professional Open Source.
    Copyright 2014 Red Hat, Inc., and individual contributors
    as indicated by the @author tags.

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

-->
<div>
  <pnc-header>
    <pnc-header-title>{{ detailCtrl.configuration.name || 'Empty' }}</pnc-header-title>
    <pnc-header-buttons>
      <div class="btn-group">
        <button class="btn btn-lg btn-default ng-scope" tooltip="Start Build" tooltip-placement="bottom" ng-click="detailCtrl.build()">
          <i class="fa fa-play"></i>
          <span class="shrink">Build</span>
        </button>
        <ul class="dropdown-menu"></ul>
          <button class="btn btn-lg btn-default dropdown-toggle ng-scope" tooltip="Start Build forcing rebuilds" tooltip-placement="bottom" data-toggle="dropdown">
            <span class="caret"></span>
          </button>
          <ul class="dropdown-menu">
            <li>
              <a href ng-click="detailCtrl.forceBuild()"><span><i class="fa fa-play fa-color-red"></i>   Build forcing all rebuilds</span></a>
            </li>
          </ul>
      </div>
      <button type="button" class="btn btn-lg btn-default" data-toggle="tooltip" title="Clone Build Config" ng-click="detailCtrl.clone()"><i class="fa fa-files-o"></i> Clone</button>
      <button type="button" class="btn btn-lg btn-default" data-toggle="tooltip" title="Edit Build Config" ng-click="configurationForm.$show()" ng-class="{ 'active': configurationForm.$visible }"><i class="pficon pficon-edit"></i> Edit</button>
      <button ng-hide="true" type="button" class="btn btn-lg btn-danger" data-toggle="tooltip" title="Delete Build Config" pnc-confirm-click="detailCtrl.delete()" pnc-confirm-message="{{ 'Confirm the deletion of Build Configuration: ' + detailCtrl.configuration.name + ' ?'}}"><i class="pficon pficon-delete"></i> Delete</button>
    </pnc-header-buttons>
  </pnc-header>

  <div class="row">
    <div class="col-md-12">
      <form editable-form class="form-horizontal" name="configurationForm" onbeforesave="detailCtrl.update()" novalidate>

        <div class="form-group" ng-class="{ 'has-error' : configurationForm.name.$invalid && configurationForm.name.$touched, 'has-success': configurationForm.name.$valid && configurationForm.name.$touched }">
          <label for="input-name" class="col-sm-2 control-label" ng-show="configurationForm.$visible">* Name</label>
          <label for="input-name" class="col-sm-2 control-label" ng-show="!configurationForm.$visible">Name</label>
          <div class="col-sm-10">
            <p id="input-name" class="form-control-static" e-pattern="^[a-zA-Z0-9_.][a-zA-Z0-9_.-]*(?!\.git)+$" e-class="form-control" editable-text="detailCtrl.configuration.name" e-name="name" e-maxlength="255" e-required>{{ detailCtrl.configuration.name || 'Empty' }}</p>
            <span class="help-block" ng-show="configurationForm.name.$error.required && configurationForm.name.$touched">Required field.</span>
            <span class="help-block" ng-show="configurationForm.name.$error.pattern && configurationForm.name.$touched">The name contains not allowed characters (e.g spaces, commas, semicolons, apex, quotes) </span>
          </div>
        </div>

        <div class="form-group">
          <label for="static-project" class="col-sm-2 control-label">Project</label>
          <div class="col-sm-10">
            <p id="static-project" class="form-control-static">
              <a ui-sref="project.detail({projectId: detailCtrl.configuration.project.id})" href>
                {{ detailCtrl.configuration.project.name }}
              </a>
            </p>
          </div>
        </div>

        <div class="form-group">
          <label for="static-description" class="col-sm-2 control-label">Description</label>
          <div class="col-sm-10">
            <p id="static-description" class="form-control-static" e-class="form-control" editable-textarea="detailCtrl.configuration.description" e-name="description">{{ detailCtrl.configuration.description || 'Empty' }}</p>
          </div>
        </div>

        <div class="form-group" ng-class="{ 'has-error': configurationForm.scmRepoURL.$invalid && configurationForm.scmRepoURL.$touched, 'has-success': configurationForm.scmRepoURL.$valid && configurationForm.scmRepoURL.$touched }">
          <label for="input-scm-repo-url" class="col-sm-2 control-label" ng-show="configurationForm.$visible">* SCM Url</label>
          <label for="input-scm-repo-url" class="col-sm-2 control-label" ng-show="!configurationForm.$visible">SCM Url</label>
          <div class="col-sm-10">
            <p e-required e-type="url" id="input-scm-repo-url" class="form-control-static" e-class="form-control" editable-text="detailCtrl.configuration.scmRepoURL" e-name="scmRepoURL" e-maxlength="255">{{ detailCtrl.configuration.scmRepoURL || 'Empty' }}</p>
            <span class="help-block" ng-show="configurationForm.scmRepoURL.$error.required && configurationForm.scmRepoURL.$touched">Required field.</span>
            <span class="help-block" ng-show="configurationForm.scmRepoURL.$error.url && configurationForm.scmRepoURL.$touched">Malformed URL.</span>
          </div>
        </div>

        <div class="form-group" ng-class="{ 'has-error': configurationForm.scmRevision.$invalid && configurationForm.scmRevision.$touched, 'has-success': configurationForm.scmRevision.$valid && configurationForm.scmRevision.$touched }">
          <label for="input-scm-revision" class="col-sm-2 control-label" ng-show="configurationForm.$visible">* SCM Revision</label>
          <label for="input-scm-revision" class="col-sm-2 control-label" ng-show="!configurationForm.$visible">SCM Revision</label>
          <div class="col-sm-10">
            <p e-required id="input-scm-revision" class="form-control-static" e-class="form-control" editable-text="detailCtrl.configuration.scmRevision" e-name="scmRevision" e-maxlength="255">{{ detailCtrl.configuration.scmRevision || 'Empty' }}</p>
            <span class="help-block" ng-show="configurationForm.scmRevision.$error.required && configurationForm.scmRevision.$touched">Required field.</span>
          </div>
        </div>

        <div class="form-group" ng-class="{ 'has-error': configurationForm.buildScript.$invalid && configurationForm.buildScript.$touched, 'has-success': configurationForm.buildScript.$valid && configurationForm.buildScript.$touched }">
          <label for="input-build-script" class="col-sm-2 control-label" ng-show="configurationForm.$visible">* Build Script</label>
          <label for="input-build-script" class="col-sm-2 control-label" ng-show="!configurationForm.$visible">Build Script</label>
          <div class="col-sm-10">
            <pre e-required id="input-build-script" e-class="form-control" editable-textarea="detailCtrl.configuration.buildScript" e-name="buildScript">{{ detailCtrl.configuration.buildScript || 'Empty' }}</pre>
            <span class="help-block" ng-show="configurationForm.buildScript.$error.required && configurationForm.buildScript.$touched">Required field.</span>
          </div>
        </div>

        <div class="form-group">
          <label for="static-created" class="col-sm-2 control-label">Created</label>
          <div class="col-sm-10">
            <p id="static-created" class="form-control-static">{{ detailCtrl.configuration.creationTime | date:'medium'}}</p>
          </div>
        </div>

        <div class="form-group">
          <label for="static-modified" class="col-sm-2 control-label">Modified</label>
          <div class="col-sm-10">
            <p id="static-modified" class="form-control-static">{{ detailCtrl.configuration.lastModificationTime | date:'medium'}}</p>
          </div>
        </div>

            <!--<div class="form-group">
              <label for="input-repositories" class="col-sm-2 control-label">Repositories</label>
              <div class="col-sm-10">
                <p id="input-repositories" class="form-control-static" e-class="form-control" editable-text="detailCtrl.configuration.repositories" e-name="repositories">{{ detailCtrl.configuration.repositories || 'Empty' }}</p>
              </div>
            </div>-->

        <div class="form-group">
          <label for="input-product-versions" class="col-sm-2 control-label">Product Versions</label>
          <div class="col-sm-10">
            <!-- Show when edit is not selected -->
            <ul class="list-inline form-control-static" ng-hide="configurationForm.$visible">
              <li ng-repeat="version in detailCtrl.productVersions.selected">
               <a href ui-sref="product.detail.version({ productId: version.productId, versionId: version.id })"><span class="text-bold">{{ version.productName }}</span> - {{ version.version }}</a>
              </li>
            </ul>
            <pnc-infinite-select-product-versions 
              ng-show="configurationForm.$visible"
              selected-items="detailCtrl.productVersions.selected"
              infinite-select-required="false" 
              infinite-select-id="input-pv"
              placeholder="Scroll & Filter Product Versions..."
              items="detailCtrl.products">
            </pnc-infinite-select-product-versions>
          </div>
        </div>

        <div class="form-group">
          <label for="input-dependencies" class="col-sm-2 control-label">Dependencies</label>
          <div class="col-sm-10">
            <ul class="list-unstyled form-control-static" ng-hide="configurationForm.$visible">
              <li ng-repeat="dependency in detailCtrl.dependencies.selected">
                <a href ui-sref="configuration.detail.show({ configurationId: dependency.id })">{{ dependency.name }}</a>
              </li>
            </ul>
            <pnc-infinite-select-items
               ng-show="configurationForm.$visible"
               selected-items="detailCtrl.dependencies.selected"
               infinite-select-required="false"
               infinite-select-id="input-dependencies"
               placeholder="Scroll & Filter Dependencies..."
               items="detailCtrl.configurations"></pnc-infinite-select-items>
          </div>
        </div>

        <div class="form-group" ng-class="{ 'has-error' : !detailCtrl.environment.id, 'has-success': detailCtrl.environment.id && configurationForm.environmentId.$touched }">
          <label for="input-environment" class="col-sm-2 control-label" ng-show="configurationForm.$visible">* Environment</label>
          <label for="input-environment" class="col-sm-2 control-label" ng-show="!configurationForm.$visible">Environment</label>
          <div class="col-sm-10">

             <p ng-hide="configurationForm.$visible" id="input-environment" class="form-control-static">{{ detailCtrl.environment.name }}</p>
             <pnc-infinite-select-items
                ng-show="configurationForm.$visible"
                single-item="true" 
                selected-items="detailCtrl.environmentSelection.selected"
                infinite-select-required="true"
                infinite-select-id="environmentId" 
                placeholder="Scroll & Filter Environments..." 
                items="detailCtrl.environments"
                item-id="detailCtrl.environment.id">
              </pnc-infinite-select-items>
             <span class="help-block" ng-show="!detailCtrl.environment.id">Required field.</span>
          </div>
        </div>

        <div class="form-group">
          <label for="input-build-group-configs" class="col-sm-2 control-label">Build Group Configs</label>
          <div class="col-sm-10">
            <ul class="list-unstyled form-control-static" ng-hide="configurationForm.$visible">
              <li ng-repeat="buildgroupconfig in detailCtrl.buildgroupconfigs.selected">
                <a href ui-sref="configuration-set.detail({ configurationSetId: buildgroupconfig.id })">{{ buildgroupconfig.name }}</a>
              </li>
            </ul>
            <pnc-infinite-select-items
               ng-show="configurationForm.$visible"
               selected-items="detailCtrl.buildgroupconfigs.selected"
               infinite-select-required="false"
               infinite-select-id="input-build-group-configs"
               placeholder="Scroll & Filter Build Group Configs..."
               items="detailCtrl.configurationSetList"></pnc-infinite-select-items>
          </div>
        </div>

        <div class="form-group" ng-show="configurationForm.$visible">
          <div class="col-sm-offset-2 col-sm-10">
            <button type="submit" class="btn btn-primary" ng-disabled="configurationForm.$waiting || configurationForm.$invalid || !detailCtrl.environment.id">
              Save
            </button>
            <button type="button" class="btn btn-default" ng-disabled="configurationForm.$waiting" ng-click="detailCtrl.cancel(configurationForm)">
              Cancel
            </button>
          </div>
        </div>
      </form>
    </div>
  </div>
</div>
<commit_msg>NCL-1657 - Fix validation for edit state<commit_after><!--

    JBoss, Home of Professional Open Source.
    Copyright 2014 Red Hat, Inc., and individual contributors
    as indicated by the @author tags.

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

-->
<div>
  <pnc-header>
    <pnc-header-title>{{ detailCtrl.configuration.name || 'Empty' }}</pnc-header-title>
    <pnc-header-buttons>
      <div class="btn-group">
        <button class="btn btn-lg btn-default ng-scope" tooltip="Start Build" tooltip-placement="bottom" ng-click="detailCtrl.build()">
          <i class="fa fa-play"></i>
          <span class="shrink">Build</span>
        </button>
        <ul class="dropdown-menu"></ul>
          <button class="btn btn-lg btn-default dropdown-toggle ng-scope" tooltip="Start Build forcing rebuilds" tooltip-placement="bottom" data-toggle="dropdown">
            <span class="caret"></span>
          </button>
          <ul class="dropdown-menu">
            <li>
              <a href ng-click="detailCtrl.forceBuild()"><span><i class="fa fa-play fa-color-red"></i>   Build forcing all rebuilds</span></a>
            </li>
          </ul>
      </div>
      <button type="button" class="btn btn-lg btn-default" data-toggle="tooltip" title="Clone Build Config" ng-click="detailCtrl.clone()"><i class="fa fa-files-o"></i> Clone</button>
      <button type="button" class="btn btn-lg btn-default" data-toggle="tooltip" title="Edit Build Config" ng-click="configurationForm.$show()" ng-class="{ 'active': configurationForm.$visible }"><i class="pficon pficon-edit"></i> Edit</button>
      <button ng-hide="true" type="button" class="btn btn-lg btn-danger" data-toggle="tooltip" title="Delete Build Config" pnc-confirm-click="detailCtrl.delete()" pnc-confirm-message="{{ 'Confirm the deletion of Build Configuration: ' + detailCtrl.configuration.name + ' ?'}}"><i class="pficon pficon-delete"></i> Delete</button>
    </pnc-header-buttons>
  </pnc-header>

  <div class="row">
    <div class="col-md-12">
      <form editable-form class="form-horizontal" name="configurationForm" onbeforesave="detailCtrl.update()" novalidate>

        <div class="form-group" ng-class="{ 'has-error' : configurationForm.name.$invalid && configurationForm.name.$touched, 'has-success': configurationForm.name.$valid && configurationForm.name.$touched }">
          <label for="input-name" class="col-sm-2 control-label" ng-show="configurationForm.$visible">* Name</label>
          <label for="input-name" class="col-sm-2 control-label" ng-show="!configurationForm.$visible">Name</label>
          <div class="col-sm-10">
            <p id="input-name" class="form-control-static" e-pattern="^[a-zA-Z0-9_.][a-zA-Z0-9_.-]*(?!\.git)+$" e-class="form-control" editable-text="detailCtrl.configuration.name" e-name="name" e-maxlength="255" e-required>{{ detailCtrl.configuration.name || 'Empty' }}</p>
            <span class="help-block" ng-show="configurationForm.name.$error.required && configurationForm.name.$touched">Required field.</span>
            <span class="help-block" ng-show="configurationForm.name.$error.pattern && configurationForm.name.$touched">The name contains not allowed characters (e.g spaces, commas, semicolons, apex, quotes) </span>
          </div>
        </div>

        <div class="form-group">
          <label for="static-project" class="col-sm-2 control-label">Project</label>
          <div class="col-sm-10">
            <p id="static-project" class="form-control-static">
              <a ui-sref="project.detail({projectId: detailCtrl.configuration.project.id})" href>
                {{ detailCtrl.configuration.project.name }}
              </a>
            </p>
          </div>
        </div>

        <div class="form-group">
          <label for="static-description" class="col-sm-2 control-label">Description</label>
          <div class="col-sm-10">
            <p id="static-description" class="form-control-static" e-class="form-control" editable-textarea="detailCtrl.configuration.description" e-name="description">{{ detailCtrl.configuration.description || 'Empty' }}</p>
          </div>
        </div>

        <div class="form-group" ng-class="{ 'has-error': configurationForm.scmRepoURL.$invalid && configurationForm.scmRepoURL.$touched, 'has-success': configurationForm.scmRepoURL.$valid && configurationForm.scmRepoURL.$touched }">
          <label for="input-scm-repo-url" class="col-sm-2 control-label" ng-show="configurationForm.$visible">* SCM Url</label>
          <label for="input-scm-repo-url" class="col-sm-2 control-label" ng-show="!configurationForm.$visible">SCM Url</label>
          <div class="col-sm-10">
            <p e-required e-type="text" id="input-scm-repo-url" class="form-control-static" e-class="form-control" editable-text="detailCtrl.configuration.scmRepoURL" e-name="scmRepoURL" e-maxlength="255">{{ detailCtrl.configuration.scmRepoURL || 'Empty' }}</p>
            <span class="help-block" ng-show="configurationForm.scmRepoURL.$error.required && configurationForm.scmRepoURL.$touched">Required field.</span>
          </div>
        </div>

        <div class="form-group" ng-class="{ 'has-error': configurationForm.scmRevision.$invalid && configurationForm.scmRevision.$touched, 'has-success': configurationForm.scmRevision.$valid && configurationForm.scmRevision.$touched }">
          <label for="input-scm-revision" class="col-sm-2 control-label" ng-show="configurationForm.$visible">* SCM Revision</label>
          <label for="input-scm-revision" class="col-sm-2 control-label" ng-show="!configurationForm.$visible">SCM Revision</label>
          <div class="col-sm-10">
            <p e-required id="input-scm-revision" class="form-control-static" e-class="form-control" editable-text="detailCtrl.configuration.scmRevision" e-name="scmRevision" e-maxlength="255">{{ detailCtrl.configuration.scmRevision || 'Empty' }}</p>
            <span class="help-block" ng-show="configurationForm.scmRevision.$error.required && configurationForm.scmRevision.$touched">Required field.</span>
          </div>
        </div>

        <div class="form-group" ng-class="{ 'has-error': configurationForm.buildScript.$invalid && configurationForm.buildScript.$touched, 'has-success': configurationForm.buildScript.$valid && configurationForm.buildScript.$touched }">
          <label for="input-build-script" class="col-sm-2 control-label" ng-show="configurationForm.$visible">* Build Script</label>
          <label for="input-build-script" class="col-sm-2 control-label" ng-show="!configurationForm.$visible">Build Script</label>
          <div class="col-sm-10">
            <pre e-required id="input-build-script" e-class="form-control" editable-textarea="detailCtrl.configuration.buildScript" e-name="buildScript">{{ detailCtrl.configuration.buildScript || 'Empty' }}</pre>
            <span class="help-block" ng-show="configurationForm.buildScript.$error.required && configurationForm.buildScript.$touched">Required field.</span>
          </div>
        </div>

        <div class="form-group">
          <label for="static-created" class="col-sm-2 control-label">Created</label>
          <div class="col-sm-10">
            <p id="static-created" class="form-control-static">{{ detailCtrl.configuration.creationTime | date:'medium'}}</p>
          </div>
        </div>

        <div class="form-group">
          <label for="static-modified" class="col-sm-2 control-label">Modified</label>
          <div class="col-sm-10">
            <p id="static-modified" class="form-control-static">{{ detailCtrl.configuration.lastModificationTime | date:'medium'}}</p>
          </div>
        </div>

            <!--<div class="form-group">
              <label for="input-repositories" class="col-sm-2 control-label">Repositories</label>
              <div class="col-sm-10">
                <p id="input-repositories" class="form-control-static" e-class="form-control" editable-text="detailCtrl.configuration.repositories" e-name="repositories">{{ detailCtrl.configuration.repositories || 'Empty' }}</p>
              </div>
            </div>-->

        <div class="form-group">
          <label for="input-product-versions" class="col-sm-2 control-label">Product Versions</label>
          <div class="col-sm-10">
            <!-- Show when edit is not selected -->
            <ul class="list-inline form-control-static" ng-hide="configurationForm.$visible">
              <li ng-repeat="version in detailCtrl.productVersions.selected">
               <a href ui-sref="product.detail.version({ productId: version.productId, versionId: version.id })"><span class="text-bold">{{ version.productName }}</span> - {{ version.version }}</a>
              </li>
            </ul>
            <pnc-infinite-select-product-versions
              ng-show="configurationForm.$visible"
              selected-items="detailCtrl.productVersions.selected"
              infinite-select-required="false"
              infinite-select-id="input-pv"
              placeholder="Scroll & Filter Product Versions..."
              items="detailCtrl.products">
            </pnc-infinite-select-product-versions>
          </div>
        </div>

        <div class="form-group">
          <label for="input-dependencies" class="col-sm-2 control-label">Dependencies</label>
          <div class="col-sm-10">
            <ul class="list-unstyled form-control-static" ng-hide="configurationForm.$visible">
              <li ng-repeat="dependency in detailCtrl.dependencies.selected">
                <a href ui-sref="configuration.detail.show({ configurationId: dependency.id })">{{ dependency.name }}</a>
              </li>
            </ul>
            <pnc-infinite-select-items
               ng-show="configurationForm.$visible"
               selected-items="detailCtrl.dependencies.selected"
               infinite-select-required="false"
               infinite-select-id="input-dependencies"
               placeholder="Scroll & Filter Dependencies..."
               items="detailCtrl.configurations"></pnc-infinite-select-items>
          </div>
        </div>

        <div class="form-group" ng-class="{ 'has-error' : !detailCtrl.environment.id, 'has-success': detailCtrl.environment.id && configurationForm.environmentId.$touched }">
          <label for="input-environment" class="col-sm-2 control-label" ng-show="configurationForm.$visible">* Environment</label>
          <label for="input-environment" class="col-sm-2 control-label" ng-show="!configurationForm.$visible">Environment</label>
          <div class="col-sm-10">

             <p ng-hide="configurationForm.$visible" id="input-environment" class="form-control-static">{{ detailCtrl.environment.name }}</p>
             <pnc-infinite-select-items
                ng-show="configurationForm.$visible"
                single-item="true"
                selected-items="detailCtrl.environmentSelection.selected"
                infinite-select-required="true"
                infinite-select-id="environmentId"
                placeholder="Scroll & Filter Environments..."
                items="detailCtrl.environments"
                item-id="detailCtrl.environment.id">
              </pnc-infinite-select-items>
             <span class="help-block" ng-show="!detailCtrl.environment.id">Required field.</span>
          </div>
        </div>

        <div class="form-group">
          <label for="input-build-group-configs" class="col-sm-2 control-label">Build Group Configs</label>
          <div class="col-sm-10">
            <ul class="list-unstyled form-control-static" ng-hide="configurationForm.$visible">
              <li ng-repeat="buildgroupconfig in detailCtrl.buildgroupconfigs.selected">
                <a href ui-sref="configuration-set.detail({ configurationSetId: buildgroupconfig.id })">{{ buildgroupconfig.name }}</a>
              </li>
            </ul>
            <pnc-infinite-select-items
               ng-show="configurationForm.$visible"
               selected-items="detailCtrl.buildgroupconfigs.selected"
               infinite-select-required="false"
               infinite-select-id="input-build-group-configs"
               placeholder="Scroll & Filter Build Group Configs..."
               items="detailCtrl.configurationSetList"></pnc-infinite-select-items>
          </div>
        </div>

        <div class="form-group" ng-show="configurationForm.$visible">
          <div class="col-sm-offset-2 col-sm-10">
            <button type="submit" class="btn btn-primary" ng-disabled="configurationForm.$waiting || configurationForm.$invalid || !detailCtrl.environment.id">
              Save
            </button>
            <button type="button" class="btn btn-default" ng-disabled="configurationForm.$waiting" ng-click="detailCtrl.cancel(configurationForm)">
              Cancel
            </button>
          </div>
        </div>
      </form>
    </div>
  </div>
</div>

{'fraction_non_alphanumeric': 0.15836568681826585, 'fraction_numerical': 0.005324459234608985, 'mean_word_length': 2.9157376574489646, 'pattern_counts': {'":': 0, '<': 427, '<?xml version=': 0, '>': 427, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6538292', 'n_tokens_mistral': 7760, 'n_tokens_neox': 7539, 'n_words': 1394}