171. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 5/9/2017 12:03:00 PM Eastern Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.

171.1 Files compared

# Location File Last Modified
1 Tue May 9 16:03:00 2017 UTC
2 OSCIF_HEC_v1.4_Sprint23_build4_Apr_2017.zip\CRM_solutions\Managed\North52BPA_1_0_0_506_managed_2013_2015_2016..zip\WebResources north52_html_sourceentity48F947C7-0446-E111-8BA6-00155DF5B00D Mon Sep 19 18:20:18 2016 UTC

171.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 0 0
Changed 0 0
Inserted 1 596
Removed 0 0

171.3 Comparison options

Whitespace
Character case Differences in character case are significant
Line endings Differences in line endings (CR and LF characters) are ignored
CR/LF characters Not shown in the comparison detail

171.4 Active regular expressions

No regular expressions were active.

171.5 Comparison detail

        1   <html><hea d><title>N orth52 For mula Sourc e Entity</ title>
        2  
        3   <style typ e="text/cs s">
        4  
        5   html, body {
        6   margin: 0p x;
        7   padding: 0 px;
        8   background -color: tr ansparent;
        9   }
        10   </style>
        11  
        12   <script sr c="ClientG lobalConte xt.js.aspx "></script >
        13  
        14   <script ty pe="text/j avascript"  src="nort h52_/javas cript/jque ry"></scri pt>
        15  
        16   <script ty pe="text/j avascript"  src="nort h52_/javas cript/JSON 2"></scrip t>
        17  
        18   <script ty pe="text/j avascript"  src="nort h52_/Javas cript/sdk. metadata.j s"></scrip t>
        19  
        20   <script ty pe="text/j avascript"  src="nort h52_/javas cript/nort h52.htmlwe bresource. helper"></ script>
        21  
        22  
        23  
        24  
        25  
        26  
        27  
        28  
        29   <script id ="scriptIn it" type=" text/javas cript">
        30  
        31     $(docume nt).ready( function ( ) { Source Entity.Ini tialize();
        32        });
        33  
        34  
        35   if (!Array .prototype .indexOf)
        36   {
        37     Array.pr ototype.in dexOf = fu nction(elt  /*, from* /)
        38     {
        39       var le n = this.l ength;
        40  
        41       var fr om = Numbe r(argument s[1]) || 0 ;
        42       from =  (from < 0 )
        43            ?  Math.ceil (from)
        44            :  Math.floo r(from);
        45       if (fr om < 0)
        46         from  += len;
        47  
        48       for (;  from < le n; from++)
        49       {
        50         if ( from in th is &&
        51              this[from]  === elt)
        52           re turn from;
        53       }
        54       return  -1;
        55     };
        56   }
        57  
        58   var Source Entity = { }; 
        59  
        60   SourceEnti ty.Entitie s;
        61   SourceEnti ty.Initial Load = tru e;
        62   SourceEnti ty.CacheKe y = 'Entit yList52' +  parent.Xr m.Page.con text.getOr gUniqueNam e();
        63  
        64   SourceEnti ty.Disable = function () {  
        65      $("#sou rceentity" ).attr("di sabled", t rue);
        66   }
        67  
        68   SourceEnti ty.Initial ize = func tion() {  
        69  
        70     $('#load ing').show (); 
        71     $("#sour ceentity") .hide();
        72  
        73        if (( parent.Xrm .Page.ui.g etFormType () == 6) | | ( parent .Xrm.Page. data.entit y.attribut es.get("no rth52_form ulatype"). getValue()  == 217890 017) )
        74                return;
        75  
        76           if  (localSto rage&& loc alStorage. getItem(So urceEntity .CacheKey  ) != null)
        77            {
        78                 var dat a = JSON.p arse(local Storage.ge tItem(Sour ceEntity.C acheKey )) ;
        79                  Source Entity.suc cessRetrie veAllEntit iesCache(d ata);
        80              }   
        81              else
        82              {
        83                      SD K.Metadata .RetrieveA llEntities (SDK.Metad ata.Entity Filters.En tity, fals e, SourceE ntity.succ essRetriev eAllEntiti es,SourceE ntity.erro rRetrieveA llEntities );
        84               }  
        85                                   
        86   };
        87  
        88   SourceEnti ty.Sort =  function(a , b) {  
        89      
        90      if (a.i nnerHTML = = 'All Pro perties')  {
        91          ret urn -1;
        92     }
        93     else if  (b.innerHT ML == 'All  Propertie s') {
        94        retur n 1;
        95     }
        96  
        97     return ( a.innerHTM L > b.inne rHTML ) ?  1 : -1;
        98   };
        99  
        100  
        101   SourceEnti ty.GetEnti tyDisplayN ame= funct ion(entity logicalnam e, entityM etadataCol lection) {   
        102  
        103      var ent ityDisplay Name = "";
        104  
        105      for (va r i = 0; i  < entityM etadataCol lection.le ngth; i++)
        106      {
        107           va r splitArr ay = entit yMetadataC ollection[ i].split(' |');
        108           va r label =   splitArra y[0]; 
        109           va r logicaln ame =  spl itArray[1]
        110  
        111           if  (entitylo gicalname  == logical name )
        112                  entity DisplayNam e = label;
        113  
        114      }
        115  
        116   return ent ityDisplay Name;
        117   };
        118  
        119   SourceEnti ty.success RetrieveAl lEntitiesC ache = fun ction(enti tyMetadata Collection ) {  
        120  
        121     var curr entLogical Name = "";
        122     var curr entDisplay Name  = "" ;
        123  
        124     for (var  i = 0; i  < entityMe tadataColl ection.len gth; i++)
        125     {   
        126           va r splitArr ay = entit yMetadataC ollection[ i].split(' |');
        127           va r label =   splitArra y[0]; 
        128           va r logicaln ame =  spl itArray[1]
        129  
        130           N5 2.HTMLWebR esourceHel per.Insert OptionSetI tem("sourc eentity",  label,logi calname); 
        131     }
        132  
        133       $("#so urceentity  option"). sort(Sourc eEntity.So rt).append To("#sourc eentity");
        134      
        135       //if (  parent.Xr m.Page.dat a.entity.a ttributes. get("north 52_formula type").get Value() ==  217890016 )  N52.HTM LWebResour ceHelper.I nsertOptio nSetItem(" sourceenti ty", 'None  (global)' ,'none');
        136  
        137       savedE ntity = pa rent.Xrm.P age.getAtt ribute("no rth52_sour ceentityna me").getVa lue();
        138      
        139       if (sa vedEntity  !== null & & savedEnt ity !=="")  {  
        140                $("#sour ceentity") .val(saved Entity);
        141                 current LogicalNam e = savedE ntity;
        142                 current DisplayNam e  = Sourc eEntity.Ge tEntityDis playName(c urrentLogi calName, e ntityMetad ataCollect ion);
        143         }
        144         else
        145         {
        146            $ ("#sourcee ntity").va l('account ');
        147            c urrentLogi calName  =  'account'
        148            c urrentDisp layName  =  SourceEnt ity.GetEnt ityDisplay Name(curre ntLogicalN ame, entit yMetadataC ollection) ;
        149         }
        150  
        151       $('#lo ading').hi de(); 
        152       $('#so urceentity ').show();  
        153  
        154       Source Entity.Dro pDownChang ed(current LogicalNam e,currentD isplayName ,true );
        155  
        156  
        157   };
        158  
        159   SourceEnti ty.success RetrieveAl lEntities  = function (entityMet adataColle ction) {  
        160  
        161     var objC ache = new  Array();
        162     var curr entLogical Name = "";
        163     var curr entDisplay Name = "";
        164     SourceEn tity.Entit ies = enti tyMetadata Collection ;
        165  
        166     for (var  i = 0; i  < entityMe tadataColl ection.len gth; i++)
        167     {
        168       var en tity = ent ityMetadat aCollectio n[i];
        169       var lo gicalname  =  entity. LogicalNam e;
        170  
        171       var ar raytoexclu de = ["pri ncipalattr ibuteacces smap",
        172                                            "m etric",
        173   "rollupfie ld",
        174   "goalrollu pquery",
        175   "principal objectattr ibuteacces s",
        176   "applicati onfile",
        177   "dependenc y",
        178   "activityp ointer",
        179   "dependenc ynode",
        180   "invalidde pendency",
        181   "roletempl ate",
        182   "systemuse rlicenses" ,
        183   "lookupmap ping",
        184   "monthlyfi scalcalend ar",
        185   "businessu nitnewsart icle",
        186   "contractt emplate",
        187   "isvconfig ",
        188   "sdkmessag eprocessin gstepsecur econfig",
        189   "organizat ion",
        190   "workflowl og",
        191   "customerr elationshi p",
        192   "importmap ",
        193   "systemuse rroles",
        194   "north52_f ormuladeta il",
        195   "userquery ",
        196   "publisher ",
        197   "dataperfo rmance",
        198   "azureserv iceconnect ion",
        199   "customcon trol",
        200   "customcon troldefaul tconfig",
        201   "customcon trolresour ce",
        202   "userentit yuisetting s",
        203   "north52_t race",
        204   "uom",
        205   "tracelog" ,
        206   "traceasso ciation",
        207   "tracerega rding",
        208   "userappli cationmeta data",
        209   "msdyn_wal lsavedquer y",
        210   "teamtempl ate",
        211   "partnerap plication" ,
        212   "processst age",
        213   "processtr igger",
        214   "multienti tysearch",
        215   "mailbox",
        216   "postlike" ,
        217   "imagedesc riptor",
        218   "postfollo w",
        219   "exchanges yncidmappi ng",
        220   "emailserv erprofile" ,
        221   "businessp rocessflow instance",
        222   "authoriza tionserver ",
        223   "owner",
        224   "stringmap ",
        225   "salesproc essinstanc e",
        226   "msdyn_pos tconfig",
        227   "msdyn_pos truleconfi g",
        228   "notificat ion",
        229   "postregar ding",
        230   "postrole" ,
        231   "commitmen t",
        232   "replicati onbacklog" ,
        233   "msdyn_pos talbum",
        234   "campaigna ctivityite m",
        235   "campaigni tem",
        236   "complexco ntrol",
        237   "roletempl ateprivile ges",
        238   "mailmerge template",
        239   "north52_x cache",
        240   "timestamp datemappin g",
        241   "usermappi ng",
        242   "teamsynca ttributema ppingprofi les",
        243   "systemuse rmanagerma p",
        244   "syncattri butemappin gprofile",
        245   "syncattri buemapping ",
        246   "msdyn_wal lsavedquer yusersetti ngs",
        247   "mailboxtr ackingfold er",
        248   "north52_s chedule",
        249   "hierarchy rule",
        250   "syncattri butemappin g",
        251   "hierarchy ruleconfig uration",
        252   "hierarchy securityco nfiguratio n",
        253   "businessd atalocaliz edlabel",
        254   "principal syncattrib utemap",
        255   "rollupjob ",
        256   "rolluppro perties",
        257   "ribboncus tomization ",
        258   "teamprofi les",
        259   "import",
        260   "resourceg roupexpans ion",
        261   "workfloww aitsubscri ption",
        262   "serviceen dpoint",
        263   "subscript ionsyncinf o",
        264   "savedquer yvisualiza tion",
        265   "productsu bstitute",
        266   "recurrenc erule",
        267   "systemfor m",
        268   "connectio nroleassoc iation",
        269   "report",
        270   "teammembe rship",
        271   "discount" ,
        272   "solutionc omponent",
        273   "plugintyp estatistic ",
        274   "statusmap ",
        275   "documenti ndex",
        276   "attribute map",
        277   "sdkmessag epair",
        278   "emailsear ch",
        279   "userfisca lcalendar" ,
        280   "reportent ity",
        281   "timezoned efinition" ,
        282   "uomschedu le",
        283   "reportlin k",
        284   "subscript ionclients ",
        285   "subscript iontrackin gdeletedob ject",
        286   "columnmap ping",
        287   "ownermapp ing",
        288   "wizardpag e",
        289   "entitymap ",
        290   "unresolve daddress",
        291   "wizardacc essprivile ge",
        292   "bulkopera tion",
        293   "publisher address",
        294   "webresour ce",
        295   "businessu nit",
        296   "constrain tbasedgrou p",
        297   "transform ationmappi ng",
        298   "role",
        299   "connectio nroleobjec ttype",
        300   "bulkdelet eoperation ",
        301   "solution" ,
        302   "transform ationparam etermappin g",
        303   "sitemap",
        304   "recommend ationcache ",
        305   "recommend ationmodel version",
        306   "recommend ationmodel versionhis tory",
        307   "subscript ionstatist icsoffline ",
        308   "subscript ionstatist icsoutlook ",
        309   "subscript ionsyncent ryoffline" ,
        310   "subscript ionsyncent ryoutlook" ,
        311   "importfil e",
        312   "fieldperm ission",
        313   "bulkdelet efailure",
        314   "productas sociation" ,
        315   "connectio nrole",
        316   "competito rsaleslite rature",
        317   "north52_c onfigurati on",
        318   "timezonel ocalizedna me",
        319   "systemuse rprincipal s",
        320   "picklistm apping",
        321   "webwizard ",
        322   "principal objectacce ss",
        323   "reportcat egory",
        324   "bulkopera tionlog",
        325   "workflowd ependency" ,
        326   "sdkmessag erequest",
        327   "clientupd ate",
        328   "customero pportunity role",
        329   "resource" ,
        330   "principal entitymap" ,
        331   "sdkmessag erequestfi eld",
        332   "relations hiprolemap ",
        333   "north52_f ormulacalc ulation",
        334   "reportvis ibility",
        335   "north52_f ormula",
        336   "recurring appointmen tmaster",
        337   "importlog ",
        338   "sdkmessag e",
        339   "usersetti ngs",
        340   "relations hiprole",
        341   "duplicate record",
        342   "interproc esslock",
        343   "businessu nitmap",
        344   "timezoner ule",
        345   "sdkmessag efilter",
        346   "sdkmessag eprocessin gstepimage ",
        347   "calendarr ule",
        348   "sdkmessag eresponse" ,
        349   "importjob ",
        350   "resources pec",
        351   "site",
        352   "plugintyp e",
        353   "sdkmessag eprocessin gstep",
        354   "duplicate rulecondit ion",
        355   "teamroles ",
        356   "subscript ionmanuall ytrackedob ject",
        357   "duplicate rule",
        358   "sharepoin tsite",
        359   "audit",
        360   "semiannua lfiscalcal endar",
        361   "discountt ype",
        362   "userform" ,
        363   "privilege ",
        364   "importdat a",
        365   "organizat ionui",
        366   "pluginass embly",
        367   "resourceg roup",
        368   "asyncoper ation",
        369   "team",
        370   "integrati onstatus",
        371   "sdkmessag eresponsef ield",
        372   "fieldsecu rityprofil e",
        373   "savedquer y",
        374   "privilege objecttype codes",
        375   "displayst ringmap",
        376   "sharepoin tdocumentl ocation",
        377   "emailhash ",
        378   "fixedmont hlyfiscalc alendar",
        379   "displayst ring",
        380   "activityp arty",
        381   "roleprivi leges",
        382   "organizat ionstatist ic",
        383   "subscript ion",
        384   "systemuse rprofiles" ,
        385   "filtertem plate",
        386   "convertru le",
        387   "convertru leitem",
        388   "childinci dentcount" ,
        389   "dependenc yfeature",
        390   "entitleme nttemplate ",
        391   "entitleme nttemplate channel",
        392   "mailboxst atistics",
        393   "metadatad ifference" ,
        394   "queueitem count",
        395   "queuememb ercount",
        396   "routingru le",
        397   "routingru leitem",
        398   "socialins ightsconfi guration",
        399   "systemapp licationme tadata",
        400   "socialact ivity",
        401   "socialpro file",
        402   "kbarticle template",
        403   "internala ddress",
        404   "userentit yinstanced ata",
        405   "license",
        406   "userquery visualizat ion",
        407   "importent itymapping ",
        408   "productsa lesliterat ure",
        409   "annualfis calcalenda r",
        410   "systemuse rbusinessu nitentitym ap",
        411   "ribbontab tocommandm ap",
        412   "ribboncon textgroup" ,
        413   "ribboncom mand",
        414   "ribbonrul e",
        415   "ribbondif f",
        416   "competito r",
        417   "competito rsaleslite rature",
        418   "competito raddress",
        419   "competito rproduct",
        420   "connectio nroleassoc iation",
        421   "connectio nroleobjec ttypecode" ,
        422   "quarterly fiscalcale ndar",
        423   "workflow" ,
        424   "resource" ];
        425  
        426       var in dex = arra ytoexclude .indexOf(l ogicalname );
        427       var is businesspr ocessenabl ed = ''; 
        428       var pr imaryidatt ribute = e ntity.Prim aryIdAttri bute;
        429       if (en tity.IsBus inessProce ssEnabled  != null)     
        430              isbusiness processena bled = ent ity.IsBusi nessProces sEnabled;
        431     
        432          if  (index ==  -1)
        433          {
        434              if (entity .DisplayNa me.UserLoc alizedLabe l != null)     
        435              {
        436                 if (ent ity.Displa yName.User LocalizedL abel.Label  != null)
        437                  {
        438                       v ar label =  entity.Di splayName. UserLocali zedLabel.L abel;  
        439  
        440                       i f (current LogicalNam e == "") {  currentLo gicalName  = logicaln ame;}
        441                       i f (current DisplayNam e == "") {  currentDi splayName  = label;}
        442  
        443                         N52.HTMLWe bResourceH elper.Inse rtOptionSe tItem("sou rceentity" , label,lo gicalname) ;
        444                         objCache.p ush(label  + "|" + lo gicalname  + "|" + is businesspr ocessenabl ed + "|" +  primaryid attribute) ;
        445                      
        446                   }
        447                 }
        448               }
        449      }
        450      
        451  
        452        if (l ocalStorag e)
        453       {
        454  
        455          try
        456          {
        457            v ar stringE ntityList  = JSON.str ingify(obj Cache);
        458            l ocalStorag e.setItem( SourceEnti ty.CacheKe y , string EntityList );
        459         }
        460          cat ch(ex)
        461          {
        462              localStora ge.removeI tem(Source Entity.Cac heKey); 
        463           }
        464  
        465         }
        466  
        467  
        468  
        469       $("#so urceentity  option"). sort(Sourc eEntity.So rt).append To("#sourc eentity");
        470      
        471       savedE ntity = pa rent.Xrm.P age.getAtt ribute("no rth52_sour ceentityna me").getVa lue();
        472  
        473    
        474       if (sa vedEntity  !== null & & savedEnt ity !=="")  {  
        475                $("#sour ceentity") .val(saved Entity);
        476                 current LogicalNam e = savedE ntity;
        477                 current DisplayNam e  = Sourc eEntity.Ge tEntityDis playName(c urrentLogi calName, o bjCache);
        478         }
        479         else
        480         {
        481            $ ("#sourcee ntity").va l('account ');
        482            c urrentLogi calName  =  'account'
        483            c urrentDisp layName  =  SourceEnt ity.GetEnt ityDisplay Name(curre ntLogicalN ame, objCa che);
        484         }
        485  
        486       $('#lo ading').hi de(); 
        487       $('#so urceentity ').show();  
        488  
        489       Source Entity.Dro pDownChang ed(current LogicalNam e,currentD isplayName ,true );
        490    
        491   };
        492  
        493  
        494   SourceEnti ty.errorRe trieveAllE ntities =  function(e rror) {  
        495       alert( "North52 F ormula Man ager : " +  error.mes sage);
        496     }
        497  
        498   SourceEnti ty.DropDow nChanged=  function(v alue, disp lay, initi alLoad) {   
        499  
        500   try
        501   {
        502  
        503       if (va lue !== nu ll && valu e!=="" &&  value !==  'none') {   
        504          isR eset = fal se; 
        505          par ent.Xrm.Pa ge.data.en tity.attri butes.get( "north52_s ourceentit yname").se tValue(val ue);
        506          par ent.Xrm.Pa ge.data.en tity.attri butes.get( "north52_s ourceentit yname").fi reOnChange ();
        507  
        508          dis play = dis play.index Of('&') >  0 ? displa y.replace( '&', '^^^' ) : displa y;        
        509  
        510          if  (typeof in itialLoad  === 'undef ined')  in itialLoad  = false;
        511          if  (initialLo ad == fals e) {Source Entity.Res etValues() ;  isReset  = true;}      
        512  
        513          var  url = par ent.Xrm.Pa ge.ui.cont rols.get(' WebResourc e_html_met adata_sour ceproperty ').getSrc( );
        514          url  = url.ind exOf('?')  > 0 ? url. substring( 0, url.ind exOf('?'))  : url;
        515  
        516          var  command =  encodeURI Component( "parentRef erenceProp erty=north 52_sourcee ntityprope rty&allPro perties=tr ue&initial Load=" +in itialLoad  + "&random =" + Math. random());
        517          url  = url + " ?data=" +c ommand;
        518          par ent.Xrm.Pa ge.ui.cont rols.get(" WebResourc e_html_met adata_sour ceproperty ").setSrc( url);
        519          
        520          for mulaType =  parent.Xr m.Page.dat a.entity.a ttributes. get("north 52_formula type").get Value();
        521  
        522      
        523            / /save pare nt
        524            i f (  ( for mulaType   != 2178900 01999)  )
        525            {  
        526  
        527                         var url =  parent.Xrm .Page.ui.c ontrols.ge t('WebReso urce_html_ sourcerela tionship') .getSrc();
        528                         url = url. indexOf('? ') > 0 ? u rl.substri ng(0, url. indexOf('? ')) : url;
        529  
        530                         command =  encodeURIC omponent(" display="+ display +  "&value="  + value +  "&initialL oad=" + in itialLoad  + "&random =" + Math. random());
        531                         url = url  + "?data="  +command;
        532  
        533                         parent.Xrm .Page.ui.c ontrols.ge t('WebReso urce_html_ sourcerela tionship') .setSrc(ur l);
        534  
        535              }
        536  
        537           // save curre nt autonum ber
        538           if  ( formula Type  == 2 17890003 | | formulaT ype  == 21 7890005)
        539             
        540                          var url =  parent.Xr m.Page.ui. controls.g et('WebRes ource_html _targetent ity').getS rc();
        541                         url = url. indexOf('? ') > 0 ? u rl.substri ng(0, url. indexOf('? ')) : url;
        542  
        543                         command =  encodeURIC omponent(" type=inser t&display= "+display  + "&value= " + value  + "&isRese t=" + isRe set + "&ra ndom=" + M ath.random ());
        544                         url = url  + "?data="  +command;
        545  
        546                         parent.Xrm .Page.ui.c ontrols.ge t('WebReso urce_html_ targetenti ty').setSr c(url);
        547              }
        548  
        549        }
        550   }
        551   catch(ex)
        552   {
        553      alert(' North52 Fo rmula Mana ger: Commu nication i ssue, plea se click O k & then F 5 to refre sh the scr een. Messa ge: ' + ex .message);
        554   }
        555  
        556   } ; 
        557  
        558   SourceEnti ty.ResetVa lues = fun ction(valu e) {  
        559  
        560          par ent.Xrm.Pa ge.data.en tity.attri butes.get( "north52_s ourceentit yproperty" ).setValue ("");
        561          par ent.Xrm.Pa ge.data.en tity.attri butes.get( "north52_s ourcerelat ionship"). setValue(" ");
        562          par ent.Xrm.Pa ge.data.en tity.attri butes.get( "north52_t argetentit yname").se tValue("") ;
        563          par ent.Xrm.Pa ge.data.en tity.attri butes.get( "north52_t argetentit yproperty" ).setValue ("");
        564          par ent.Xrm.Pa ge.data.en tity.attri butes.get( "north52_s ourceentit ypropertyc lientside" ).setValue ("");
        565   } ; 
        566  
        567  
        568   </script>
        569  
        570   <style typ e="text\cs s">
        571   #loading {  
        572     width: 1 00%; 
        573     height:  100%; 
        574     top: 0px
        575     left: 0p x; 
        576     position : fixed; 
        577     display:  block; 
        578     opacity:  0.7; 
        579     backgrou nd-color:  #fff; 
        580     z-index:  99; 
        581     text-ali gn: center
        582  
        583    
        584   #loading-i mage { 
        585     position : absolute
        586     top: 100 px; 
        587     left: 24 0px; 
        588     z-index:  100; 
        589   }
        590  
        591  
        592  
        593   </style>
        594  
        595   <meta char set="utf-8 ">
        596   <meta><met a></head>< body style ="word-wra p: break-w ord;">&nbs p;</body>< /html>