<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="ChangeListManager">
    <list default="true" id="1b7c801d-6de7-4586-a086-4f79289fdc67" name="Default" comment="">
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/package.json" afterPath="$PROJECT_DIR$/package.json" />
    </list>
    <ignored path="$PROJECT_DIR$/.tmp/" />
    <ignored path="$PROJECT_DIR$/temp/" />
    <ignored path="$PROJECT_DIR$/tmp/" />
    <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
    <option name="TRACKING_ENABLED" value="true" />
    <option name="SHOW_DIALOG" value="false" />
    <option name="HIGHLIGHT_CONFLICTS" value="true" />
    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
    <option name="LAST_RESOLUTION" value="IGNORE" />
  </component>
  <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
  <component name="FileEditorManager">
    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
      <file leaf-file-name="package.json" pinned="false" current-in-tab="true">
        <entry file="file://$PROJECT_DIR$/package.json">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="30">
              <caret line="2" column="19" lean-forward="false" selection-start-line="2" selection-start-column="19" selection-end-line="2" selection-end-column="19" />
              <folding>
                <marker date="1486275067000" expanded="true" signature="1668:1722" ph="{&quot;chai&quot;: &quot;^3.5.0&quot;...}" />
              </folding>
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name=".travis.yml" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/.travis.yml">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="150">
              <caret line="10" column="7" lean-forward="false" selection-start-line="10" selection-start-column="7" selection-end-line="10" selection-end-column="7" />
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="sec-membership.js" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/common/models/sec-membership.js">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="195">
              <caret line="13" column="72" lean-forward="false" selection-start-line="13" selection-start-column="72" selection-end-line="13" selection-end-column="72" />
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="support.js" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/test/support.js">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="240">
              <caret line="16" column="35" lean-forward="false" selection-start-line="16" selection-start-column="35" selection-end-line="16" selection-end-column="35" />
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="nsec.js" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/src/nsec.js">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="270">
              <caret line="18" column="0" lean-forward="false" selection-start-line="18" selection-start-column="0" selection-end-line="18" selection-end-column="0" />
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="roles.js" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/src/roles.js">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="3675">
              <caret line="245" column="2" lean-forward="false" selection-start-line="245" selection-start-column="2" selection-end-line="245" selection-end-column="2" />
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="modeler.js" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/src/modeler.js">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="270">
              <caret line="18" column="65" lean-forward="false" selection-start-line="18" selection-start-column="65" selection-end-line="18" selection-end-column="65" />
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="acl-permissible.js" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/src/acl-permissible.js">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="825">
              <caret line="55" column="57" lean-forward="false" selection-start-line="55" selection-start-column="57" selection-end-line="55" selection-end-column="57" />
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="acl.js" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/src/acl.js">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="2445">
              <caret line="163" column="29" lean-forward="false" selection-start-line="163" selection-start-column="29" selection-end-line="163" selection-end-column="29" />
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="schema.js" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/src/schema.js">
          <provider selected="true" editor-type-id="text-editor">
            <state relative-caret-position="480">
              <caret line="32" column="67" lean-forward="false" selection-start-line="32" selection-start-column="67" selection-end-line="32" selection-end-column="67" />
              <folding />
            </state>
          </provider>
        </entry>
      </file>
    </leaf>
  </component>
  <component name="FileTemplateManagerImpl">
    <option name="RECENT_TEMPLATES">
      <list>
        <option value="JavaScript File" />
      </list>
    </option>
  </component>
  <component name="FindInProjectRecents">
    <findStrings>
      <find>can</find>
      <find>findCorrelatedSubjects</find>
      <find>id</find>
      <find>getParentRoles</find>
      <find>_nsec</find>
      <find>nsecSettings.secures</find>
      <find>Model.modelName</find>
      <find>.create</find>
      <find>unassignRolesUsers</find>
      <find>SecRoleMapping</find>
      <find>active</find>
      <find>unassignMemberships</find>
      <find>subjects</find>
      <find>approve</find>
      <find>findMemberships</find>
      <find>updateMemberships</find>
      <find>where</find>
      <find>hasPermission</find>
      <find>findAndModify</find>
      <find>save</find>
      <find>update</find>
      <find>forceSecure</find>
      <find>debug</find>
      <find>permissions</find>
      <find>secure</find>
      <find>assignMemberships</find>
      <find>optimizedFindOrCreate</find>
      <find>roles</find>
      <find>findOrCreate</find>
      <find>proles</find>
    </findStrings>
    <replaceStrings>
      <replace>this._opts</replace>
      <replace>.models</replace>
      <replace>nsec</replace>
      <replace>__nsec_secured__</replace>
      <replace>internals.strobj</replace>
      <replace>schema</replace>
      <replace>RoleMapping</replace>
      <replace>this.sec.scope</replace>
      <replace>this.sec.models</replace>
      <replace>this.sec.model;</replace>
      <replace>this.getParentRoleIds</replace>
      <replace>sec</replace>
      <replace>una</replace>
      <replace>removeRoles</replace>
      <replace>this.sec.models;</replace>
      <replace>SecRoleMapping</replace>
      <replace>countRoles(</replace>
      <replace>.assignRolesUsers</replace>
      <replace>secures</replace>
      <replace>acl</replace>
      <replace>_withScope</replace>
      <replace>nsecSettings.</replace>
      <replace>hasPermission</replace>
      <replace>modelName</replace>
      <replace>assignMemberships</replace>
      <replace>SecMembership</replace>
      <replace>unassignMemberships</replace>
    </replaceStrings>
  </component>
  <component name="Git.Settings">
    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
  </component>
  <component name="IdeDocumentHistory">
    <option name="CHANGED_PATHS">
      <list>
        <option value="$PROJECT_DIR$/src/index.js" />
        <option value="$PROJECT_DIR$/test/canable.test.js" />
        <option value="$PROJECT_DIR$/test/sec.canable.test.js" />
        <option value="$PROJECT_DIR$/src/rolable.js" />
        <option value="$PROJECT_DIR$/test/sec.rolable.test.js" />
        <option value="$PROJECT_DIR$/test/sec.roles.test.js" />
        <option value="$PROJECT_DIR$/test/sec.scoped.test.js" />
        <option value="$PROJECT_DIR$/.travis.yml" />
        <option value="$PROJECT_DIR$/src/security.js" />
        <option value="$PROJECT_DIR$/index.js" />
        <option value="$PROJECT_DIR$/src/nsec.js" />
        <option value="$PROJECT_DIR$/node_modules/loopback-connector-mongodb/lib/mongodb.js" />
        <option value="$PROJECT_DIR$/src/secures/index.js" />
        <option value="$PROJECT_DIR$/README.md" />
        <option value="$PROJECT_DIR$/src/modeler.js" />
        <option value="$PROJECT_DIR$/src/securers/mongodb.js" />
        <option value="$PROJECT_DIR$/src/canable.js" />
        <option value="$PROJECT_DIR$/test/acl.canable.test.js" />
        <option value="$PROJECT_DIR$/src/utils.js" />
        <option value="$PROJECT_DIR$/src/schema.js" />
        <option value="$PROJECT_DIR$/test/acl.permissible.test.js" />
        <option value="$PROJECT_DIR$/test/acl.common.test.js" />
        <option value="$PROJECT_DIR$/test/fixtures/models/Store.json" />
        <option value="$PROJECT_DIR$/test/mocks/models/store.js" />
        <option value="$PROJECT_DIR$/test/acl.scoped.test.js" />
        <option value="$PROJECT_DIR$/src/securers/index.js" />
        <option value="$PROJECT_DIR$/src/secure.js" />
        <option value="$PROJECT_DIR$/common/models/sec-role-mapping.json" />
        <option value="$PROJECT_DIR$/.eslintrc" />
        <option value="$PROJECT_DIR$/src/acl.js" />
        <option value="$PROJECT_DIR$/src/acl-permissible.js" />
        <option value="$PROJECT_DIR$/src/securer.js" />
        <option value="$PROJECT_DIR$/test/secure.test.js" />
        <option value="$PROJECT_DIR$/common/models/sec-entity.js" />
        <option value="$PROJECT_DIR$/common/models/sec-role.js" />
        <option value="$PROJECT_DIR$/src/roles.js" />
        <option value="$PROJECT_DIR$/test/acl.roles.test.js" />
        <option value="$PROJECT_DIR$/common/models/sec-membership.json" />
        <option value="$PROJECT_DIR$/common/models/sec-entity.json" />
        <option value="$PROJECT_DIR$/common/models/sec-role.json" />
        <option value="$PROJECT_DIR$/common/models/sec-membership.js" />
        <option value="$PROJECT_DIR$/test/support.js" />
        <option value="$PROJECT_DIR$/package.json" />
      </list>
    </option>
  </component>
  <component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
  <component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER">
    <package-json value="$PROJECT_DIR$/package.json" />
  </component>
  <component name="JsFlowSettings">
    <service-enabled>false</service-enabled>
    <exe-path />
    <annotation-enable>false</annotation-enable>
    <other-services-enabled>false</other-services-enabled>
  </component>
  <component name="JsGulpfileManager">
    <detection-done>true</detection-done>
    <sorting>DEFINITION_ORDER</sorting>
  </component>
  <component name="NodeModulesDirectoryManager">
    <handled-path value="$PROJECT_DIR$/node_modules" />
  </component>
  <component name="ProjectFrameBounds">
    <option name="x" value="40" />
    <option name="y" value="23" />
    <option name="width" value="1400" />
    <option name="height" value="877" />
  </component>
  <component name="ProjectLevelVcsManager" settingsEditedManually="true">
    <ConfirmationsSetting value="2" id="Add" />
  </component>
  <component name="ProjectView">
    <navigator currentView="ProjectPane" proportions="" version="1">
      <flattenPackages />
      <showMembers />
      <showModules />
      <showLibraryContents />
      <hideEmptyPackages />
      <abbreviatePackageNames />
      <autoscrollToSource />
      <autoscrollFromSource />
      <sortByType />
      <manualOrder />
      <foldersAlwaysOnTop value="true" />
    </navigator>
    <panes>
      <pane id="ProjectPane">
        <subPane>
          <PATH>
            <PATH_ELEMENT>
              <option name="myItemId" value="nsec" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="nsec" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
          </PATH>
          <PATH>
            <PATH_ELEMENT>
              <option name="myItemId" value="nsec" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="nsec" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="test" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
          </PATH>
          <PATH>
            <PATH_ELEMENT>
              <option name="myItemId" value="nsec" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="nsec" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="test" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="mocks" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="models" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
          </PATH>
          <PATH>
            <PATH_ELEMENT>
              <option name="myItemId" value="nsec" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="nsec" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="test" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="fixtures" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="models" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
          </PATH>
          <PATH>
            <PATH_ELEMENT>
              <option name="myItemId" value="nsec" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="nsec" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="src" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
          </PATH>
          <PATH>
            <PATH_ELEMENT>
              <option name="myItemId" value="nsec" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="nsec" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="common" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="models" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
          </PATH>
        </subPane>
      </pane>
      <pane id="Scratches" />
      <pane id="Scope" />
    </panes>
  </component>
  <component name="PropertiesComponent">
    <property name="nodejs_interpreter_path" value="/usr/local/bin/node" />
    <property name="WebServerToolWindowFactoryState" value="false" />
    <property name="HbShouldOpenHtmlAsHb" value="" />
    <property name="node.js.path.for.package.eslint" value="project" />
    <property name="node.js.selected.package.eslint" value="$PROJECT_DIR$/node_modules/eslint" />
    <property name="settings.editor.selected.configurable" value="preferences.pluginManager" />
    <property name="javascript.nodejs.core.library.configured.version" value="6.9.2" />
    <property name="JavaScriptPreferStrict" value="false" />
    <property name="JavaScriptWeakerCompletionTypeGuess" value="true" />
    <property name="nodejs.mocha.mocha_node_package_dir" value="$PROJECT_DIR$/node_modules/mocha" />
    <property name="node.js.path.for.package.jscs" value="project" />
    <property name="node.js.selected.package.jscs" value="/usr/local/lib/node_modules/jscs" />
    <property name="GO_FMT" value="false" />
    <property name="restartRequiresConfirmation" value="false" />
    <property name="node.js.path.for.package.standard" value="project" />
    <property name="node.js.selected.package.standard" value="" />
  </component>
  <component name="RecentsManager">
    <key name="CopyFile.RECENT_KEYS">
      <recent name="$PROJECT_DIR$/test" />
      <recent name="$PROJECT_DIR$/src" />
      <recent name="$PROJECT_DIR$/common/models" />
    </key>
    <key name="MoveFile.RECENT_KEYS">
      <recent name="$PROJECT_DIR$" />
      <recent name="$PROJECT_DIR$/common" />
    </key>
  </component>
  <component name="RunManager" selected="Mocha.mocha">
    <configuration default="false" name="acl/roles.should contain only one membership for same user and same scope" type="mocha-javascript-test-runner" factoryName="Mocha" temporary="true" nameIsGenerated="true">
      <node-interpreter>project</node-interpreter>
      <node-options />
      <working-directory>$PROJECT_DIR$</working-directory>
      <pass-parent-env>true</pass-parent-env>
      <envs />
      <ui>bdd</ui>
      <extra-mocha-options />
      <test-kind>TEST</test-kind>
      <test-file>$PROJECT_DIR$/test/acl.roles.test.js</test-file>
      <test-names>
        <name value="acl/roles" />
        <name value="should contain only one membership for same user and same scope" />
      </test-names>
      <method />
    </configuration>
    <configuration default="false" name="acl/roles.should assign memberships" type="mocha-javascript-test-runner" factoryName="Mocha" temporary="true" nameIsGenerated="true">
      <node-interpreter>project</node-interpreter>
      <node-options />
      <working-directory>$PROJECT_DIR$</working-directory>
      <pass-parent-env>true</pass-parent-env>
      <envs />
      <ui>bdd</ui>
      <extra-mocha-options />
      <test-kind>TEST</test-kind>
      <test-file>$PROJECT_DIR$/test/acl.roles.test.js</test-file>
      <test-names>
        <name value="acl/roles" />
        <name value="should assign memberships" />
      </test-names>
      <method />
    </configuration>
    <configuration default="false" name="acl/roles.should assign multiple memberships for same user in different scopes" type="mocha-javascript-test-runner" factoryName="Mocha" temporary="true" nameIsGenerated="true">
      <node-interpreter>project</node-interpreter>
      <node-options />
      <working-directory>$PROJECT_DIR$</working-directory>
      <pass-parent-env>true</pass-parent-env>
      <envs />
      <ui>bdd</ui>
      <extra-mocha-options />
      <test-kind>TEST</test-kind>
      <test-file>$PROJECT_DIR$/test/acl.roles.test.js</test-file>
      <test-names>
        <name value="acl/roles" />
        <name value="should assign multiple memberships for same user in different scopes" />
      </test-names>
      <method />
    </configuration>
    <configuration default="false" name="acl/roles.should reassign membership to change role" type="mocha-javascript-test-runner" factoryName="Mocha" temporary="true" nameIsGenerated="true">
      <node-interpreter>project</node-interpreter>
      <node-options />
      <working-directory>$PROJECT_DIR$</working-directory>
      <pass-parent-env>true</pass-parent-env>
      <envs />
      <ui>bdd</ui>
      <extra-mocha-options />
      <test-kind>TEST</test-kind>
      <test-file>$PROJECT_DIR$/test/acl.roles.test.js</test-file>
      <test-names>
        <name value="acl/roles" />
        <name value="should reassign membership to change role" />
      </test-names>
      <method />
    </configuration>
    <configuration default="false" name="acl/roles.should update multiple memberships from state pending to active" type="mocha-javascript-test-runner" factoryName="Mocha" temporary="true" nameIsGenerated="true">
      <node-interpreter>project</node-interpreter>
      <node-options />
      <working-directory>$PROJECT_DIR$</working-directory>
      <pass-parent-env>true</pass-parent-env>
      <envs />
      <ui>bdd</ui>
      <extra-mocha-options />
      <test-kind>TEST</test-kind>
      <test-file>$PROJECT_DIR$/test/acl.roles.test.js</test-file>
      <test-names>
        <name value="acl/roles" />
        <name value="should update multiple memberships from state pending to active" />
      </test-names>
      <method />
    </configuration>
    <configuration default="true" type="BashConfigurationType" factoryName="Bash">
      <option name="INTERPRETER_OPTIONS" value="" />
      <option name="INTERPRETER_PATH" value="/bin/bash" />
      <option name="WORKING_DIRECTORY" value="" />
      <option name="PARENT_ENVS" value="true" />
      <option name="SCRIPT_NAME" value="" />
      <option name="PARAMETERS" value="" />
      <module name="" />
      <envs />
      <method />
    </configuration>
    <configuration default="true" type="DartCommandLineRunConfigurationType" factoryName="Dart Command Line Application">
      <method />
    </configuration>
    <configuration default="true" type="DartTestRunConfigurationType" factoryName="Dart Test">
      <method />
    </configuration>
    <configuration default="true" type="JavaScriptTestRunnerKarma" factoryName="Karma">
      <config-file value="" />
      <node-interpreter value="project" />
      <envs />
      <method />
    </configuration>
    <configuration default="true" type="JavaScriptTestRunnerProtractor" factoryName="Protractor">
      <config-file value="" />
      <node-interpreter value="project" />
      <envs />
      <method />
    </configuration>
    <configuration default="true" type="JavascriptDebugType" factoryName="JavaScript Debug">
      <method />
    </configuration>
    <configuration default="true" type="MongoRunConfiguration" factoryName="Mongo">
      <setting name="path" value="" />
      <setting name="shellParams" value="" />
      <method />
    </configuration>
    <configuration default="true" type="NodeJSConfigurationType" factoryName="Node.js" path-to-node="project" working-dir="">
      <method />
    </configuration>
    <configuration default="true" type="cucumber.js" factoryName="Cucumber.js">
      <option name="cucumberJsArguments" value="" />
      <option name="executablePath" />
      <option name="filePath" />
      <method />
    </configuration>
    <configuration default="true" type="js.build_tools.gulp" factoryName="Gulp.js">
      <node-interpreter>project</node-interpreter>
      <node-options />
      <gulpfile />
      <tasks />
      <arguments />
      <envs />
      <method />
    </configuration>
    <configuration default="true" type="js.build_tools.npm" factoryName="npm">
      <command value="run" />
      <scripts />
      <node-interpreter value="project" />
      <envs />
      <method />
    </configuration>
    <configuration default="true" type="mocha-javascript-test-runner" factoryName="Mocha">
      <node-interpreter>project</node-interpreter>
      <node-options />
      <working-directory />
      <pass-parent-env>true</pass-parent-env>
      <envs />
      <ui />
      <extra-mocha-options />
      <test-kind>DIRECTORY</test-kind>
      <test-directory />
      <recursive>false</recursive>
      <method />
    </configuration>
    <configuration default="false" name="mocha" type="mocha-javascript-test-runner" factoryName="Mocha">
      <node-interpreter>project</node-interpreter>
      <node-options />
      <working-directory>$PROJECT_DIR$</working-directory>
      <pass-parent-env>true</pass-parent-env>
      <envs>
        <env name="DEBUG" value="nsec:*" />
      </envs>
      <ui>bdd</ui>
      <extra-mocha-options />
      <test-kind>PATTERN</test-kind>
      <test-pattern>test/**/*.test.js</test-pattern>
      <method />
    </configuration>
    <list size="6">
      <item index="0" class="java.lang.String" itemvalue="Mocha.mocha" />
      <item index="1" class="java.lang.String" itemvalue="Mocha.acl/roles.should contain only one membership for same user and same scope" />
      <item index="2" class="java.lang.String" itemvalue="Mocha.acl/roles.should assign memberships" />
      <item index="3" class="java.lang.String" itemvalue="Mocha.acl/roles.should assign multiple memberships for same user in different scopes" />
      <item index="4" class="java.lang.String" itemvalue="Mocha.acl/roles.should reassign membership to change role" />
      <item index="5" class="java.lang.String" itemvalue="Mocha.acl/roles.should update multiple memberships from state pending to active" />
    </list>
    <recent_temporary>
      <list size="5">
        <item index="0" class="java.lang.String" itemvalue="Mocha.acl/roles.should update multiple memberships from state pending to active" />
        <item index="1" class="java.lang.String" itemvalue="Mocha.acl/roles.should reassign membership to change role" />
        <item index="2" class="java.lang.String" itemvalue="Mocha.acl/roles.should assign multiple memberships for same user in different scopes" />
        <item index="3" class="java.lang.String" itemvalue="Mocha.acl/roles.should assign memberships" />
        <item index="4" class="java.lang.String" itemvalue="Mocha.acl/roles.should contain only one membership for same user and same scope" />
      </list>
    </recent_temporary>
  </component>
  <component name="RuntimeDashboard">
    <groupers>
      <grouper name="TypeGroupingRule" enabled="true" />
      <grouper name="StatusGroupingRule" enabled="true" />
      <grouper name="FolderGroupingRule" enabled="true" />
    </groupers>
  </component>
  <component name="ShelveChangesManager" show_recycled="false">
    <option name="remove_strategy" value="false" />
  </component>
  <component name="TaskManager">
    <task active="true" id="Default" summary="Default task">
      <changelist id="1b7c801d-6de7-4586-a086-4f79289fdc67" name="Default" comment="" />
      <created>1482415507195</created>
      <option name="number" value="Default" />
      <option name="presentableId" value="Default" />
      <updated>1482415507195</updated>
      <workItem from="1482415508568" duration="651000" />
      <workItem from="1482416465174" duration="313000" />
      <workItem from="1482416794389" duration="5583000" />
      <workItem from="1482459083409" duration="21889000" />
      <workItem from="1482492635289" duration="11723000" />
      <workItem from="1482568176187" duration="14325000" />
      <workItem from="1482672953648" duration="9198000" />
      <workItem from="1482720867064" duration="203000" />
      <workItem from="1482721088204" duration="255000" />
      <workItem from="1482721734024" duration="820000" />
      <workItem from="1482723046392" duration="4613000" />
      <workItem from="1482747472204" duration="3769000" />
      <workItem from="1482828782863" duration="3000" />
      <workItem from="1482832847800" duration="11893000" />
      <workItem from="1482919855296" duration="11298000" />
      <workItem from="1483011239847" duration="2988000" />
      <workItem from="1483022331104" duration="11397000" />
      <workItem from="1483087959812" duration="1856000" />
      <workItem from="1483093776753" duration="11869000" />
      <workItem from="1483255527193" duration="1508000" />
      <workItem from="1483332842974" duration="8974000" />
      <workItem from="1483530931529" duration="3682000" />
      <workItem from="1484212460060" duration="641000" />
      <workItem from="1484266302110" duration="3000" />
      <workItem from="1484809964233" duration="3811000" />
      <workItem from="1484970329366" duration="8000" />
      <workItem from="1484977885764" duration="659000" />
      <workItem from="1484989649516" duration="7106000" />
      <workItem from="1485064464918" duration="2213000" />
      <workItem from="1486274910474" duration="158000" />
    </task>
    <task id="LOCAL-00052" summary="0.1.20">
      <created>1483064922162</created>
      <option name="number" value="00052" />
      <option name="presentableId" value="LOCAL-00052" />
      <option name="project" value="LOCAL" />
      <updated>1483064922162</updated>
    </task>
    <task id="LOCAL-00053" summary="Refactor">
      <created>1483069134480</created>
      <option name="number" value="00053" />
      <option name="presentableId" value="LOCAL-00053" />
      <option name="project" value="LOCAL" />
      <updated>1483069134480</updated>
    </task>
    <task id="LOCAL-00054" summary="Allow permissions for active membership only">
      <created>1483080366032</created>
      <option name="number" value="00054" />
      <option name="presentableId" value="LOCAL-00054" />
      <option name="project" value="LOCAL" />
      <updated>1483080366033</updated>
    </task>
    <task id="LOCAL-00055" summary="0.2.0">
      <created>1483080375437</created>
      <option name="number" value="00055" />
      <option name="presentableId" value="LOCAL-00055" />
      <option name="project" value="LOCAL" />
      <updated>1483080375437</updated>
    </task>
    <task id="LOCAL-00056" summary="Fix assignMemberships signature for state">
      <created>1483080748776</created>
      <option name="number" value="00056" />
      <option name="presentableId" value="LOCAL-00056" />
      <option name="project" value="LOCAL" />
      <updated>1483080748776</updated>
    </task>
    <task id="LOCAL-00057" summary="0.2.1">
      <created>1483080762954</created>
      <option name="number" value="00057" />
      <option name="presentableId" value="LOCAL-00057" />
      <option name="project" value="LOCAL" />
      <updated>1483080762954</updated>
    </task>
    <task id="LOCAL-00058" summary="Remove state default value to use dao's default value for assignMemberships">
      <created>1483084524561</created>
      <option name="number" value="00058" />
      <option name="presentableId" value="LOCAL-00058" />
      <option name="project" value="LOCAL" />
      <updated>1483084524561</updated>
    </task>
    <task id="LOCAL-00059" summary="0.2.2">
      <created>1483084534709</created>
      <option name="number" value="00059" />
      <option name="presentableId" value="LOCAL-00059" />
      <option name="project" value="LOCAL" />
      <updated>1483084534709</updated>
    </task>
    <task id="LOCAL-00060" summary="Add assignMembership for assign one membership">
      <created>1483085067031</created>
      <option name="number" value="00060" />
      <option name="presentableId" value="LOCAL-00060" />
      <option name="project" value="LOCAL" />
      <updated>1483085067031</updated>
    </task>
    <task id="LOCAL-00061" summary="0.2.3">
      <created>1483085078714</created>
      <option name="number" value="00061" />
      <option name="presentableId" value="LOCAL-00061" />
      <option name="project" value="LOCAL" />
      <updated>1483085078714</updated>
    </task>
    <task id="LOCAL-00062" summary="Reassign membership to change role">
      <created>1483085776640</created>
      <option name="number" value="00062" />
      <option name="presentableId" value="LOCAL-00062" />
      <option name="project" value="LOCAL" />
      <updated>1483085776640</updated>
    </task>
    <task id="LOCAL-00063" summary="0.2.4">
      <created>1483085785156</created>
      <option name="number" value="00063" />
      <option name="presentableId" value="LOCAL-00063" />
      <option name="project" value="LOCAL" />
      <updated>1483085785156</updated>
    </task>
    <task id="LOCAL-00064" summary="Fix assignMemberships not work for same user with different scopes">
      <created>1483091100768</created>
      <option name="number" value="00064" />
      <option name="presentableId" value="LOCAL-00064" />
      <option name="project" value="LOCAL" />
      <updated>1483091100768</updated>
    </task>
    <task id="LOCAL-00065" summary="Fix assignMemberships not work for same user with different scopes">
      <created>1483091107804</created>
      <option name="number" value="00065" />
      <option name="presentableId" value="LOCAL-00065" />
      <option name="project" value="LOCAL" />
      <updated>1483091107804</updated>
    </task>
    <task id="LOCAL-00066" summary="Add updateMemberships and refactor findMemberships signature">
      <created>1483155012389</created>
      <option name="number" value="00066" />
      <option name="presentableId" value="LOCAL-00066" />
      <option name="project" value="LOCAL" />
      <updated>1483155012390</updated>
    </task>
    <task id="LOCAL-00067" summary="0.3.0">
      <created>1483155031022</created>
      <option name="number" value="00067" />
      <option name="presentableId" value="LOCAL-00067" />
      <option name="project" value="LOCAL" />
      <updated>1483155031022</updated>
    </task>
    <task id="LOCAL-00068" summary="Refactor">
      <created>1483158010134</created>
      <option name="number" value="00068" />
      <option name="presentableId" value="LOCAL-00068" />
      <option name="project" value="LOCAL" />
      <updated>1483158010134</updated>
    </task>
    <task id="LOCAL-00069" summary="0.3.1">
      <created>1483158018326</created>
      <option name="number" value="00069" />
      <option name="presentableId" value="LOCAL-00069" />
      <option name="project" value="LOCAL" />
      <updated>1483158018326</updated>
    </task>
    <task id="LOCAL-00070" summary="Refactor">
      <created>1483159377147</created>
      <option name="number" value="00070" />
      <option name="presentableId" value="LOCAL-00070" />
      <option name="project" value="LOCAL" />
      <updated>1483159377147</updated>
    </task>
    <task id="LOCAL-00071" summary="0.3.2">
      <created>1483159400050</created>
      <option name="number" value="00071" />
      <option name="presentableId" value="LOCAL-00071" />
      <option name="project" value="LOCAL" />
      <updated>1483159400050</updated>
    </task>
    <task id="LOCAL-00072" summary="Add updateMembership for update one membership">
      <created>1483160825554</created>
      <option name="number" value="00072" />
      <option name="presentableId" value="LOCAL-00072" />
      <option name="project" value="LOCAL" />
      <updated>1483160825554</updated>
    </task>
    <task id="LOCAL-00073" summary="0.3.3">
      <created>1483160843742</created>
      <option name="number" value="00073" />
      <option name="presentableId" value="LOCAL-00073" />
      <option name="project" value="LOCAL" />
      <updated>1483160843742</updated>
    </task>
    <task id="LOCAL-00074" summary="Force transform `where` to {} if is falsy">
      <created>1483328448173</created>
      <option name="number" value="00074" />
      <option name="presentableId" value="LOCAL-00074" />
      <option name="project" value="LOCAL" />
      <updated>1483328448174</updated>
    </task>
    <task id="LOCAL-00075" summary="0.3.4">
      <created>1483328459907</created>
      <option name="number" value="00075" />
      <option name="presentableId" value="LOCAL-00075" />
      <option name="project" value="LOCAL" />
      <updated>1483328459907</updated>
    </task>
    <task id="LOCAL-00076" summary="Update permission attribute replace save all property of entity">
      <created>1483338757915</created>
      <option name="number" value="00076" />
      <option name="presentableId" value="LOCAL-00076" />
      <option name="project" value="LOCAL" />
      <updated>1483338757916</updated>
    </task>
    <task id="LOCAL-00077" summary="0.3.5">
      <created>1483338768082</created>
      <option name="number" value="00077" />
      <option name="presentableId" value="LOCAL-00077" />
      <option name="project" value="LOCAL" />
      <updated>1483338768082</updated>
    </task>
    <task id="LOCAL-00078" summary="Add rowlevel option for model secure to provide another switch to disable row level model secure">
      <created>1483445725308</created>
      <option name="number" value="00078" />
      <option name="presentableId" value="LOCAL-00078" />
      <option name="project" value="LOCAL" />
      <updated>1483445725309</updated>
    </task>
    <task id="LOCAL-00079" summary="0.3.6">
      <created>1483445736986</created>
      <option name="number" value="00079" />
      <option name="presentableId" value="LOCAL-00079" />
      <option name="project" value="LOCAL" />
      <updated>1483445736986</updated>
    </task>
    <task id="LOCAL-00080" summary="Add secure flag in secure function">
      <created>1483447023644</created>
      <option name="number" value="00080" />
      <option name="presentableId" value="LOCAL-00080" />
      <option name="project" value="LOCAL" />
      <updated>1483447023644</updated>
    </task>
    <task id="LOCAL-00081" summary="0.3.7">
      <created>1483447036977</created>
      <option name="number" value="00081" />
      <option name="presentableId" value="LOCAL-00081" />
      <option name="project" value="LOCAL" />
      <updated>1483447036977</updated>
    </task>
    <task id="LOCAL-00082" summary="Revert to remove rowlevel">
      <created>1483447325018</created>
      <option name="number" value="00082" />
      <option name="presentableId" value="LOCAL-00082" />
      <option name="project" value="LOCAL" />
      <updated>1483447325018</updated>
    </task>
    <task id="LOCAL-00083" summary="Support secure model but not apply row level filtering">
      <created>1483533431087</created>
      <option name="number" value="00083" />
      <option name="presentableId" value="LOCAL-00083" />
      <option name="project" value="LOCAL" />
      <updated>1483533431088</updated>
    </task>
    <task id="LOCAL-00084" summary="Add tests for secure without row level filtering">
      <created>1483533593795</created>
      <option name="number" value="00084" />
      <option name="presentableId" value="LOCAL-00084" />
      <option name="project" value="LOCAL" />
      <updated>1483533593795</updated>
    </task>
    <task id="LOCAL-00085" summary="0.3.8">
      <created>1483533644251</created>
      <option name="number" value="00085" />
      <option name="presentableId" value="LOCAL-00085" />
      <option name="project" value="LOCAL" />
      <updated>1483533644251</updated>
    </task>
    <task id="LOCAL-00086" summary="Apply scope and scopeId when Role.prototype.resolveParents">
      <created>1484812297318</created>
      <option name="number" value="00086" />
      <option name="presentableId" value="LOCAL-00086" />
      <option name="project" value="LOCAL" />
      <updated>1484812297319</updated>
    </task>
    <task id="LOCAL-00087" summary="0.3.9">
      <created>1484812308377</created>
      <option name="number" value="00087" />
      <option name="presentableId" value="LOCAL-00087" />
      <option name="project" value="LOCAL" />
      <updated>1484812308377</updated>
    </task>
    <task id="LOCAL-00088" summary="Add timestamps to all models">
      <created>1484814528328</created>
      <option name="number" value="00088" />
      <option name="presentableId" value="LOCAL-00088" />
      <option name="project" value="LOCAL" />
      <updated>1484814528328</updated>
    </task>
    <task id="LOCAL-00089" summary="0.3.10">
      <created>1484814537753</created>
      <option name="number" value="00089" />
      <option name="presentableId" value="LOCAL-00089" />
      <option name="project" value="LOCAL" />
      <updated>1484814537753</updated>
    </task>
    <task id="LOCAL-00090" summary="Use findOrCreate to assign memberships to ensure only one membership for same user and same scope by set enableOptimisedfindOrCreate to true for mongodb">
      <created>1484992159439</created>
      <option name="number" value="00090" />
      <option name="presentableId" value="LOCAL-00090" />
      <option name="project" value="LOCAL" />
      <updated>1484992159440</updated>
    </task>
    <task id="LOCAL-00091" summary="0.3.11">
      <created>1484992167899</created>
      <option name="number" value="00091" />
      <option name="presentableId" value="LOCAL-00091" />
      <option name="project" value="LOCAL" />
      <updated>1484992167899</updated>
    </task>
    <task id="LOCAL-00092" summary="Make all tests pass">
      <created>1484994724556</created>
      <option name="number" value="00092" />
      <option name="presentableId" value="LOCAL-00092" />
      <option name="project" value="LOCAL" />
      <updated>1484994724556</updated>
    </task>
    <task id="LOCAL-00093" summary="0.4.0">
      <created>1484994737856</created>
      <option name="number" value="00093" />
      <option name="presentableId" value="LOCAL-00093" />
      <option name="project" value="LOCAL" />
      <updated>1484994737856</updated>
    </task>
    <task id="LOCAL-00094" summary="Use enableOptimizedFindOrCreate spelling">
      <created>1484996263560</created>
      <option name="number" value="00094" />
      <option name="presentableId" value="LOCAL-00094" />
      <option name="project" value="LOCAL" />
      <updated>1484996263560</updated>
    </task>
    <task id="LOCAL-00095" summary="Disable automaticValidation">
      <created>1484999025766</created>
      <option name="number" value="00095" />
      <option name="presentableId" value="LOCAL-00095" />
      <option name="project" value="LOCAL" />
      <updated>1484999025766</updated>
    </task>
    <task id="LOCAL-00096" summary="0.4.1">
      <created>1484999042601</created>
      <option name="number" value="00096" />
      <option name="presentableId" value="LOCAL-00096" />
      <option name="project" value="LOCAL" />
      <updated>1484999042601</updated>
    </task>
    <task id="LOCAL-00097" summary="Remove unnecessary uniqueness of userId scoped to roleId for membership model">
      <created>1485066696340</created>
      <option name="number" value="00097" />
      <option name="presentableId" value="LOCAL-00097" />
      <option name="project" value="LOCAL" />
      <updated>1485066696340</updated>
    </task>
    <task id="LOCAL-00098" summary="0.4.2">
      <created>1485066708640</created>
      <option name="number" value="00098" />
      <option name="presentableId" value="LOCAL-00098" />
      <option name="project" value="LOCAL" />
      <updated>1485066708640</updated>
    </task>
    <task id="LOCAL-00099" summary="Upgrade dependencies">
      <created>1485066772033</created>
      <option name="number" value="00099" />
      <option name="presentableId" value="LOCAL-00099" />
      <option name="project" value="LOCAL" />
      <updated>1485066772033</updated>
    </task>
    <task id="LOCAL-00100" summary="Upgrade dependencies">
      <created>1486275057586</created>
      <option name="number" value="00100" />
      <option name="presentableId" value="LOCAL-00100" />
      <option name="project" value="LOCAL" />
      <updated>1486275057587</updated>
    </task>
    <option name="localTasksCounter" value="101" />
    <servers />
  </component>
  <component name="TestHistory">
    <history-entry file="mocha - 2017.01.21 at 19h 40m 55s.xml">
      <configuration name="mocha" configurationId="mocha-javascript-test-runner" />
    </history-entry>
    <history-entry file="mocha - 2017.01.21 at 19h 42m 38s.xml">
      <configuration name="mocha" configurationId="mocha-javascript-test-runner" />
    </history-entry>
    <history-entry file="mocha - 2017.01.21 at 19h 43m 02s.xml">
      <configuration name="mocha" configurationId="mocha-javascript-test-runner" />
    </history-entry>
    <history-entry file="mocha - 2017.01.21 at 19h 43m 12s.xml">
      <configuration name="mocha" configurationId="mocha-javascript-test-runner" />
    </history-entry>
    <history-entry file="mocha - 2017.01.22 at 13h 54m 40s.xml">
      <configuration name="mocha" configurationId="mocha-javascript-test-runner" />
    </history-entry>
    <history-entry file="mocha - 2017.01.22 at 13h 57m 37s.xml">
      <configuration name="mocha" configurationId="mocha-javascript-test-runner" />
    </history-entry>
    <history-entry file="mocha - 2017.01.22 at 14h 30m 14s.xml">
      <configuration name="mocha" configurationId="mocha-javascript-test-runner" />
    </history-entry>
    <history-entry file="mocha - 2017.01.22 at 14h 33m 32s.xml">
      <configuration name="mocha" configurationId="mocha-javascript-test-runner" />
    </history-entry>
    <history-entry file="mocha - 2017.02.05 at 14h 08m 44s.xml">
      <configuration name="mocha" configurationId="mocha-javascript-test-runner" />
    </history-entry>
    <history-entry file="mocha - 2017.02.05 at 14h 10m 45s.xml">
      <configuration name="mocha" configurationId="mocha-javascript-test-runner" />
    </history-entry>
  </component>
  <component name="TimeTrackingManager">
    <option name="totallyTimeSpent" value="153409000" />
  </component>
  <component name="ToolWindowManager">
    <frame x="40" y="23" width="1400" height="877" extended-state="6" />
    <editor active="true" />
    <layout>
      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.17746687" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
      <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
      <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
      <window_info id="Run Dashboard" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
      <window_info id="npm" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.4334651" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
      <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.24945612" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
      <window_info id="Mongo Explorer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
      <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.47167325" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
      <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4334651" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
      <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
      <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
      <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
      <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
      <window_info id="Runtime Dashboard" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
      <window_info id="TypeScript" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
      <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32806325" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
      <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
    </layout>
  </component>
  <component name="TypeScriptGeneratedFilesManager">
    <option name="processedProjectFiles" value="true" />
  </component>
  <component name="VcsContentAnnotationSettings">
    <option name="myLimit" value="2678400000" />
  </component>
  <component name="VcsManagerConfiguration">
    <MESSAGE value="0.3.4" />
    <MESSAGE value="Update permission attribute replace save all property of entity" />
    <MESSAGE value="0.3.5" />
    <MESSAGE value="Add rowlevel option for model secure to provide another switch to disable row level model secure" />
    <MESSAGE value="0.3.6" />
    <MESSAGE value="Add secure flag in secure function" />
    <MESSAGE value="0.3.7" />
    <MESSAGE value="Revert to remove rowlevel" />
    <MESSAGE value="Support secure model but not apply row level filtering" />
    <MESSAGE value="Add tests for secure without row level filtering" />
    <MESSAGE value="0.3.8" />
    <MESSAGE value="Apply scope and scopeId when Role.prototype.resolveParents" />
    <MESSAGE value="0.3.9" />
    <MESSAGE value="Add timestamps to all models" />
    <MESSAGE value="0.3.10" />
    <MESSAGE value="Use findOrCreate to assign memberships to ensure only one membership for same user and same scope by set enableOptimisedfindOrCreate to true for mongodb" />
    <MESSAGE value="0.3.11" />
    <MESSAGE value="Make all tests pass" />
    <MESSAGE value="0.4.0" />
    <MESSAGE value="Use enableOptimizedFindOrCreate spelling" />
    <MESSAGE value="Disable automaticValidation" />
    <MESSAGE value="0.4.1" />
    <MESSAGE value="Remove unnecessary uniqueness of userId scoped to roleId for membership model" />
    <MESSAGE value="0.4.2" />
    <MESSAGE value="Upgrade dependencies" />
    <option name="LAST_COMMIT_MESSAGE" value="Upgrade dependencies" />
  </component>
  <component name="XDebuggerManager">
    <breakpoint-manager>
      <breakpoints-dialog>
        <breakpoints-dialog />
      </breakpoints-dialog>
      <option name="time" value="145" />
    </breakpoint-manager>
    <watches-manager />
  </component>
  <component name="editorHistoryManager">
    <entry file="file://$PROJECT_DIR$/test/secure.test.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="0">
          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/index.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="0">
          <caret line="0" column="27" lean-forward="false" selection-start-line="0" selection-start-column="27" selection-end-line="0" selection-end-column="27" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/package.json">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="90">
          <caret line="6" column="34" lean-forward="false" selection-start-line="6" selection-start-column="34" selection-end-line="6" selection-end-column="34" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/common/models/sec-entity.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="0">
          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/index.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="0">
          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/package.json">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="0">
          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/LICENSE">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="0">
          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/test/mocks/models/product.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="0">
          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/test/mocks/models/user.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="0">
          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/node_modules/loopback-datasource-juggler/lib/datasource.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="-3900">
          <caret line="22" column="27" lean-forward="false" selection-start-line="22" selection-start-column="27" selection-end-line="22" selection-end-column="27" />
        </state>
      </provider>
    </entry>
    <entry file="file://$APPLICATION_CONFIG_DIR$/javascript/extLibs/http_github.com_DefinitelyTyped_DefinitelyTyped_raw_master_bluebird_bluebird.d.ts">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="461">
          <caret line="785" column="0" lean-forward="false" selection-start-line="785" selection-start-column="0" selection-end-line="785" selection-end-column="0" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/node_modules/loopback-connector/lib/sql.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="144">
          <caret line="889" column="53" lean-forward="true" selection-start-line="889" selection-start-column="53" selection-end-line="889" selection-end-column="70" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/test/acl.common.test.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="60">
          <caret line="4" column="0" lean-forward="false" selection-start-line="4" selection-start-column="0" selection-end-line="4" selection-end-column="0" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/test/acl.scoped.test.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="-372">
          <caret line="32" column="2" lean-forward="false" selection-start-line="32" selection-start-column="2" selection-end-line="32" selection-end-column="2" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/node_modules/loopback-datasource-juggler/lib/observer.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="243">
          <caret line="45" column="0" lean-forward="false" selection-start-line="45" selection-start-column="0" selection-end-line="45" selection-end-column="0" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/test/mocks/models/store.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="120">
          <caret line="8" column="22" lean-forward="false" selection-start-line="8" selection-start-column="22" selection-end-line="8" selection-end-column="22" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/test/models.test.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="0">
          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/src/secure-adapters/index.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="60">
          <caret line="4" column="14" lean-forward="false" selection-start-line="4" selection-start-column="6" selection-end-line="4" selection-end-column="14" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/test/fixtures/models/Store.json">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="570">
          <caret line="38" column="10" lean-forward="false" selection-start-line="38" selection-start-column="10" selection-end-line="38" selection-end-column="10" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/node_modules/loopback-datasource-juggler/lib/connectors/memory.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="243">
          <caret line="229" column="0" lean-forward="false" selection-start-line="229" selection-start-column="0" selection-end-line="229" selection-end-column="0" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/README.md">
      <provider editor-type-id="text-editor">
        <state relative-caret-position="0">
          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
        </state>
      </provider>
      <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
        <state split_layout="SPLIT">
          <first_editor relative-caret-position="135">
            <caret line="9" column="42" lean-forward="false" selection-start-line="9" selection-start-column="42" selection-end-line="9" selection-end-column="42" />
          </first_editor>
          <second_editor />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/.eslintrc">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="375">
          <caret line="25" column="16" lean-forward="false" selection-start-line="25" selection-start-column="16" selection-end-line="25" selection-end-column="16" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/node_modules/lodash/cloneDeep.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="360">
          <caret line="24" column="9" lean-forward="false" selection-start-line="24" selection-start-column="9" selection-end-line="24" selection-end-column="9" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/node_modules/loopback-datasource-juggler/lib/model-builder.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="353">
          <caret line="431" column="7" lean-forward="false" selection-start-line="431" selection-start-column="7" selection-end-line="431" selection-end-column="7" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/node_modules/lodash/lodash.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="146">
          <caret line="6188" column="25" lean-forward="false" selection-start-line="6188" selection-start-column="25" selection-end-line="6188" selection-end-column="25" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/node_modules/loopback-datasource-juggler/lib/list.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="465">
          <caret line="34" column="14" lean-forward="false" selection-start-line="34" selection-start-column="14" selection-end-line="34" selection-end-column="14" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/src/utils.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="75">
          <caret line="5" column="9" lean-forward="false" selection-start-line="5" selection-start-column="9" selection-end-line="5" selection-end-column="9" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/src/securer.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="855">
          <caret line="57" column="28" lean-forward="false" selection-start-line="57" selection-start-column="28" selection-end-line="57" selection-end-column="28" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/test/secure.test.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="285">
          <caret line="19" column="69" lean-forward="false" selection-start-line="19" selection-start-column="69" selection-end-line="19" selection-end-column="69" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/src/secure-adapters/mongodb.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="630">
          <caret line="42" column="2" lean-forward="false" selection-start-line="42" selection-start-column="2" selection-end-line="42" selection-end-column="2" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/node_modules/loopback-ds-timestamp-mixin/time-stamp.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="315">
          <caret line="21" column="0" lean-forward="false" selection-start-line="21" selection-start-column="0" selection-end-line="21" selection-end-column="0" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/index.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="0">
          <caret line="0" column="47" lean-forward="true" selection-start-line="0" selection-start-column="47" selection-end-line="0" selection-end-column="47" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/test/acl.permissible.test.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="234">
          <caret line="57" column="24" lean-forward="false" selection-start-line="57" selection-start-column="24" selection-end-line="57" selection-end-column="24" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/node_modules/loopback-connector-mongodb/lib/mongodb.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="-10488">
          <caret line="610" column="3" lean-forward="false" selection-start-line="610" selection-start-column="3" selection-end-line="610" selection-end-column="3" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/node_modules/loopback-datasource-juggler/lib/dao.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="219">
          <caret line="1103" column="1" lean-forward="false" selection-start-line="1103" selection-start-column="1" selection-end-line="1103" selection-end-column="1" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/test/acl.roles.test.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="6585">
          <caret line="439" column="48" lean-forward="false" selection-start-line="439" selection-start-column="48" selection-end-line="439" selection-end-column="48" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/common/models/sec-role.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="300">
          <caret line="20" column="23" lean-forward="false" selection-start-line="20" selection-start-column="23" selection-end-line="20" selection-end-column="23" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/common/models/sec-entity.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="30">
          <caret line="2" column="0" lean-forward="false" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="73" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/common/models/sec-membership.json">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="30">
          <caret line="2" column="2" lean-forward="false" selection-start-line="2" selection-start-column="2" selection-end-line="2" selection-end-column="31" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/common/models/sec-entity.json">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="30">
          <caret line="2" column="31" lean-forward="false" selection-start-line="2" selection-start-column="31" selection-end-line="2" selection-end-column="31" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/common/models/sec-role.json">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="30">
          <caret line="2" column="31" lean-forward="false" selection-start-line="2" selection-start-column="31" selection-end-line="2" selection-end-column="31" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/src/acl-permissible.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="825">
          <caret line="55" column="57" lean-forward="false" selection-start-line="55" selection-start-column="57" selection-end-line="55" selection-end-column="57" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/src/schema.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="480">
          <caret line="32" column="67" lean-forward="false" selection-start-line="32" selection-start-column="67" selection-end-line="32" selection-end-column="67" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/src/modeler.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="270">
          <caret line="18" column="65" lean-forward="false" selection-start-line="18" selection-start-column="65" selection-end-line="18" selection-end-column="65" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/src/nsec.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="270">
          <caret line="18" column="0" lean-forward="false" selection-start-line="18" selection-start-column="0" selection-end-line="18" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/src/acl.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="2445">
          <caret line="163" column="29" lean-forward="false" selection-start-line="163" selection-start-column="29" selection-end-line="163" selection-end-column="29" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/src/roles.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="3675">
          <caret line="245" column="2" lean-forward="false" selection-start-line="245" selection-start-column="2" selection-end-line="245" selection-end-column="2" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/test/support.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="240">
          <caret line="16" column="35" lean-forward="false" selection-start-line="16" selection-start-column="35" selection-end-line="16" selection-end-column="35" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/common/models/sec-membership.js">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="195">
          <caret line="13" column="72" lean-forward="false" selection-start-line="13" selection-start-column="72" selection-end-line="13" selection-end-column="72" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/.travis.yml">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="150">
          <caret line="10" column="7" lean-forward="false" selection-start-line="10" selection-start-column="7" selection-end-line="10" selection-end-column="7" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/package.json">
      <provider selected="true" editor-type-id="text-editor">
        <state relative-caret-position="30">
          <caret line="2" column="19" lean-forward="false" selection-start-line="2" selection-start-column="19" selection-end-line="2" selection-end-column="19" />
          <folding>
            <marker date="1486275067000" expanded="true" signature="1668:1722" ph="{&quot;chai&quot;: &quot;^3.5.0&quot;...}" />
          </folding>
        </state>
      </provider>
    </entry>
  </component>
</project>